Table of Contents Previous Section Next Section

6.5 Project Management Basics

There are three project management phases in the execution of a software development project: planning, analysis, and implementation. The planning phase is associated with the development of the initial project plan and schedule. The analysis phase is focused on the initial development and understanding of the detailed user requirements and the development of high-level alternatives that describe how the requirements may be satisfied in various potential implementations. The implementation phase is concerned with the detailed design and development of a production system including testing and deployment.

Planning Phase

In the planning phase, the stakeholders decide the overall scope of the project. Ideally, the project scope is documented in a concept of operations document that outlines the business need of the project and the basic outline of what the stakeholders think the project should accomplish. After an initial description has been provided, the project manager must assess the project's feasibility. A project's feasibility depends on many variables, and typically the technical feasibility is less critical than variables such as the schedule and project resources. Also, more important than whether or not the project is feasible is a realistic assessment as to how it is feasible. This appraisal entails an understanding of organizational issues, including the lessons learned from similar efforts. Out of the planning phase, the project manager needs to create a project schedule detailing the project activities and work out a plan for acquiring the staff and resources required for project execution. The project information established during the project planning phase is continuously updated in various replanning sessions throughout project execution.

Analysis Phase

The focus of the analysis phase is information gathering, understanding, and documentation. Specifically, the software development team must work with the project stakeholders to understand fully the project requirements from their perspective and to ensure that they have the information to understand the alternatives to implementation. While final documentation of the requirements is essential, the key emphasis in this phase is listening and developing a shared understanding from all parties. As such, the introduction of prototypes and a high-level discussion of system alternatives will have more bearing on the project success than the completeness and correctness of a requirements document that may be understood beyond a cursory level by only one or two of several groups of stakeholders.

Implementation Phase

The implementation phase includes the design phase (i.e., the development of a detailed specification of the targeted implementation), the construction phase (i.e., the building of the software), the testing phase to validate that the software conforms to the specification, and the deployment phase (i.e., the transitioning of the software into the production environment for use by the end-user).

In the design phase, the software application, interfaces, and databases are described along with the configuration of the system's operating environment, if necessary. The design is created along the constraints in the selected alternative and selected system architecture. In this phase, the project manager ensures that adequate controls are in place to guarantee the timely delivery of the application according to the requirements, including intermediate prototypes to demonstrate success in handling identified risks, independent validation of software deliverables, and appropriate quality controls on the documentation. The construction phase is concerned with the actual coding of the software applications, software testing of completed components, and deployment issues such as end-user training and final delivery and acceptance testing.

Top Ten Reasons Why Projects Fail

  1. Requirements are unclear, and the goals and objectives are not clearly understood.

  2. Plans are either poorly developed or overly optimistic (e.g., plans encompass too much work in too little time).

  3. Financial estimates are unrealistic.

  4. Plans are based on insufficient data.

  5. Planning is performed by a separate proposal team.

  6. No one knows the major milestone dates.

  7. Project estimates are best guesses and are not based on any history or standards.

  8. Not enough time is given for proper estimating.

  9. No one confirms that there will be personnel available with the required skill sets.

  10. People are working on different versions of requirements or configurations.

  11. People are constantly shuffled in and out of the project with little regard for schedule.


    Table of Contents Previous Section Next Section