Presentation on theme: "Iterative Development & SDLC AN OVERVIEW By Ahmad K. Shuja."— Presentation transcript:
Iterative Development & SDLC AN OVERVIEW By Ahmad K. Shuja
IDLC, MAp, Waterfall & Iterative – Relationships Overview Business Goal (An Idea or Problem) Software Solution (Tangible Solution) MAp IDLC / iSDLC Waterfall Iterative Waterfall SDLC Business Goals Analysis Programs / Projects required to meet business goals identified Solution Architecture completed Weak in Mapping Business Goals with IT Software Solution delivered SDLC System Analysis & Architecture Development
Goals Model Overview Each program refines goals from its parent program ID&EM End-to-end Goals ER GoalsPD GoalsCAAS Goals ISTFI Goals Legend Goal Goal refinement within a program Goal refinement between programs Xxx xxx xx x xx xxx x x
How the Blackbox and Whitebox relate Ports on blackbox become ports on whitebox Note: This is a notional cartoon diagram ID&EM Blackbox Port_A Port_B Port_C ID&EM Whitebox Assembly Port_A Port_B Port_C Prov. / De-Prov. Port_D Port_E CAAS Port_H Port_J Entitlement Review Port_F Port_G Other System Port_C
Program Management Enterprise Level Goal Associated Program to Meet that Goal Current State Business Modeling of the Current State What is the problem that is preventing the enterprise to meet the goal stated above? Target State 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? Migration Plan 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? Projects such as SOA Infrastructure Sub-Program Core Identity SW Intensive Project ( IDLC ) Non-SW Project Other Sub-Programs Project Iterative Development Lifecycle Q: How do we plan and manage large programs (multi-year) in IDLC, when they are targeted to retire existing systems?
Software Management Software-Intensive Project 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 What target system and environment are required to ensure that project goals are accomplished? Migration Plan What activities are required to be done to achieve this goal? What resources are required to carry out those activities?
IDLC, MAp, Waterfall & Iterative – Revisiting Business Goal (An Idea or Problem) Software Solution (Tangible Solution) MAp IDLC / iSDLC Waterfall Iterative Waterfall SDLC Business Goals Analysis Programs / Projects required to meet business goals identified Solution Architecture completed Software Solution delivered SDLC System Analysis & Architecture Development
Development of IDLC Iterative Development Lifecycle Software Development & Management Framework Iterative Development Framework “Rational Unified Process” Project Management Best Practices “PMI PMBOK” Architecture Development Framework “MAp” Experience
One Iteration Project Management Each iteration results in an executable “Iteration Build” White Box Architecture Implementation Evaluation Planning Deployment Test Business Modeling Black Box Architecture Represents Single Iteration 2 to 8 weeks period
Each Iteration Converges On Project Goal Project Management Implementation Evaluation Planning Deployment Test Business Modeling Black Box Architecture IB 1.1 White Box Architecture Project Management Implementation Evaluation Planning Deployment Test Business Modeling Black Box Architecture IB 1.2 White Box Architecture Project Management Implementation Evaluation Planning Deployment Test Business Modeling Black Box Architecture IB 1.3 White Box Architecture Project Management Implementation Evaluation Planning Deployment Test Business Modeling Black Box Architecture REL 1.0 White Box Architecture I1 I2I3 I4 Project Goal
Changing Focus of IDLC Iterations Over Time Time Business Arch Business Arch Black Box Arch Black Box Arch White Box Arch White Box Arch Imp Deploy Iteration 1 Iteration 2 Iteration 3
Iterative Development & IDLC I1 I WB BB BA T D I2 I WB BB BA T D I3 I WB BB BA T D I4 I WB BB BA T D I5 I WB BB BA T D I6 I WB BB BA T D Time R1 PoC Understand the solution & Baseline Project Plan DefinitionElaborationCreation Validation I T E R A T I O N S Frame the problem & Agree on the scope Product sufficiently mature for use
Initiation IDLC – From WBS To Iteration Plan I1 I WB BB BA T D I2 I WB BB BA T D I3 I WB BB BA T D 3 I4 I WB BB BA T D Signoff R1
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 I1 I WB BB BA T D I2 I WB BB BA T D I3 I WB BB BA T D I4 I WB BB BA T D
Definition Phase – Process Model
From Activity to Steps to Iteration Plan Template Business Architecture Template
Definition Phase – Iteration Plan Template
Iteration Plan Example Shows goals of an iteration, artifacts produced and evaluation criteria. Outline of an Iteration Plan Iteration Schedule section for Business Modeling Definition Phase
Review – Underlying IDLC Principles 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 Attack major risks early and continuously … or they will attack you
Evolution of SDLC Initial Steps Evolve existing SDLC into iterative methodology - iSDLC Set up the environment with right tools First Phase – Use iSDLC methodology on a pilot project Second Phase – To maximize benefits and ensure greater success, refine & evolve iSDLC to incorporate other industry best practices such as MDA / MAp, Goals Modeling, PMI PMBOK and others. Third Phase – Build iSDLC Knowledge Center and integrate it with end-to-end portfolio management (from Problem Identification to Solution Rollout) for enhanced productivity. Q: What is the learning curve for a technology team to learn iterative development and apply this effectively on a project?
Adding Iterations to Waterfall SDLC DEFINITION BRD, FRD, & L1 DESIGN TDD & L3 CONSTRUCTION Dev Acc Plan, Rel Plan VALIDATION UAT SDLC iSDLC Evolution I I1I2 I3 I4I5 I6 I7I8 Each Iteration must have: Well Defined Goals Sound Evaluation Criteria Q: How can we incorporate some of the benefits of IDLC in our plans without jeopardizing the key milestone(s) dates?
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? REQUIREMENTS BRD & FRD ANALYSIS & DESIGN TDD CONSTRUCTION Development Test & Release Plans VALIDATION User Acceptance Approval & UAT IMPLEMENTATION Release to Production SDLC I1I2I3I4 I5I6 I7 I8 I9
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, & L1 DESIGN TDD & L3 CONSTRUCTION Dev Acc Plan, Rel Plan VALIDATION UAT IMPLEMENTATION Production Handover R1 DEFINITION BRD, FRD, & L1 DESIGN TDD & L3 CONSTRUCTION Dev Acc Plan, Rel Plan VALIDATION UAT IMPLEMENTATION Production Handover R1 Key benefits of Iterative Approach: Optimal visibility to customer Higher quality product? Effective management of evolving requirements evolve
Goals Driven Development I1 I WB BB BA T D I2 I WB BB BA T D I3 I WB BB BA T D I4 I WB BB BA T D I5 I WB BB BA T D I6 I WB BB BA T D Time R1 PoC Understand the solution & Baseline Project Plan DefinitionElaborationCreation Validation I T E R A T I O N S Frame the problem & Agree on the scope Product sufficiently mature for use 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?
CTS Rel 1.0 Project Charter Understand the problem Establish CTS Project Goals CTS Release I – A Roadmap View April 29 User-Interface Prototypes completed Draft Reqs Architecture Specs ready Draft Design Specs ready User-Interface Prototype CTS IB 1.1 Refine the User-Interface based on customer feedback. Implement the following Use Cases in parallel: “Track Company Info” “Track Company Revenue Objects” & “Manage Company Docs” June 2 Test & Deploy CTS IB 1.1 User-Interface refined Reqs Arch Specs signed-off Draft Design Specs ready Project Charter User-Interface Prototype CTS IB 1.1CTS Prototype CTS IB 1.2 Based on customer feedback, refine use cases implemented in earlier builds. Implement the following Use Cases in parallel: “Track Company Contacts”, “Record Company Opinions & Experiences” & “Provide Search Capability” CTS Prototype CTS IB 1.2 June 30 Test & Deploy CTS IB 1.2 Analyze Applicable Standards & Policies Investigate Training Needs CTS Prototype (PoC) ready CTS IB 1.3 Based on customer feedback, refine use cases implemented in earlier builds. Implement the following Use Cases in parallel: “Use Case VII”, “Use Case VIII” & “Use Case IX” August 3 Test & Deploy CTS IB 1.3 Address applicable standards & policies Address training needs CTS IB 1.3 Based on customer feedback, refine use cases implemented in earlier builds. Implement the following Use Cases in parallel: “Use Case X” & “Use Case XI” September 6 Test & Deploy CTS Build 1.4 CTS IB /2906/3009/0609/30 06/0208/03 DEFINITION ELABORATIONCREATIONVALIDATION 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?
Successive Refinement 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 DefinitionElaborationCreationValidation Effort5%20%65%10% Time/Schedule10%30%50%10% Time People CreElaValDef Q: How does one go about staffing using the Iterative Model? How does it differ from the SDLC waterfall model?
Cost Estimate Refinements 4X X/4 Over-estimated Under-estimated Error in Cost to Complete Estimate 0 DefinitionElaboration CreationValidation
Iteration Length and Number of Iterations Length varies according to the objective. Iteration length may vary by phase. Typically, Elaboration iterations are longer than Construction iterations. Within a phase, iterations are generally the same length. Total # of iterations [I,D,E,C,V,P] Low3[0,0,1,1,1,0] Typical7[0,1,2,2,1,1] High11[0,1,3,3,2,2] Very High13[0,2,3,3,2,3] Q: How many iterations are standard for a project?
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. Definition Working with new functionality Unknown business environment Highly volatile scope Make-buy decisions Elaboration Working with new system environment (new architectural features) Untested architectural elements Need for system prototypes Creation Lots of code to write and verify New technology or development tools Validation Need for alphas and betas Conversions of customer base Incremental delivery to customers 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? You apply PM principles to each iteration in iterative development vs. once to the entire project in SDLC (PMBOK 2003 recommendation). Accept evolving nature of requirements and manage them appropriately compared to signoff requirements document in SLDC. 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 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)? What is the ideal size (in function points) for running one iteration (2-8 weeks)? What is an ideal team size for an iteration? 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? How can we engage the CIBTech SDLC’s (Mariam Barack) team to get their buy-in to include this approach in PlanView and SDLCW? How do we handle the Change Management Process in iterative model? What testing tools / practices need to be in place for iterative development?
Questions? For questions and inquiries, please contact: Ahmad K. Shuja Cell:
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 Project Charter Template
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. PoC 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 I1 I WB BB BA T D I2 I WB BB BA T D I3 I WB BB BA T D I4 I WB BB BA T 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 I1 I WB BB BA T D I2 I WB BB BA T D I3 I WB BB BA T D 3 I4 I WB BB BA T 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 I1 I WB BB BA T D I2 I WB BB BA T D I3 I WB BB BA T D I4 I WB BB BA T 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)