Software Project Management – A 21st Century Need

Software project management is a branch of project management dealing with all aspects of the development of software. As with any large project, planning is essential and scope creep is the enemy. To avoid the rampant growth and time/budget overruns that come with scope creep, every facet of the project must be carefully monitored and controlled. The first step in any software project should be the requirement analysis. This defines the project. Specifications are discussed, modified, and mutually agreed upon by all invested parties. Once the requirements are identified, risk assessment should begin. Risks should be identified, defined, and addressed. A risk contingency budget may be necessary to address potential issues. After this step is complete, the planning stage begins.Project planning identifies the scope of the project and allows the developer to provide an estimate including turnaround time and cost. Steps are outlined within the framework of a task-oriented time frame that allows for checkpoints to help the development team stay on task and provide the client with identifiable progress points or milestones. Once the project has begin, project monitoring is crucial. Since there may be many isolated teams working on parts of a large project, with all pieces interdependent, the project manager must know if all teams are on schedule and on task. A good software project manager should also have a plan for change management. As the software architecture evolves, weaknesses often become apparent and with that, the need for changes in the plan. These changes must be evaluated for their impact on the other aspects of the plan and modified to remain within the scope of the project. Problems in ongoing projects can come from project managers, software developers, customers, or a combination of all three. Communication problems often lead to delays resulting in scope increases. Inexperienced customers can find it difficult to describe what they expect the software to do, and as a result only realize the team is headed in the wrong direction after they see it in action; often well into the process. Project managers can assume they know what they’re doing and not clarify, and the same can happen to developers. Minor problems, if mismanaged, can result in an increases in scope creep, in turn leading to project cost overruns, missed deadlines, and sometimes the abandonment of the project. As a result, the customer can spend more than he budgeted for and in the end, once the overruns become too great, wind up with nothing to show for it. The job of the software project manager is to ensure that this will not happen, and to deliver a working project on time and on budget.