Iterative Development SDLC AN OVERVIEW By Ahmad K
Iterative Development & SDLC AN OVERVIEW By Ahmad K. Shuja
IDLC, MAp, Waterfall & Iterative – Relationships Overview Iterative MAp Business Weak in Goals Mapping Business Analysis Goals with IT IDLC / i. SDLC System Analysis & Architecture Development SDLC Waterfall SDLC Programs / Projects required to meet business goals identified Software Solution delivered Solution Architecture completed Waterfall Business Goal (An Idea or Problem) Software Solution (Tangible Solution)
Goals Model Overview w Each program refines goals from its parent program Xxx xxx xx x xx xxx x x Xxx xx x x ISTFI Goals Xxx xx x x Legend Goal refinement within a program Goal refinement between programs Xxx xxx xx xxx x x ID&EM End-to-end Goals ER Goals Xxx xx x x PD Goals Xxx xx x x CAAS Goals Xxx xx x x
How the Blackbox and Whitebox relate Other System w Ports on blackbox become ports on whitebox Port_C Port_A Port_B w Note: This is a notional cartoon diagram ID&EM Blackbox Port_C ID&EM Whitebox Assembly Port_D Port_A Prov. / De-Prov. Port_E Port_C Port_B Port_F Entitlement Review Port_G Port_H CAAS Port_J
Program Management Q: How do we plan and manage large programs (multi-year) in IDLC, when they are targeted to retire existing systems? Enterprise Level Goal Associated Program to Meet that Goal Target State Current State Migration Plan Business Modeling of the Current State What is the problem that is preventing the enterprise to meet the goal stated above? What sub-goals, if realized, will enable the organization to transition from the current state to the desired state? What programs, sub-programs, and projects need to be undertaken to realize these sub-goals? Sub-Program Other Sub-Programs Core Identity SW Intensive Non-SW Project (IDLC) Projects such as SOA Infrastructure Iterative Development Lifecycle Business Modeling of the desired or target state. What state do we want to achieve where we enable the enterprise to realize the above stated goal?
Software Management Software-Intensive Project Goals Captured in “Project Charter” & “Software Development & Project Management Plan” Current State What is the current state of the software system (if one exists), upstream and downstream systems that this system needs to integrate with, and the environment where this system will operate? Target State Migration Plan What activities are required to be done to achieve this goal? What resources are required to carry out those activities? What target system and environment are required to ensure that project goals are accomplished?
IDLC, MAp, Waterfall & Iterative – Revisiting Iterative MAp Business Goals Analysis IDLC / i. SDLC System Analysis & Architecture Development SDLC Waterfall SDLC Programs / Projects required to meet business goals identified Software Solution delivered Solution Architecture completed Waterfall Business Goal (An Idea or Problem) Software Solution (Tangible Solution)
Development of IDLC Iterative Develop ment Framew ork “Rational Unified Process” Project Manage ment Best Practice s “PMI PMBOK” Architec ture Develop ment Framew ork “MAp” Iterative Development Lifecycle Software Development & Management Framework Experience
One Iteration Represents Single Iteration 2 to 8 weeks period Business Modeling Black Box Architecture Planning Project Management White Box Architecture Implementation Evaluation Test Deployment Each iteration results in an executable “Iteration Build”
Each Iteration Converges On Project Goal I 1 I 2 I 3 I 4 Business Modeling Black Box Architecture Planning Evaluation Project White Box Architecture White Box Architectur Management Project Goal Implementation Evaluation Test Deployment Test Implementation Test IB 1. 2 Deployment IB 1. 1 IB 1. 3 Deployment REL 1. 0
Changing Focus of IDLC Iterations Over Time Iteration 1 Iteration 2 Business Arch Black Box Arch White Box Arch Imp Deploy Time Iteration 3
Iterative Development & IDLC Definition Elaboration I 1 I 2 BA I 3 BA BB I T D D BB WB I T BA BB WB I T I 6 BA BB WB I I 5 BA BB WB Validation I 4 BA BB WB Creation WB I T D T D D ITERATIONS Time R 1 Po. C Frame the problem & Agree on the scope Understand the solution & Baseline Project Plan Product sufficiently mature for use
IDLC – From WBS To Iteration Plan 1 1 2 1 1 1 3 0 2 1 3 0 3. 2 4 3. 3 3 3 4 1 1 0 23 2 2 4 4 Signoff 3 3 2 2 3 Signoff 2 1 0 4 3 I 1 I 2 BA BA Initiation R 1 4 Signoff 2 I 3 I 4 BA BA BB D WB I T T BB WB I I 4 Signoff WB WB 3. 4 BB BB 0 2 4 Signoff 0 4 I T D D 2
What Is an Iteration? In an iteration, you walk through all disciplines Iteration: A distinct sequence of activities with a baselined plan and evaluation criteria resulting in a release (internal and external)
Definition Phase: Objectives § Establish the project’s software scope and boundary conditions, including an operational concept, acceptance criteria, and descriptions of what is and is not intended to be in the product. § Discriminate the critical use cases of the system, that is, the primary scenarios of behavior that will drive the system’s functionality and will shape the major design trade-offs. § Exhibit, and perhaps demonstrate, at least one candidate architecture against some of the primary scenarios. § Estimate the overall cost and schedule for the entire project and provide detailed estimates for the elaboration phase that will immediately follow. § Customize the process to meet project-specific needs. § Estimate risks (the sources of unpredictability).
Definition Phase: Evaluation Criteria § Stakeholder concurrence on scope definition and cost / schedule estimates § Agreement that the right set of requirements has been captured and that there is a shared understanding of these requirements. Such requirements understanding is achieved by the identification of the primary use cases § Agreement that the cost / schedule estimates, priorities, risks, and development process are appropriate § Development Case produced (What artifacts need to be produced and at what level of details in order to ensure success? ). Milestone accomplished: Lifecycle Objectives Milestone (LOM)
IDLC Rel 1. 0 – Definition Phase WBS Elements 1 1 1 1 I 1 I 2 I 3 I 4 BA BA BB BB BB WB WB WB I I D WB I T T BB I T D D
Definition Phase – Process Model
From Activity to Steps to Iteration Plan Template e p t la c re u t h ite e ss B u n si A rc m e T
Definition Phase – Iteration Plan Template
Iteration Plan Example w Shows goals of an iteration, artifacts produced and evaluation criteria. Iteration Schedule section for Business Modeling Definition Phase Outline of an Iteration Plan Definition Phase
Review – Underlying IDLC Principles Attack major risks early and continuously … or they will attack you Ensure alignment of product development with real business problems / goals Ensure that you deliver value to your customer through optimal visibility Stay focused on executable software Accommodate change early in the project Baseline an executable architecture early on Make quality a way of life, not an afterthought Ensure well-defined customer involvement
Evolution of SDLC Q: What is the learning curve for a technology team to learn iterative development and apply this effectively on a project? Initial Steps § Evolve existing SDLC into iterative methodology - i. SDLC § Set up the environment with right tools First Phase – Use i. SDLC methodology on a pilot project Second Phase – To maximize benefits and ensure greater success, refine & evolve i. SDLC to incorporate other industry best practices such as MDA / MAp, Goals Modeling, PMI PMBOK and others. Third Phase – Build i. SDLC Knowledge Center and integrate it with end-to-end portfolio management (from Problem Identification to Solution Rollout) for enhanced productivity.
Adding Iterations to Waterfall SDLC Q: How can we incorporate some of the benefits of IDLC in our plans without jeopardizing the key milestone(s) dates? i. SDLC Evolution I DEFINITION BRD, FRD, & L 1 Each Iteration must have: • Well Defined Goals • Sound Evaluation Criteria DESIGN TDD & L 3 CONSTRUCTION Dev Acc Plan, Rel Plan VALIDATION UAT I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8
SDLC Phases vs. IDLC Iterations Q: If a project already has 7 phases & an evolvable prototype is being developed as part of Phase I, how is different from IDLC Iterations? I 6 I 5 I 4 I 3 I 2 REQUIREMENTS BRD & FRD I 7 SDLC I 8 ANALYSIS & DESIGN TDD CONSTRUCTION Development Test & Release Plans VALIDATION User Acceptance Approval & UAT I 9 IMPLEMENTATION Release to Production I 1
Q: In iterative development, we would only develop a few components at a time. Having handful of components at a time, won’t let me retire the system until all components are available – in that case, the iterative development yields no benefits compared to SDLC. DEFINITION BRD, FRD, & L 1 DESIGN TDD & L 3 CONSTRUCTION Dev Acc Plan, Rel Plan VALIDATION UAT IMPLEMENTATION Production Handover DEFINITION R 1 BRD, FRD, & L 1 DESIGN TDD & L 3 CONSTRUCTION Dev Acc Plan, Rel Plan VALIDATION UAT Key benefits of Iterative Approach: • Optimal visibility to customer • Higher quality product? • Effective management of evolving requirements evolve IMPLEMENTATION Production Handover R 1
Goals Driven Development Definition Q: How do we ensure that the team does not indulge into doing throw away work when doing iterative development? How do we measure our productivity in IDLC compared to SLDC? Elaboration I 1 I 2 BA I 3 BA BB I T D D BB WB I T BA BB WB I T I 6 BA BB WB I I 5 BA BB WB Validation I 4 BA BB WB Creation WB I T D T D D ITERATIONS Time R 1 Po. C Frame the problem & Agree on the scope Understand the solution & Baseline Project Plan Product sufficiently mature for use
Q: How do we ensure that the team does not indulge into CTS Release I – A Roadmap View 04/29 DEFINITION 06/02 ELABORATION 06/30 doing throw away work when doing iterative development? How do we measure our productivity in IDLC compared to SLDC? 08/03 CREATION 09/06 09/30 VALIDATION Project Charter User-Interface Prototype CTS IB 1. 1 Based feedback, Refine on thecustomer User-Interface Understand the problem refine cases implemented based use on customer Establish CTS Project Goals Based on on customer in earlier builds. feedback. CTS Prototype feedback, refineuse usecases April 29 CTS IB 1. 2 implemented earlierbuilds. CTS IB 1. 2 Implement theinin following User-Interface Prototypes completed CTS IB 1. 3 Cases in parallel: Draft Reqs Architecture Specs. June ready 2 Implementthe thefollowing. Use Draft Design Specs ready Test & Deploy CTS IB 1. 1 Cases in in parallel: • “Track Company Info” Contacts”, User-Interface refined June 30 Reqs Arch Specs signed-off CTSBuild IB 1. 4 “Use. Case VII”, X” & Revenue August 3 Test & Deploy CTS IB 1. 2 • • • “Use “Record Company Opinions “Track Company Draft Design Specs ready Standards • Objects” • “Use. Case XI”&& Test &&Deploy Analyze Applicable Policies. CTS IB 1. 3 & Experiences” & VIII” • “Use Case IX” Investigate. Address Trainingapplicable Needs standards & policies Address CTS Prototype (Po. C) ready training needs • “Provide Search “Manage Email Company Docs” September 6 Capability” Test & Deploy CTS Build 1. 4 CTS Rel 1. 0
Successive Refinement w Each consecutive iteration should be marked by: § Growth of capability, as measured by the implementation of additional functionality during each iteration § Greater depth, as measured by a more complete implementation of the product § Greater stability, as measured by a reduction in the number of changes to the product
Typical Effort and Time Percentages by Phase Q: How does one go about staffing using the Iterative Model? How does it differ from the SDLC waterfall model? People Def Ela Cre Val Time Effort Time/Schedule Definition 5% 10% Elaboration 20% 30% Creation 65% 50% Validation 10%
Cost Estimate Refinements Error in Cost to Complete Estimate 4 X X/4 Over-estimated 0 Definition Elaboration Creation Under-estimated Validation
Iteration Length and Number of Iterations Q: How many iterations are standard for a project? w Length varies according to the objective. w Iteration length may vary by phase. w Typically, Elaboration iterations are longer than Construction iterations. w Within a phase, iterations are generally the same length. Total # of iterations 3 [I, D, E, C, V, P] Typical 7 [0, 1, 2, 2, 1, 1] High 11 [0, 1, 3, 3, 2, 2] Very High 13 [0, 2, 3, 3, 2, 3] Low [0, 0, 1, 1, 1, 0]
Conditions that Increase the Number of Iterations Initiation There are no iterations during the “Initiation” phase. This phase concludes with the creation of “Project Charter” which forms the foundation of a project. § § § Elaboration Working with new system environment (new architectural features) Untested architectural elements Need for system prototypes Validation Need for alphas and betas Conversions of customer base Incremental delivery to customers § § Definition Working with new functionality Unknown business environment Highly volatile scope Make-buy decisions Creation § Lots of code to write and verify § New technology or development tools Production § Number of enhancements required
Managing Iterative Dev Projects Q: What does IDLC do to the Project Management Disciplines? Is it the same as before or should PMs think in a different and new way? w You apply PM principles to each iteration in iterative development vs. once to the entire project in SDLC (PMBOK 2003 recommendation). w Accept evolving nature of requirements and manage them appropriately compared to signoff requirements document in SLDC. w Prepare to do multi-tasking as follows: § Monitor and Manage current iteration § Based on iteration performance and risk evaluation, plan for the next iteration keeping not only phase goals but overall project goals in mind § Adjust plans to ensure that key milestones are achieved as required.
Other Questions from GTPL Team w If Iteration 1 can be completed anywhere between 2 to 8 weeks, when to get a development hardware purchase from CTI (which takes from 8 to 12 weeks)? w What is the ideal size (in function points) for running one iteration (2 -8 weeks)? What is an ideal team size for an iteration? w For a large program like GTPL, a lot of time is spent upfront in defining requirements. Is the same done in IDLC under the MAp model prior to initiating Iteration 1? Are we really gaining time? Or is it being spent anyway under MAp? w How can we engage the CIBTech SDLC’s (Mariam Barack) team to get their buy-in to include this approach in Plan. View and SDLCW? w How do we handle the Change Management Process in iterative model? w What testing tools / practices need to be in place for iterative development?
Questions? For questions and inquiries, please contact: Ahmad K. Shuja Email: ahmad@alum. mit. edu Cell: 1 -917 -821 -8541
Appendix – Addition Information
Initiation Phase: Objectives § To state the business problem to be solved § To establish a well-researched project goal and have it approved by the Senior Management / Sponsor to dedicate organizational resources to it for further exploration § To prioritize and rationalize the project § To determine estimates of resources requirements § Optionally, to create Level 0 Estimates (-25% to +75%)
Initiation Phase: Evaluation Criteria § Project goal is well-established and overview of the project’s product (which will help the team realize the project goal) has been understood § Common understanding of the high-level project goal between the project team members has been achieved § Project has been rationalized and prioritized. § Project Charter has been completed, reviewed, and approved or rejected. Milestone accomplished: Goals & Prioritization Milestone (GPM)
Initiation Phase – Process Model e p t la em T r e rt a h oj r P e C t c
Elaboration Phase: Objectives § Define, validate, and baseline the architecture as rapidly as practical. § Demonstrate that the baseline architecture will support the goal for a reasonable cost in a reasonable time. § Establish concurrence among senior management and / or sponsor on the accuracy of cost / schedule estimates
Elaboration Phase: Evaluation Criteria § Software Development & Project Management Plan (SDPM) is baselined – Stable Product Scope, Level 3 Cost / Schedule Estimates (-5% to +10%), and baselined Project Plan § Iteration plans for Construction Phase are of sufficient detail and fidelity to allow work to proceed, and are supported by credible estimates. § Po. C concluded – Stable Architecture, key test and evaluation approaches are proven, and major risk elements have been addressed and resolved § All stakeholders agree that the current goal can be achieved if the current plan is executed to develop the complete system, in the context of the current architecture Milestone accomplished: Lifecycle Architecture (LCA)
IDLC Rel 1. 0 – Elaboration Phase WBS Elements 2 2 2 2 I 1 I 2 I 3 I 4 BA BA BB BB WB WB D WB I T T BB WB I I 2 BB I T D D
Elaboration Phase – Process Model
Elaboration Phase – Iteration Plan Template
Creation Phase: Objectives § Complete the software product for transition to production § Minimize development costs by optimizing resources and avoiding unnecessary scrap and rework. § Achieve adequate quality as rapidly as is practical. § Achieve useful versions (alpha, beta, or other appropriate test releases) as rapidly as practical.
Creation Phase: Evaluation Criteria § Product release stable and mature enough to be deployed in the user community § All stakeholders are ready for the transition into the user community. Milestone accomplished: Initial Operational Capability (IOC)
IDLC Rel 1. 0 – Creation Phase WBS Elements 3 3 3 3 3. 3 I 1 I 2 I 3 I 4 BA BA BB BB BB WB WB WB I I D WB I T T BB I T D D
Creation Phase – Process Model
Creation Phase – Iteration Plan Template
Validation Phase: Objectives § Achieve user self-supportability through training and knowledge sharing. § To transition any resources (human, documentation, or systems) required to successfully support the production system to the product owner § Achieve stakeholder concurrence that deployment baselines are complete and consistent with the evaluation criteria of the goal. § Achieve final product baseline as rapidly and cost- effectively as practical.
Validation Phase: Evaluation Criteria § User and / or Customer is satisfied with the product and is able to operate and support it § Product solves the problem stated in the charter and meets project goals Milestone accomplished: Initial Product Release (IPR)
IDLC Rel 1. 0 – Validation Phase WBS Elements 4 4 4 4 4 I 1 I 2 I 3 I 4 BA BA BB BB WB WB D WB I T T BB WB I I 4 BB I T D D
Validation Phase – Process Model
Validation Phase – Iteration Plan Template
Production Phase: Objectives § To gain formal acceptance of the product by the stakeholders (customer, business or technology owner). § To formally dis-engage EAD resources from the project completely § To ensure that any (if at all) gaps identified in the product during the transition or production phase have been satisfactorily met.
Production Phase: Evaluation Criteria § The product is completely handed over to the owner § Product owner is satisfied with the product and its transition § Product owner is now able to operate and support the product without EAD’s assistance § EAD team is no longer engaged. Milestone accomplished: Final Product Release (FPR)
- Slides: 57