Page 1 R Risk-Driven and Iterative Development. Page 2 R Copyright © 1997 by Rational Software Corporation What the Iterative Life Cycle Is Not It is.

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

Analysis and Design with UML
Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Process Models
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 4: Phase Management - Elaboration.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Rational Unified Process
Object-oriented Analysis and Design
Iterative development and The Unified process
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 RUP Architecture.
CONFIDENTIALITY © 2010 BA ValueBASE LLP, The concepts and methodologies contained herein are proprietary to BA ValueBASE LLP. Duplication, reproduction.
Effective Methods for Software and Systems Integration
Process: A Generic View
Principles of Object Technology Module 1: Principles of Modeling.
UML - Development Process 1 Software Development Process Using UML (2)
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 1: Iterative Development.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
RUP Fundamentals - Instructor Notes
Software Development *Life-Cycle Phases* Compiled by: Dharya Dharya Daisy Daisy
Software Engineering Chapter 12 The Generic Iteration Workflow Fall 2000.
Chapter 2 The process Process, Methods, and Tools
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Identify steps for understanding and solving the
Object Oriented Design and Analysis Rational Unified Process.
Common Activities Activities and Tasks in the WBS.
Chapter – 9 Checkpoints of the process
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
Eighth Hour Lecture 7:30 – 8:20 pm, Thursday, September 13 Workflows of the Process (from Chapter 8 of Royce’ book)
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
RUP Fundamentals Instructor Notes
Analysis & Design with UML
Rational Unified Process (RUP) Process Meta-model Inception Phase These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Chapter 8 Workflows of the Process Taken from Walker Royce’s textbook – Software Project Management plus a number of Personal Comments.
PRJ566 Project Planning & Management Software Architecture.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
Analysis and Design with UML. Agenda Benefits of Visual Modeling History of the UML Visual Modeling with UML The Rational Iterative Development Process.
The principles of an object oriented software development process Week 04 1.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
Rational Unified Process (RUP)
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 Rational Unified Process – Part 2 Original slides modified.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Analysis and Design with UML  Overview - Object-Oriented Modeling  Benefits of Visual Modeling  History of the UML  Visual Modeling with UML  The.
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
Iterative development and The Unified process
Process 4 Hours.
Introduction to Software Engineering
Object Oriented Analysis and Design
Rational Unified Process
Chapter 2 – Software Processes
Software engineering -1
The Unified/Rational Unified Process (UP/RUP) Defined
Presentation transcript:

Page 1 R Risk-Driven and Iterative Development

Page 2 R Copyright © 1997 by Rational Software Corporation What the Iterative Life Cycle Is Not It is not hacking It is not a playpen for developers It is not unpredictable It is not redesigning the same thing over and over until it is perfect It is not an excuse for not planning and managing a project It is not something that affects only the developers on a project

Page 3 R Copyright © 1997 by Rational Software Corporation What the Iterative Life Cycle Is It is planned and managed It is predictable It accommodates changes to requirements with less disruption It is based on evolving executable prototypes, not documentation It involves the user/customer throughout the process It is risk driven

Page 4 R Copyright © 1997 by Rational Software Corporation Three Important Features of the Iterative Approach Continuous integration – Not done in one lump near the delivery date Frequent, executable releases – Some internal; some delivered Attack risks through demonstrable progress – Progress measured in products, not documentation or engineering estimates

Page 5 R Copyright © 1997 by Rational Software Corporation Resulting Benefits Releases are a forcing function that drives the development team to closure at regular intervals – Cannot have the “90% done with 90% remaining” phenomenon Can incorporate problems/issues/changes into future iterations rather than disrupting ongoing production The project’s supporting elements (testers, writers, toolsmiths, CM, QA, etc.) can better schedule their work

Page 6 R Copyright © 1997 by Rational Software Corporation Risk Transition Inception Elaboration Construction Preliminary Iteration Architect. Iteration Architect. Iteration Devel. Iteration Devel. Iteration Devel. Iteration Transition Iteration Transition Iteration Post- deployment Waterfall Time Risk Profile of an Iterative Development

Page 7 R Copyright © 1997 by Rational Software Corporation Risk Management Phase- by-Phase Inception – Bracket the project’s risks by building a proof of concept – Determine scope and build business case – Does it make good business sense to continue with this project? Elaboration – Define and analyze the requirements and risks, develop a common understanding of the desired behavior by exploring scenarios – Establish the system’s architecture – Design common mechanisms to address system-wide issues

Page 8 R Copyright © 1997 by Rational Software Corporation Risk Management Phase- by-Phase (cont.) Construction – Refine the architecture – Risk-driven iterations – Continuous integration Transition – Facilitate user acceptance – Measure user satisfaction Post-deployment cycles – Continue evolutionary approach – Preserve architectural integrity

Page 9 R Copyright © 1997 by Rational Software Corporation Initial Project Risks Initial Project Scope Revise Overall Project Plan Cost Schedule Scope/Content Plan Iteration N Cost Schedule Assess Iteration N Risks Eliminated Revise Project Risks Reprioritize Develop Iteration N Collect cost and quality metrics Define scenarios to address highest risks Iteration N Risk Reduction Drives Iterations

Page 10 R Copyright © 1997 by Rational Software Corporation InceptionElaborationConstructionTransition Iteration 1Iteration 2Iteration 3 Iteration Planning Rqmts Capture Analysis & Design Implementation Test Prepare Release “Mini-Waterfall” Process Use Cases Drive the Iteration Process

Page 11 R Copyright © 1997 by Rational Software Corporation The Iteration Life Cycle: A Mini-Waterfall Results of previous iterations Up-to-date risk assessment Controlled libraries of models, code, and tests Release description Updated risk assessment Controlled libraries Iteration Planning Requirements Capture Analysis & Design Implementation Test Prepare Release Selected scenarios

Page 12 R Copyright © 1997 by Rational Software Corporation Detailed Iteration Life Cycle Activities Iteration planning – Before the iteration begins, the general objectives of the iteration should be established based on Results of previous iterations ( if any) Up-to-date risk assessment for the project – Determine the evaluation criteria for this iteration – Prepare detailed iteration plan for inclusion in the development plan Include intermediate milestones to monitor progress Include walkthroughs and reviews

Page 13 R Copyright © 1997 by Rational Software Corporation Detailed Iteration Life Cycle Activities (cont.) Requirements Capture – Select/define the use cases to be implemented in this iteration – Update the object model to reflect additional domain classes and associations discovered – Develop a test plan for the iteration

Page 14 R Copyright © 1997 by Rational Software Corporation Detailed Iteration Life Cycle Activities (cont.) Analysis & Design – Determine the classes to be developed or updated in this iteration – Update the object model to reflect additional design classes and associations discovered – Update the architecture document if needed – Begin development of test procedures Implementation – Automatically generate code from the design model – Manually generate code for operations – Complete test procedures – Conduct unit and integration tests

Page 15 R Copyright © 1997 by Rational Software Corporation Detailed Iteration Life Cycle Activities (cont.) Test – Integrate and test the developed code with the rest of the system (previous releases) – Capture and review test results – Evaluate test results relative to the evaluation criteria – Conduct an iteration assessment Prepare the release description – Synchronize code and design models – Place products of the iteration in controlled libraries

Page 16 R Copyright © 1997 by Rational Software Corporation Work Allocation Within an Iteration Work to be accomplished within an iteration is determined by – The (new) use cases to be implemented – The rework to be done Packages make convenient work packages for developers – High-level packages can be assigned to teams – Lower-level packages can be assigned to individual developers Use Cases make convenient work packages for test and assessment teams Packages are also useful in determining the granularity at which configuration management will be applied – For example, check-in and check-out of individual packages

Page 17 R Copyright © 1997 by Rational Software Corporation Iteration Assessment Assess iteration results relative to the evaluation criteria established during iteration planning: – Functionality – Performance – Capacity – Quality measures Consider external changes that have occurred during this iteration – For example, changes to requirements, user needs, competitor’s plans Determine what rework, if any, is required and assign it to the remaining iterations

Page 18 R Copyright © 1997 by Rational Software Corporation Selecting Iterations How many iterations do I need? – On projects taking 18 months or less, 3 to 6 iterations are typical Are all iterations on a project the same length? – Usually – Iteration length may vary by phase. For example, elaboration iterations may be shorter than construction iterations

Page 19 R Copyright © 1997 by Rational Software Corporation The First Iteration The first iteration is usually the hardest – Requires the entire development environment and most of the development team to be in place – Many tool integration issues, team-building issues, staffing issues, etc. must be resolved Teams new to an iterative approach are usually overly- optimistic Be modest regarding the amount of functionality that can be achieved in the first iteration – Otherwise, completion of the first iteration will be delayed, – The total number of iterations reduced, and – The benefits of an iterative approach reduced

Page 20 R Copyright © 1997 by Rational Software Corporation There Is No Silver Bullet Remember the main reason for using the iterative life cycle: – You do not have all the information you need up front – Things will change during the development period You must expect that – Some risks will not be eliminated as planned – You will discover new risks along the way – Some rework will be required; some lines of code developed for an iteration will be thrown away – Requirements will change along the way