Qualify for project manager
I received an email inquiring about what I wrote on the skill of Software Project Manager. The person wrote “How technical does a Project Manager have to be? I just graduated in Computer Science and completed a class on Project Management. Am I qualified to work as software project manager? If not why?
My answer: I do not “qualify” people for their job, that is the job of whoever want to hire you. In my opinion, a degree in Computer Science only means that you have some technical backgrounds but without any work experience, it may not be a good idea to start your first job as software project manager. The issue is NOT about getting the manager job but HOW GOOD you CAN DO the job.
A software project manager must know how to plan the project, estimate the efforts and the time needed to complete the project. This skill requires a lot of practices and many years of experiences. A project manager must understand requirements elicitation and analysis techniques, this skill also requires a lot of practices and experiences. Even if your team is gathering requirements with customers, you must know how well they do that and how thorough they are in prioritize them. As the project manager, you needs to understand the technical solution that your team will employ to solve problems. If you don't know the technical very well, how do you know that it can solve the problem? How can you know when the problem is solved? As the project manager, you must be familiar with the system architecture that your team is working on, if you don't know the architecture well, you can't understand the technical risks. Without knowing the risks, you can not prevent them from happening. Project management is risk management, if you can not mitigate the risk, you can not manage the project well. As the project manager, you must have knowledge of the design, but without understanding the architecture, you don't even know what questions to ask about the design. Without thoroughly review the design, you do not know whether your team has done a good job in solving the problem or not. So everything may end up in coding, since you have a Computer Science degree, you know something about coding but if the architect and design are not very good, do you think coding can solve the problem?
Basically, a good software project manager must understand how the team gather and rank requirements; how to ask if the design is done; how to evaluate technical risks as well as schedule risks; how to set up a configuration management system to manage changes; how to effectively measure process quality, product quality; how to monitor and tracking progress. The project manager must know how to conduct reviews to ensure the quality of the project. There are many technical issues in every software project which require a strong technical skills and experiences to manage them. In addition, you must demonstrate your skills to the project team. They are looking for you to give them direction, to lead them and help them to accomplish their works accordingly. As their leader, you should be able to organize all activities of the project so that they can happen seamlessly.
As a recently graduates, why do you need to hurry? You have a lot of time to learn and you need to let time helps you to build your skills and knowledge. I rather see that you become the “Best” software project manager five years from now than become a “Pathetic” project manager today.
- Blogs of Prof. John Vu, Carnegie Mellon University