ibm software group ® © 2005 ibm corporation from waterfall to iterative development making an...

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

Upload: pierre-bisbee

Post on 15-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

IBM Software Group

®

© 2005 IBM Corporation

From Waterfall to Iterative DevelopmentMaking an effective transition

Steve Wittie, ITSIBM Rational Software

IBM Software Group | Rational software

2

Outline

SoftwareThe waterfall lifecycleIterative developmentSummary

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

SoftwareThe waterfall lifecycleIterative developmentSummary

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 DesignBreakage

100%

Project Schedule

Dev

elop

men

t Pro

gres

s(%

cod

ed)

OriginalTarget Date

IntegrationBegins

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

SoftwareThe waterfall lifecycleIterative developmentSummary

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 Architecture Functional Product Releases Release100%

Project Schedule

ModernProject Profile

Dev

elop

men

t Pro

gres

s(%

Cod

ed)

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

WaterfallProject Profile

ModernProject Profile

Dev

elop

men

t Pro

gres

s(%

Cod

ed)

Sequential phases, but iterative activitiesPrototypes Architecture Functional Product

Releases Release

IBM Software Group | Rational software

16

Accelerate Risk Reduction

Iterative

T I M E

Iteration Iteration Iteration Iteration Iteration

Risk reductionRisk reduction

R

I

S

KWaterfall 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

SoftwareThe waterfall lifecycleIterative developmentSummary

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]

Low 3 [0,1,1,1]

Typical 6 [1,2,2,1]

High 9 [1,3,3,2]

Very High 10 [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 itWhat about UCMWhat 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 RalfCCWhat about Agile in multiple vobsWhat about Code and file refactoring Is Ralf easy to install and learn