- Andrew Kos
- Bill Burlein
- Bryan Williams
- Christian Vozar
- Jeff Brown
- John Kraus
- Joseph Mak
- Josh Durbin
- Mark Daugherty
- Matt Van Bergen
- Melissa Geoffrion
- Michael Kang
- Michael Chan
- Michael Hodgdon
- Mike Motherway
- Molly McDaniel
- Nadia Maciulis
- Pat McLoughlin
- Paul Michelotti
- Puru Hemnani
- Rohit Srinath
- Ryan Lunka
- Tom Kelly
Staged Life Cycle Methodology
Saturday, April 25, 2009
It is important and necessary to follow a strategy and frame work during the implementation of a project in order to fulfill the client needs, to adhere the timelines, and to get a quality product.
There are different types of methodologies that can be followed during the implementation of a project according to the project type, needs, size and timelines of the project we need to select the appropriate methodology.
I want to discuss briefly about one of such methodologies, Staged Life Cycle methodology. The Staged Lifecycle is best suited for the development of new products or for executing large enhancements. This is also known as Incremental Delivery Model.
Staged Lifecycle is an Application Development methodology in which certain intermediate work products (incremental deliveries) will be delivered to the client before final delivery of the entire application. It supports product development or large enhancement projects when the requirements are not well understood and skeptic on stability of requirements.
When to choose Stage Life Cycle Methodology:
- When the requirements are not well understood and are not stable and complete
- When there is a need for continuous deliveries from customer side
- When architecture is implicitly defined to allow incremental design and implementation
Highlights of Staged Lifecycle:
- Delivers software in successive stages throughout the project
- Put useful functionality into hands of customer early
- Provides tangible signs of progress and results to the end-users early in the project
- Each stage culminates in a working code release, which results in good project visibility
- Easy to track a number of small releases
- Flaws in the design can be picked up in an early stages
- Allows for specification changes in the subsequent releases
Disadvantages of stage lifecycle methodology:
- Won’t work without careful planning
- Extra overheads towards multiple release
- Determining stage dependencies is difficult
Stages of Life Cycle Methodology:
Requirements Engineering Stage: The first and foremost stage of this methodology is requirements gathering. The Main objective of this stage is to gather and translate customer needs to system / software specifications and manage changes to the requirements. The basic input for this stage is the Proposal document or a Statement of work document. Base lined system requirements specifications, Req. phase checkpoint review, Requirements traceability matrix, change request log and Requirements Review checklist are the outputs from this particular stage. Peer review and customer review needs to be done at this stage for all the System requirement specification documents as this is going to be the base line for the complete project.
Prototyping Stage: This stage enables the developer to create a model of the software which can be demonstrated to the customer. This basically helps to define a refined prototype to be followed during the implementation of the project. This also allows the customer to validate the understanding of the requirements and to approve the requirements.
Design Stage: This design stage involves two sub stages. High level design and low level design. High level design stage makes us to arrive at a blueprint/design from which required system/software can be built that conforms to the base lined specification. By making the System requirement specification as the baseline and by enforcing the prototype, we can design the High level design document and get this document reviewed.
Low level design followed by the High level design stage makes us to arrive at a detailed design for the different components or modules, which constitute the product. In this stage the detailed design documents are made and technology management review is held.
Construct Stage: The main objective of this stage is to develop the software solution proposed for the specified requirements and design. In this stage by using the detailed design documents and by adhering to the coding methods and standards defined base lined code is developed and unit test plans, test cases, and test reports are designed. Peer review of the code and Peer review of unit test plan and test cases is held at this stage.
Testing stage: Testing stage is to ensure that comprehensive testing is planned and performed with the aim of verifying / validating the system / software against the requirements. Integration Testing, System Testing and Acceptance Testing are the main testing stages of a project. In this stage Base lined Test ware comprising of Test Plan
Test cases / script / data, Test Design and Report, Test Defect Log Source code/build with defects fixed and tested are created and delivered. Review of test plan, test cases, and test scripts are held. This is an important stage of project life cycle as to take Go/No Go decision.
Release Stage: This is the final phase of the Stage life cycle methodology and here we ensure that the product/deliverable being delivered is fit for its purpose for which it is developed, and meets all contractual obligations. Release Plan, Audit reports, test reports are the important deliverables and a mail communication needs to be to the customer at his stage.
Rohit is a Microsoft Certified Solution Developer (MCSD.Net) with more than 10 years of experience. He has expertise in...
- Descriptive JMX Beans in AEM/CQ
- Invisible requirements within Business requirements
- Building a better Options Predicate
- Extensionless URLs with Adobe Experience Manager
- The Life of a Tester in Adobe CQ World!
- Limitations of the CQ Parsys Model and the Implementation of a Nested Paragraph System
- Using Apache FOP to generate a PDF document based on a form submission data
- Configuring SAML in AEM 5.6