A comprehensive 10-phase Software Release Lifecycle that provides a practically turn-key methodology for software-heavy development environments. This collection includes release manager and team member job descriptions, an overview of the entire process, and over 70 one-page deliverable guidelines for the key activities in every phase of the SRLC.
What this is
The general Software Review Lifecycle (SRLC) here is described as a 10-phase gate project life cycle. This would probably be the maximum number of phases, with gate boundaries, deliverables and milestones, and exit criteria. The 10 phases described here are by no means set in stone; they can be adapted for your company's needs. They simply relate to logical transition gates between separate major activities in the release. Over 70 deliverables are defined in the phase documents, which cover these activities:
Phase 1: Preliminary Requirements Gathering - gather information and kick-off
Phase 2: Scope Definition - begin defining the overall purpose of the upcoming release
Phase 3: Negotiation and Planning - decide projects, products and system features to include
Phase 4: Release Plan Refinement - release and test planing, high-level architectural plans
Phase 5: Development Tracking - monitor, control, update, and communicate
Phase 6: Integration - planned, formal method of "putting it all together"
Phase 7: System Testing - documents, reports and activities during test series
Phase 8: Internal Verification (Alpha) - iterative testing and defect correction
Phase 9: External Verification (Beta) - final review and testing, prepare for manufacturing
Phase 10: Distribution - move to control systems, produce masters, and close out
Why it's useful
Conceptually, a software release is just a very large project or program, composed of multiple product development, system level work, maintenance or support projects "umbrella-ed" underneath the larger software release. Many of the phases and activities of a "release program" are identical in concept for both the release level work and the individual projects (e.g. planning, tracking, design reviews, testing), but work at the release level is larger in scope than the corresponding piece for each individual development project and must take into account all the links between the proojects. As a result, such software releases can be complex undertakings:
Whew. It's a big job that requires important business decisions, coordinated planning, multi-sub-team tracking, critical code integration, multi-phase testing, and much more. Using a Software Release Lifcycle to form and manage an "umbrella super-program" encompassing all the interdependent projects can help you accomplish it all without getting mired in management red tape.
How to use it
This Software Release Lifecycle described here is targeted for integrating medium-level scope or complexity projects. It is deliberately generalized for wider application. If there are projects involving new or unknown technology, more than a couple of highly complex projects, or an excessively large number of projects, review the lifecycle and modify it appropriately for your specific environment and needs. Likewise, if there are a number of small or straightforward software projects, you may wish to combine and/or condense release phases. All of the main phases are listed separately here, with the philosophy that condensing phases from a general model is easier than expanding them.
Once you've decided the gate phases appropriate for your project effort, review the deliverables suggested in the included documents. (Checklists are included for each phase). Adjust deliverables for your particular organization, project type, or company, then incorporate them in to your project activities. See the included Software Release Life Cycle Team Member Glossary if you have questions about the roles listed for a deliverable. Additionally, the Software Release Manager Job Description will help you select an appropriate manager—or ensure that you've assumed or assigned all of the required duties if you've been elected to the position. A sample Project® work breakdown structure is included as well.
Pete contributed this series of software release life cycle overview documents and templates from his hard-won experience putting together software release methods in a growing software company. Even as the company grew a sound process for developing each hardware/software project, they found they needed an overlay to help with planning of their overall releases -- which often brought together 10-20 individual (and complex in themselves) software and platform projects, as well as numerous feature enhancements, to enable them to make the necessary releases to the market.
©Copyright 2000-2013 Emprend, Inc. All Rights Reserved.
About us Site Map View current sponsorship opportunities (PDF)
Contact us for more information or e-mail firstname.lastname@example.org