Sunday, November 14, 2010

Communication - From developers point of view

Introduction:

  1. By definition communication means: "It is the process of passing information and understanding from one person to another. It is essentially a bridge of meaning between people. By using the bridge of meaning, a person can safely cross the river of misunderstanding that separates all the people."

    History of communication says that it comes from a Latin word: "communicare", which as three meaning imminent from it:

    1. "To make common", which is probably can be derived from 2 or 3.
    2. "Cum + munus", its like having a gift to share in mutual donation.
    3. Building together a defence.

    From the developer point of view (I hope reader is somewhere involved programming J ), communication is real important factor to improvise one's potentiality. A good leader has to be a good communicator. It's not so that communication skills means the way you talk, the way you present your idea to others. Communication skill involves many other areas. Like: Verbal communication, Non verbal communication, written communication, Gesture communication etc.

    All these are nuts & bolts for being a good communicator.

    Communication makes you perfect in demonstrating your ideas to front end people. Let's take few examples that give you glimpse why communication skill is so important for a developer/leader.

    1. Think what if you are a technical leader and your client has given you a task. You are supposed to present him technical feasibility report or say you wanted to explain him/her flow of your system. If you are not have a good command over your English, collections vocabulary, you are not used to prepare & utilize MS word, then?
    2. In number of different occasions, we as developer/leader need to talk with different users. These users may be end users of system, stack holders, clients who have given as project to work on. Different people have different emotions and different style of communication. In these cases, you need to communicate in a balanced view.
    3. When I was a fresher, digging into the word of programming. We were instructed that when any CRUD operation is performed, you need to show users a message that operation successfully completed. When in an application someone create a PO from their site, I say them "operation successfully completed." But what operation? J

    Well, there are many many many other points that can be put here in list, but in that case you may avoid to read my article. And I don't want to make that happen J.

    So let's take a took some important characteristics of a good communication.

    1. It's a two way process – It's quite understandable. In any communication system there are two parties involved. One is Transmitter another is receiver. Overall motto of communication is to delivery your message to other parties. It may be comprising of debate, discussion etc.
    2. It's continuous process
      Communication process continues to the extent that ideas and messages are communicated and received. Like for e.g. if we are at system analysis stage for any project. Continues discussion is very important. As a analyst, we have to be in contact with stack holder to understand their requirement. We have to identify end user who is going to use the software/application.
    3. It can be in formal way or informal way, though it may be in different medium.

    Elements of communication

    Why communication is so important for us?

    It is important because….

    1. Making enterprise run smoothly.
    2. Quick decision and implementation.
    3. Project planning & coordination.
    4. Maximizing productivity.
    5. Morale building/Motivation tool and developing your democratic leadership style.

    Properly recorded communication documents, system analysis docs., technical specification, ER diagrams, these are the documents that we generally prepare so that it make ease for any new comer in organization to get settle with his project. This makes organization to run smooth.

    Moreover, properly maintained documents allow you to make quick discussion in hurry.

    For proper co-ordination and maintenance, developer can utilize different project management tools. To name few here are some of them.

    1. www.mantisbt.org – MantisBT is a popular free web-based bug tracking system.
    2. Basecamp
    3. Central Desktop
    4. 5pm

    You can get more information for such tools from this article.

    http://tomuse.com/top-10-best-free-online-project-management-application-services/

    There are different kinds of communication methods. Like…

  • Verbal or oral communication
  • Written communication
  • Formal communication, informal communication

Developers are used to choose from these methods according to availability of resources and situation. Mostly verbal or written communication is widely popular among us. Formal communication has special delegation of authority, which means a project leader has given sufficient rights to make certain decision without asking to their superiors. Where in informal communication, there is no authority defined. It is conveyed by simple gesture, glance, smile, silence.

Effective communication

  1. While you are in presentation, instructing to group of developers, doing video conferencing with other peers on remote location, Clarity of Thoughts
    is really important.
  2. Something just can't be explained by words. You have to react with your body. It is important to attach importance to actions rather than words.
  3. Participation – as said earlier, it's a two way process which require involvement of all the parties. If you are not involved mentally in communication process, you are not going to perform your task well. Your presence is must. If your leader informed you about coding standard to be maintained, and if you don't remember those, you will in trouble.
  4. What to communicate? – Prepare the agenda that you need to talk about before you initiate. Collect all the required documents, technical specifications, proof reports, different analysis report before you talk with your superior or clients.
  5. When to communicate? – Mutually decide timing with your parties involved in. You can either initiate or let your parties to initiate and decide when to communicate. You can place meeting request in outlook, send them emails, take care of geographical difference in timing, ask for the availability and long will be the meeting etc.
  6. How to communicate? – Choose the medium that you want to communicate through. If discussion matter to be explained to a technical person, chat or peer to peer method can be best suited. If talking with non technical person, you have to represent your ideas to your parties in such a way that he can understand your thoughts. You may explain them using different diagrams, preparing documents and go through documents while you discuss, giving them references about what are trying to demonstrate him. There are no. of collaboration tools are there in market which you can use for this purpose. Like we have google wave, Webex, Skype voice chat, video conferencing through different tools etc.
  7. How often to communicate? – As I said that it's a continuous process. You can't make sure that having discussion for 5-6 hours, you will come out with your objective. It's an iterative process. You should try to divide your agenda into groups. Discuss them at different time interval. Make all agenda clear step by step. Try to identify issues relating to each other and communicate them as well.
  8. What is the objective of communication? – It is almost similar to identifying communication goal/agenda. But the objective of communication here is in the term of what is the outcome we are expecting to come from it. When project is running out of time, meeting by team leader is to motivate developers to encourage them to get it done at right time.
  9. Keep the channel alive
  10. Cordial superior – Once finished communication, it should be conveyed to your superior that what was the outcome? What where the agenda? What are clients new requirements? What do you suggest for different points to client? How was the response from client etc.
  11. Get the feedback – Generally when you dial in to customer care of your cellular provider, right after you finish your talk with them, you receive message regarding feedback for the person you talked with. This is the process of evaluation. It's not to make garbage employees collection. It's about gathering customer's response how they like customer care person to be behaved. So gathering those feedback we can evaluate and enhance process.

To make such effective communication, what should you do? Or what should you have? Here is answer for you.

  • Develop a positive attitude.
  • Bad feelings should not hamper discussion – Human is social animal. Different people have different mentality. All have different approach to grow and perform tasks. When we are working in organization, we work in a team. It is sometime obvious that different group member have conflict with other peers. When working as team, it is must that team show their team effort rather than individuals. So your bad feeling with others should not hinder communication.
  • Use logic to manage difficult situations
  • Develop Harmonious interpersonal relationships. It is secret of business relationship.

And for effective oral communication, you should have..

  • Understanding and use of appropriate language.
  • Organize and sequence of thoughts properly.
  • Vocabulary power.
  • Command over illustrations, examples.
  • Proper pronunciation.
  • Proper use of sound system/equipments.
  • Listening ability.
  • Effective telephonic talk.

And for written communication….

  • Command over the language.
  • Word power and spelling.
  • Correct grammar.
  • Proper structuring of the written message
  • Use of appropriate channels like courier, e-mail, etc.
  • Attention to hand writing, typing, printing.

And for non verbal communication….

  • Observation skills.
  • Awareness about the body movement.
  • Proper interpretation of the non-verbal message.

Well no system is perfect in the world. There is always barrier in everything we do. Effective communication itself has its own. It is said that 30% communication the word are failed to success due to loss in transmission. Inaccurate translation, false impression, fear, noise etc. are the elements as barrier of communication. Though I am not going to tell you all here J.

So here I would like to conclude my article, hope I covered all skills of written communication in my article J. I also hope that I am able to convey to my message.

So see you next time till then happy communication & happy programming…

Cheers..

 

No comments: