Pages

Sunday, September 2, 2012

Software project management

A project vision is the direction of the project. It is the “Compass” that guides project team to move forward to the same direction. The vision must be communicated to team members at the beginning of the project to give the team a view about the project and how they must work together to achieve that vision.

Some project managers issue the vision to the team then move on to other activities. In that case, the team may lose sight of the vision because they are always busy with their own works. Good project managers will not letting anything distract them from the vision because if they become distracted, the project may not be successful as expected. Team members work best when they have all the information they need to do their tasks but they also need information about how their tasks fit into the vision of the project. Being able to put their tasks into a bigger context provides motivation and helps members make better decisions.

Some managers do not know how to plan projects or create vision. They do not even know how the project should be done so they do not want to share their plans with anyone. They feel insecure about their positions so they often hide behind “Busy works” and avoid talking with team members. When team member asks, they always find excuse that they are so busy and do not have time. The most used excuse is “Having to go to meetings with other managers” so attending meetings become their daily work. These managers do not trust their teams but consider them as “subordinates” rather than people who are capable of doing the work. When people lack a vision or information, they fill in the gaps with their own beliefs and sometime rumors. Rumor gives misinformation and often consumes a lot of time to correct it.

Project managers need to know about status or progress of the project so they can report to higher managers. Without a vision or project plan to monitor against, many rely on individual meetings where each member reports to them instead of team meetings. In this case, members only provide a fraction of the information a manager needs to know. Many important issues remain hidden in this status meeting. For example, team member may be reluctant to admit that they have problems, or facing difficulties, or talk about the information that a project manager needs to know. Without a clear picture of the project, these managers cannot make good decision. Sometime, they do not want to report bad status so they let things happen and when it is getting worst, they blame their own people.

A good project manager always monitors activities to ensure that every action is done to achieve the vision. He collects and evaluates data on schedule and budget to identify risks and respond to them quickly. He has weekly meeting with the team to share progress and keep everyone focus on their assigned tasks. He knows that software projects often have problems; team members always face obstacles such as dealing with changes; not having enough time for tasks etc. Therefore, he must eliminate any distractions to keep the team focus on what they do.

Good project manager does not work alone but always involve the team into project activities. At the beginning of the project, he brings the team together to discuss the objectives of the project. He asks team members for their opinions to get the best suggestions. By engage the team early; he creates a sense of teamwork that allows members to feel that their suggestions are important. When team members feel they are important, they work hard to achieve the vision which lead them to overcome obstacles and strives for success.

Some project managers consider themselves as “Bosses” and project management is about giving orders. This is a mistake. When they order team member to do something, they are not giving the person the opportunity to think about what to do or how to do it. In this case, team member is limited to do exactly as manager tell them to. They will develop habit of only wait for instruction and become reactive instead of active. They cannot analyze tasks or learn anything new and that is why many projects are late. They are late because team members are waiting for managers tell them what to do and without the direction, nothing will happen. A good manager does not give orders but instructions. Giving instructions is not telling somebody what to do, but telling them exactly what he wants to be done. In this case, team member must think on how to do it. Rather than mechanically just doing a task, team member will have to think about the process, the procedure and all the details on how to do it. In this case, they must learn to think and be more active in improving their skills. Good team members always think when they are given an instruction. They always identify different ways of doing the task and consider which way is better. When team members come up with their solution, they feel good. It encourages them to learn more and it improves their confidence in what they do. If something happen to their work, they will be confident to defend it themselves. Giving instructions is the best solution that works well for most software developers.
Prof John Vu     
Carnegie Mellon University
Original source:  http://www.segvn.org/forum/mvnforum/viewthread_thread,1414

0 comments:

Post a Comment