Effective Developer/Management Communication

by Katherine Cook 4 Comments

phone_20090615

I have been thinking a lot lately about communication between developers and management. This seems to have always been a major problem at my current workplace, way before I got here. Heck, it was an issue at my last job too. It seems to be a vicious pattern that permeates the industry. Why is that? Effective communication between these two groups is essential to any progress for the company/organization. It isn’t just one side or the other, either. I have seen both developers and management being the instigators of the communication problems. Both sides need to put forth the necessary effort to ensure that open and effective communication occurs during all stages of a project.

Some Experiences

At a previous job, there was some communication between the developers and the management- but I would not consider it effective. The management, in general, would pretend to listen to the developers, and then never address the issues presented to them. If there was any effort toward achieving these changes, it was usually in writing only. This eventually would just lead to terrible morale for every developer that would join on at the company, that would pervade their attitudes until they left. At a certain point, the developers would lose all motivation to innovate or improve- dismissing it as a pointless gesture with the current system in place. This situation completely kills the ability for the company to really grow and improve. Not only is the management unwilling to make the changes that would allow for improvement, but the developers themselves would never even bother to make the suggestions that would encourage it.

Another developer I worked with had so many problems communicating with management that very few of his objectives ever were seen through to completion. The only way he ever seemed to make any progress with his plans was to work on them, almost in secret, and then implement the changes without any warning. Sometimes such actions would lead to necessary programs being completely inaccessible for days, weeks, or even months. This would, of course, always throw the management for a loop. Then, he would be shocked when they were upset at the drastic changes that he saw as major progress. These changes may have been helpful, even necessary; but, without prior warning, management never saw them as welcomed changes/improvements- which left him feeling unappreciated. In this way, neither side was ever satisfied with the progress of the project.

The Root of the Problem

Without the proper communication from either side, the growth of both projects was greatly hindered. Knowing this, why do both sides not spend more effort toward bridging this gap? Seemingly, there is an “us vs. them” mentality that further creates these communication gaps.

Why would managers appear indifferent to their developers? A manager’s job, in general, is to create some sort of business stability. New ideas mean recreating procedures- which, at least initially, creates instability. Initially, it’s easier to stick with the ways that currently work, however inefficiently. Also, they may have other issues that may appear more important and more deserving of their attention at the time, than changing a currently working system that may or may not end up being improved by a suggestion. Also, there may be some underlying problem with the new idea being implemented that the developer may not have considered or had the knowledge to realize. Managers usually deal more with the “bigger picture” than the developers, and may not think that the developer has the knowledge to be able to properly see the direction of the project. (At least, these are my guesses at their reasons- assuming they aren’t just trying to be unreasonable :-P , never having been a manager myself.)

Why do we, as developers, create these communication problems? Sometimes, from my experience, this seems to stem from frustration with the management and not being able to effectively communicate exactly what we are trying to accomplish. Our explanations tend to be awash with technical terms and implementation details that the management either doesn’t understand or doesn’t care to. And why should they? That’s what we are paid to do for them.

Ways to Improve

Managers, you have a responsibility to your developers. Listen to their ideas. If they are good at and knowledgeable of their job- which, since you hired them, I would hope that they are- then they probably have some useful ideas for your company or project. In general, they have your company’s best interest at heart. They want your company to succeed and grow. So, since you have the same ultimate objectives, try to work with them and facilitate the changes they suggest. Obviously, not all of them will be feasible, but work to implement the ones that are and explain the reason for the ones that are not. Seeing that their suggestions are appreciated, considered, and acted upon will keep your developers satisfied with their involvement in the company. In fact, they will probably try harder to create a superior quality of work and make your company better as a result.

Developers, we have a responsibility to our managers and coworkers. We should explain our ideas in only the terms necessary for their understanding of the issue. Attempting to simplify our ideas with fewer implementation details will enable our management to concentrate on the actual issue on which we need their input and approval. Also, we should try to communicate with the management as often as possible on the progress we are making on any given project. Suddenly changing a system without any warning is definitely a no-no. We should try to make any transitions as smooth as possible, not radical shifts that leave our coworkers and managers without the tools that they need to do their jobs. Pushing our agendas should not come at the expense of our coworkers being unable to complete their jobs effectively. This will eventually result in distrust in your ideas and limits on your ability to even go through proper channels– no matter that your intentions were for the good of the project.

Summer

by Katherine Cook 1 Comment

So… I obviously have been a bit busy during the school year. I have several projects that I am working on for the summer, this blog included. This post is basically just a little overview of some of the projects I have planned.

Flashcard Application for Google Android

My friend and I are in the process of coding a flashcard application for the Google Android marketplace. This is not our only planned application; it is just an attempt to get our feet wet in the Android operating system. We have several other applications planned. So far, we have the program planned out, and a rudimentary working program. At the moment, there is only one stack and it has very limited features, but we are working on adding to it. I will give updates on this project as they arise.

Wi$eUp

I am the web developer for the website Wi$eUp Women, run by Texas Agrilife Extension. I perform the website maintenance, php programming, and database administration for the organization. Obviously, this place needs some work. I am in the process of redesigning the layout of the website, as well as some code cleanup on the internal programs that the organization uses. Along with the redesign of the website, I am attempting to convince the organization to allow me to add new features to the website that will provide more interaction with the users and create more resources for the users/allow easier access to the current resources. Basically, it is going to be a complete overhaul that brings this website and organization into the present.

This Blog

Well, there is no denying that I have sorely neglected this blog since I set it up. However, over the summer I plan on rectifying this injustice. I have most of the design for the blog done, I just need to code and implement it. That will happen very soon. Now that summer is finally here, I might at last have the time to write all the posts that I have been thinking up for the past several months.

Well, that is all for now. I will be posting more about these projects as they develop.

With these, a few other possible side projects, and summer school on my plate, the summer will be anything but uneventful. I shall try to keep my motivation and morale up- which seems to become increasingly hard as the semester heats up. I will post again soon- with something more interesting than a project overview. I promise. :-)

Introduction

by Katherine Cook No Comments

Hey, I am Katherine, a web programmer from College Station, Texas. I am a college student at Texas A&M University majoring in Telecommunication Media Studies with a minor in Computer Science.

As of right now, I will be using this as a platform for recording my progress on my many planned projects intended to improve my web design and programming abilities. One of my ongoing projects will be to create a portfolio to exhibit my web programming abilities. (This blog.) I may also record any issues/problems/new techniques that I discover during my personal projects, my web development work at my job, and my programming class projects.

In addition, I plan on extending my php knowledge over the course of this year while attempting to erect and maintain my new portfolio/website. One other such project that I will be working on to the same end is a possible website to promote my father’s e-book/blog.

This blog will contain updates on my progress in all of these areas as well as my opinions and thoughts on different technologies and applications I find while experimenting. Enjoy!