460.0 Other Project Lifecycles
All projects have some type of project management process and some type of project lifecycle process. In many cases, the process is easily observable. In other cases, the processes are all informal and ad-hoc. Informal, ad-hoc processes are fine for small projects that you can manage in your head, but as projects become larger, they get harder and harder to execute and manage in your head. It then becomes more and more important to have a formal project lifecycle model that you can execute.
The basic content of the LifecycleStep process focuses on the traditional waterfall projects. Given the basic characteristics of waterfall, this model can probably be utilized on almost every project. Of course, it may not be the most efficient and effective.
Other methodologies may be better for projects with certain characteristics. Iterative and Agile projects for instance, may be better for certain types of online IT business application projects. However, you could not use the Iterative model for a project to implement a new marketing campaign.
This portion of LifecycleStep will highlight many of the common lifecycle models that can be used based on the characteristics of your project.
The remainder of the section describes many additional project lifecycle models. Many of these models also have sample schedules in the schedule library.
461.0 Waterfall . This is the default lifecycle for all projects, unless it is determined that another of the specialty models is more appropriate. This model includes upfront analysis, then the sequential design, construct, test and implementation processes.
462.0 Iterative Development . This is a specific model for custom software development. The project must be somewhat complicated in that it will take multiple cycles to completely develop the application. If the application seems simple and the requirements seem relatively straightforward, the Waterfall model may be better.
463.0 Agile / "Light" Models . Agile development is not really a methodology as much as it is a philosophy for managing and executing software development projects. Agile is based on an Iterative approach, but it takes this model to a number of extremes.
464.0 Enhancements . This model is used when you are modifying an existing solution. It assumes that many of the design decisions are already made since the new work needs to integrate into a solution that already exists. If the enhancement is very large, it is possible that the iterative development model could be used. Otherwise, enhancements are typically done with a Waterfall model.
465.0 Package Selection and Implementation . This model is specifically used if your project requires you to evaluate packages or vendors. There are times when a package or vendor selection is a part of a larger project. In that case the package / vendor selection activities would be added to another schedule model.
466.0 Customer Relationship Management (CRM) . This section describes the approach to take when executing a customer relationship management implementation project.
467.0 Software Releases . This model is used when you are batching together a number of changes into one release package. This is usually the case when you have a number of enhancements. The Release model allows you to select a specific set of enhancements to implement, work on all of them at once, and then implement the entire set of enhancements all at once. See 496.3 schedule Library for a Software Release schedule.
468.0 Research and Development . This model is used when you are performing research on some type of solution. The analysis consists of determining your requirements and seeing how you can satisfy the requirements. The project may end after the research is completed or else you can proceed to a development phase. The development phase is used to create a short-term solution that simply determines if the solution is viable. The activities are streamlined since the solution will be thrown away after the final proposal is made. See 496.3 schedule Library for a Research and Development schedule.
Reuse, Reuse, Reuse
Reuse is important in all organizations, especially in IT development. It is much better to find and reuse a component that has already been developed, rather than have to build the same component from scratch. However, significant reuse does not happen by chance. It needs to be planned. See 480.0 Establishing a Reuse Environment for more information.
[Previous - 459.0 Terminate the Project] [Next - 461.0 Waterfall Lifecycle ] Product info: project management, project lifecycle, analysis phase, , design phase, lifecycle design, construct phase, test phase, implementation phase, project lifecycle consulting, project lifecycle methodology, Agile