Phase 1- Project Initiation (Inception): This is the first phase of the life cycle where the initial scope of the entire project is identified. Based on the initial requirements analysis, we propose the potential architecture to the client, come with an agreement and obtain the initial funding for the project. Phase 2- Technical Design (Elaboration): The second phase of the life cycle consists of proving the potential architecture of the system. We do this by making the technical design - both High Level Design and Low Level Design. HLD will focus on laying the overall architecture and framework for the project. It results in Project Decomposition into modules/functions/entities/classes etc. LLD incorporates the pseudo code and definition of all technical interfaces of the project. Phase 3- Construction: The third phase consists of construction phase where we build working software on a regular, incremental basis. Hence, construction phase consists of series of development releases. Development releases are small releases and have the potential of being released on the production server. However, they have not undergone pre-production steps like testing and deployment. Phase 4- Transition: This last phase includes validation for quality assurance and deployment to the production server. It differs from the transition phase of RUP as instead of releasing the entire product in one release, the product is released in versions. The first production release is greater in time than others. The entire life cycle of AUP is repeated for every production release with few modifications. After every production release, the business requirements for the project are modified. Any new change requirements, after prioritizing, are added in the stack. The stack may be reprioritized. Changes, if needed are made in the technical designs. Then, the construction and the transition phases follow, where every iteration implements those number of tasks that can be implemented in the current iteration. |