IBM Software Group ® © 2005 IBM Corporation From Waterfall to Iterative Development Making an effective transition Steve Wittie, ITS IBM Rational Software.

Slides:



Advertisements
Similar presentations
September 2008Mike Woodard Rational Unified Process Key Concepts Mike Woodard.
Advertisements

Prescriptive Process models
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.
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Software Life Cycles ECE 417/617: Elements of Software Engineering
PRJ270: Essentials of Rational Unified Process
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 8: Post-Project Analysis.
RUP And Agile Development Processes Walker Royce and Gary Pollice.
$100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Iterative development and The Unified process
COMP 350: Object Oriented Analysis and Design Lecture 2
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.
Introduction to Agile.
Principles of Object Technology Module 1: Principles of Modeling.
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 1: Iterative Development.
Sixteenth Meeting 6:30 – 9:20 pm, Thursday, September 20, 2001 Review - Looking Forward (from Part IV, Chapter 15 of Royce’ book) Final Examination.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Software Development *Life-Cycle Phases* Compiled by: Dharya Dharya Daisy Daisy
Using IBM Rational Unified Process for software maintenance
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Thirteenth Lecture Hour 8:30 – 9:20 am, Sunday, September 16 Software Management Disciplines Process Automation (from Part III, Chapter 12 of Royce’ book)
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Fourteenth Lecture Hour 9:30 – 10:20 am, Sunday, September 16 Software Management Disciplines Project Control and Process Automation (from Part III, Chapter.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Identify steps for understanding and solving the
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
Eleventh Lecture Hour 9:30 – 10:20 am, Saturday, September 16 Software Management Disciplines Iterative Process Planning (from Part III, Chapter 10 of.
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,
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
Rational Unified Process (RUP) Process Meta-model Inception Phase These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
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 Testing Process
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Rational Unified Process  “de facto standard”, framework.
Welcome to Software Project Management. CONVENTIONAL SOFTWARE MANAGEMENT The BEST and WORST thing about software is its flexibility. 1.Software development.
Software Architecture Architecture represents different things from use cases –Use cases deal primarily with functional properties –Architecture deals.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
$100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
TK2023 Object-Oriented Software Engineering
Software Development.
Process 4 Hours.
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Lecture 3 Prescriptive Process Models
Software Engineering and Best Practices
Unified Process Source & Courtesy: Jing Zou.
Requirements and the Software Lifecycle
Introduction to Software Engineering
Chapter 2 – Software Processes
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Presentation transcript:

IBM Software Group ® © 2005 IBM Corporation From Waterfall to Iterative Development Making an effective transition Steve Wittie, ITS IBM Rational Software

IBM Software Group | Rational software 2 Outline  Software  The waterfall lifecycle  Iterative development  Summary

IBM Software Group | Rational software 3 The Nature of Software  Engineering  In the world of atoms, they obey the laws of physics  In the world of bits, software has no “physical laws”  Extreme modifiability  Used to be a way to fix hardware problems support the business  Has evolved to driving technology and “Being” the business.  Diseconomy of scale  In most manufacturing processes there exists economies of scale  In contrast, the more software you build, the greater the cost per unit item. Software enables our thoughts, our ideas, our innovation.

IBM Software Group | Rational software 4 The Good News with the Bad  Software is everywhere, from:  Our business, to being our business  IT departments, to the Department of Defense  The Space Shuttle, to shuttle buses  Our stock market, to our personal bank accounts  Software problems affect every aspect of our lives, from  The customers we can reach, to the “customers experience”  The job we can do, to our ability to defend our freedom  Our ability to explore, to our ability to get to work  The stability of our currency, to the security of our last paycheck The pervasiveness of software in every walk of life compels us to engineer our software solutions

IBM Software Group | Rational software 5 Outline  Software  The waterfall lifecycle  Iterative development  Summary

IBM Software Group | Rational software 6 Our first few attempts at Software Engineering included Discipline, Structure, and Control Reviews, Audits, Inspections, Acceptance Integration System Test Code Design Requirements

IBM Software Group | Rational software 7 Waterfall Software Development  Freeze requirements before design.  Forbid coding prior to detailed design review.  Do the easy stuff first.  Complete unit testing before integration.  Maintain detailed traceability among all artifacts.  Document and maintain the design.  Assess quality with an independent team.  Inspect everything.  Plan everything early with high fidelity  Control source code baselines rigorously.

IBM Software Group | Rational software 8 Waterfall: What Happens in Practice Requirements Design Code Integration Test Late Design Breakage 100% Project Schedule Development Progress (% coded) Original Target Date Integration Begins  Late design breakage  40% effort on integration and test Problems in the Software are Found too Late to even React; let alone recover

IBM Software Group | Rational software 9 Outline  Software  The waterfall lifecycle  Iterative development  Summary

IBM Software Group | Rational software 10 Our Result of Addressing Waterfall Inefficiencies Earliest iterations address greatest risks Each iteration produces an executable release Each iteration includes integration and test Iteration 1 Iteration 2 Iteration 3

IBM Software Group | Rational software 11 Iterative: What Happens in Practice Prototypes ArchitectureFunctional Product ReleasesRelease 100% Project Schedule Modern Project Profile Development Progress (% Coded)  Risk Driven  User Perspective Throughout  Architecture Centric  Results Based Problems are Found in the Software in each Iteration, Allowing Time to Recover

IBM Software Group | Rational software 12 Iterative Software Development  Focus the process on the architecture first  Attack risks early with an iterative life cycle  Emphasize component-based development  Change management of all artifacts  Simplify change freedom with round-trip engineering  Use rigorous, model-based design notation  Instrument the process for objective quality control  Emphasize demonstration-based assessment  Plan releases with evolving levels of detail  Establish a scalable, configurable process

IBM Software Group | Rational software 13 RUP Iterative Development Phases Disciplines group activities logically In an iteration, you walk through all disciplines

IBM Software Group | Rational software 14 Benefits of Iterative Development  Accommodating changes  Functional changes, tactical changes, technology  It is inevitable, so make it part of your process  Letting the discovery process work for you  Better opportunity for reuse  Reuse identified early (Elaboration)  Higher quality  Tested early and more often,  Checkpoints for process valuation  Roadmap of how value will be delivered to the customer  Greater predictability, minimize losses  Earlier discovery of potential for failure or cancellation  Defines decision points to reduce surprises  Risk  Organization, process, technology addressed early  Addressed each iteration in small, manageable chunks

IBM Software Group | Rational software 15 Better Progress Profile 100% Project Schedule Waterfall Project Profile Modern Project Profile Development Progress (% Coded) Sequential phases, but iterative activities PrototypesArchitectureFunctional Product Releases Release

IBM Software Group | Rational software 16 Accelerate Risk Reduction Iterative T I M E Iteration Risk reduction RISKRISK Waterfall risk

IBM Software Group | Rational software 17 Sounds Great! But there is no such thing as a Free Lunch!  Transitioning to iterative development will be a paradigm shift for all stakeholders; whether it be the customer, management, or the development team; especially the project manager.  These Paradigm Shifts manifest TRAPS that we can get caught in if we are not watching for them!  These Paradigm Shifts include: More Planning Work Acknowledging Rework Up Front Putting Software First Hitting Hard Problems Earlier Clashes of Lifecycle Models Different Accounting for Progress Number, Duration and Content of Iterations Project Manager & Project Architect

IBM Software Group | Rational software 18 Outline  Software  The waterfall lifecycle  Iterative development  Summary

IBM Software Group | Rational software 19 Number, Duration and Content of Iterations - 2  Trap: Too many iterations  Tips  Daily, weekly builds are not iterations  Depends on size, team size, familiarity with the approach  the size of the organization, its degree of geographic distribution, and the number of distinct organizations involved Total # of iterations[I,E,C,T] Low3[0,1,1,1] Typical6[1,2,2,1] High9[1,3,3,2] Very High10[2,3,3,2]

IBM Software Group | Rational software 20 Confused a Little? Change Seems to Do That!  Waterfall lifecycle makes it easy on the manager, hard on the engineers  Early and regular sense of completeness  End of the lifecycle is weighted heavy with risk  Iterative lifecycle brings a bit more complexity to management  Sense of incompleteness in the early iterations  More planning work required; each phase and iteration  Less pain in the end  Iterative does not necessarily mean less work and shorter schedules  Price to pay for greater predictability, consistency, quality

IBM Software Group | Rational software 21 Project Managers:  Do not change everything at once  There are fire-proven recipes & techniques to address this type of change. So, get help! Don’t do it on your own!  Keep in mind:  Software comes first (Keep the ultimate objective in mind.)  Attack the risk actively or they will attack you  Chose an architect and a project manager who can work hand in hand  Do not follow a process blindly, tailor it and use the tailored process as your guide.  Once in a while, revisit the next slide titled: “Benefits”

IBM Software Group | Rational software 22 Benefits of Iterative Development Process  Consistency  Enable clear, consistent communication for all team members with well defined roles and responsibilities  Exploit reuse early by addressing architecturally significant requirements and applying architectural patterns  Predictability  Help identify what resources are needed and when  “Compare to” baseline for addressing bottlenecks and failure points  Defines decision points to reduce surprises; earlier failure recognition  Enables metric development to support future planning and estimation  Quality  Focus on risk reduction, accommodate change, test early and often  Roadmap of how value will be regularly delivered to the customer

IBM Software Group | Rational software 23 Hallmarks of Agile tooling (in Ralf)  Intelligent check out/in. The tool should know what I changed.  Checkin as a group of associated changes, called atomic commits.  Allow Isolated, individual workspaces until ready to commit.  Add your changes to LATEST.  Auto merge when needed (trivial).  Allow Isolated, individual workspaces until wanting to refresh.  Get your changes from LATEST.  Auto merge when needed (trivial).  No developer interaction with tool unless a non trivial merge needs resolution.  Then resolve it immediately

IBM Software Group | Rational software 24 Hallmarks of Agile tooling (in Ralf)  Ability to Roll back/forward any workspace to a point in time, relative to the commits you want.  Facilitates NO STOPPING – constant iteration of the development process.  All roles, developer workspaces, test workspaces, build workspaces, etc.  Don’t wait for other roles (waterfall). Report trends in all phases of iteration, then improve it.

IBM Software Group | Rational software 25 Ralf and ClearCase Questions:  Ralf = Rational Agile Lite Framework  Free plug in to CC explorer / behaves like Tortoise  Why Ralf and who owns it  What about UCM  What about CC ver 7.1  Is there anything you can’t do with ClearCase?  What about performance (all that meta-data)  What about co-mingling regular CC and RalfCC  What about Agile in multiple vobs  What about Code and file refactoring  Is Ralf easy to install and learn