|Microsoft Office Project 2003
Microsoft Project 2000 and 2002
Note This article describes a Project template. You can download this template by clicking the link in the See Also list in this article.
The objective of this template is to identify and correlate the activities required for the project life cycle of the software development process. The template is designed to focus on the steps and processes required to successfully initiate a software development process. You can use the template as is, or modify it for recursive development.
The software development template defines the steps and dependencies you can use within a project to develop any software solution. The template can be scaled for a small simple product based solution to an enterprise development scenario. The template is based on a phased methodology, which uses phase-completion milestones (milestone: A reference point marking a major event in a project and used to monitor the project's progress. Any task with zero duration is automatically displayed as a milestone; you can also mark any other task of any duration as a milestone.) as a mechanism for reporting. You can customize the template by adding milestones as appropriate.
The template is organized into 10 key phases: scope, analysis/software requirements, design, development, testing, training, documentation, pilot, deployment and post-implementation review. Each phase contains associated activities and their respective dependencies. The activities are generic, and you may need to edit them to fit your particular environment or software development process.
The scope phase of a software development project clearly defines the objective of the project. It also clearly identifies project sponsorship and core ownership. A clearly defined scope is imperative to any software development process, and often the scope phase actually defines whether a project proceeds or is cancelled based on its the business value.
After you have defined the project scope and identified the project sponsor, you can continue with a more detailed yet still high-level analysis and requirements. This phase details the software specifications, defining a preliminary project budget and a high-level timeline. The conclusion of this phase ensures that those requesting the development and the team clearly understand the scope of the project and have obtained the necessary approvals to proceed to the design phase.
The design phase of the project template focuses on developing a detailed functional specification for software development. The functional specification is key to all product features and further development. The functional specification also finalizes the detailed scope of the project and must be supported by the project sponsor before development can proceed. A properly defined functional specification can make increases in scope more visible in a project. The specification also ensures that the sponsor maintains association with the project.
The development phase allows the programmers and project managers to begin the process of coding and preliminary testing of the associated code. Depending on the size and scope of a particular project many components can be broken into modular development and assigned to different programmers and programming groups. The development phase can be recursive or single-step, depending on your particular environment. After this phase, the code is released to product testers.
The testing phase provides for product testing both in units and in integration. After a test plan is designed, the code is tested on, a modular level and through integration to satisfy the requirement of the test plan. Any anomalies identified will be directed back to development for modification and subsequent retesting.
With any software development application the key to success is adequate training for all involved, including end users, the help desk and operations. This phase ensures that all aspects of training on the new software are properly accounted for, developed, and delivered.
The documentation phase ensures that all product-related documentation, the Help system, user manuals, and user documentation, is developed in accordance with the software application.. Any software development project must have the proper documentation available for use by all organizations.
During the pilot phase a subset of the effective user population receives the new software to determine final usability refinements and overall validation. This phase is a mirror of the overall larger deployment process and is used to validate all aspects of the software, its delivery, its functionality, and its support. Successful completion of the pilot phase will lead to full-scale deployment.
During the deployment phase, the product is released to production and distributed to you community. This phase uses the refinements identified in the pilot phase to ensure a successful transition to the new software.
This phase uses the feedback obtained from multiple sources during the deployment to effectively measure end user satisfaction and provide for lessons-learned. The review ensures that future projects benefit from any lessons learned.
The template is designed to provide for most software development methodologies including client server, multitiered, and RAD. Depending on the methodology you use, items (such as prototype) can be removed or greater detail (for example, Identify modular/tiered design parameters) can be embellished to provide greater detail.