® ibm software group © 2007 ibm corporation agile software development: what’s really going on...

24
® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

Upload: grady-hollomon

Post on 31-Mar-2015

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

®

IBM Software Group

© 2007 IBM Corporation

Agile Software Development: What’s Really Going On

Scott W. AmblerPractice Leader Agile Development

Page 2: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

IBM Software Group | Rational software

2

Scott Ambler - Background

Practice Leader Agile Development

Fellow – International Association of Software Architects

www-306.ibm.com/software/rational/bios/ambler.html

Page 3: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

IBM Software Group | Rational software

3

Presentation Overview

Warning!

Agile Software Development (ASD)

Agile Adoption Rates

Going Beyond the Extreme Rhetoric

Page 4: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

IBM Software Group | Rational software

4

Warning!

I’m spectacularly blunt at times

Many new ideas will be presented

Some may not fit well into your existing environment

Some will challenge your existing notions about software development

Some will confirm your unvoiced suspicions

Don’t make any “career-ending moves”

Be skeptical but open minded

Page 5: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

®

IBM Software Group

© 2007 IBM Corporation

Agile Software Development (ASD)

What is ASD?

How it’s different

Mythbusters

Why does ASD Work?

Some Common Practices

Page 6: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

IBM Software Group | Rational software

6

What is Agile? An iterative and incremental (evolutionary)

approach performed in a highly collaborative manner with just the right amount of ceremony to produce high quality software in a cost effective and timely manner which meets thechanging needs of its stakeholders.

Core principles “Fits just right” processContinuous testing and validationConsistent team collaborationRapid response to changeOngoing customer involvementFrequent delivery of working software

Page 7: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

IBM Software Group | Rational software

7

How Agile is Different

Focus on collaboration: Less paperwork and more conversation

Stakeholders actively involved

Focus on working software: Greater feedback makes agile projects easier to manage

Less documentation is required

Less bureaucracy

Agilists are generalizing specialists: Less hand offs between people

Less people required

Specialists find it difficult at first to fit into the team

Agile is based on practice, not theory: This is a significant change from traditional

You need to see how agile works in practice to truly understand it

Page 8: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

IBM Software Group | Rational software

8

Mythbusters

Myth

1. No Documentation

2. Undisciplined

3. No Planning

4. Not Predictable

5. Does Not Scale

6. Is a Fad

7. Silver Bullet

8. RUP isn’t agile

9. Not Fixed Price

Reality

1. Agile Documentation

2. Requires great discipline

3. Just-in-time (JIT) planning

4. Far more predictable

5. Eclipse is agile

6. It’s quickly becoming the norm

7. It requires skilled people

8. RUP is as agile as you make it

9. Agile provides stakeholders control over the budget, schedule, and scope

Page 9: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

IBM Software Group | Rational software

9

Why Agile Workswww.ambysoft.com/essays/whyAgileWorksFeedback.htm

Page 10: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

IBM Software Group | Rational software

10

Some Common Practices

Regular Deployment of Working SoftwarePair ProgrammingRefactoringContinuous IntegrationTest Driven Development (TDD)Shared Code OwnershipActive Stakeholder Participation

Page 11: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

®

IBM Software Group

© 2007 IBM Corporation

Agile Adoption Rates*

Have you Adopted Agile?

Number of Projects Run

Success Rates

*Figures from an April 2007 Survey to be summarized in the August 2007 issue of Dr. Dobb’s Journal

Page 12: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

IBM Software Group | Rational software

12

Has Your Organization Adopted One or More Agile Techniques?

Yes69%

No31%

Page 13: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

IBM Software Group | Rational software

13

Number of Agile Projects Run

64

194

82

30

57

1

2 to 5

5 to 10

10 to 20

20+

Page 14: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

IBM Software Group | Rational software

14

% of Successful Agile Projects

44%

33%

12%

5% 6%

90%+ 75-90% 50-74% 25-49% >25%

Page 15: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

®

IBM Software Group

© 2007 IBM Corporation

Going Beyond the Extreme RhetoricModeling and Documentation

Rational Unified Process (RUP)

Testing

Database Refactoring

Database Regression Testing

Governance

Page 16: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

IBM Software Group | Rational software

16

Agile Model Driven Development (AMDD) Project Level www.agilemodeling.com/essays/amdd.htm

Page 17: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

IBM Software Group | Rational software

17

Agile Documentation

Document the stable, not the speculative

Agile documents:Maximize stakeholder ROI

Describe “good things to know”

Have a specific customer and facilitate the work efforts of that customer

Are sufficiently accurate, consistent, and detailed

Page 18: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

IBM Software Group | Rational software

18

Rational Unified Process (RUP)

Page 19: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

IBM Software Group | Rational software

19

Agile Testingwww.ddj.com/dept/debug/196603549?cid=Ambysoft

Regression testing is critical to the success of evolutionary (iterative and incremental) development

Acceptance tests are considered to be primary requirements artifacts

Unit tests are considered to be detailed design artifacts

Page 20: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

IBM Software Group | Rational software

20

Database Refactoring

A database refactoring is a simple change to a database schema that improves its design while retaining both its behavioral and informational semantics. Examples: Move Column, Rename Table, and Replace Blob With Table.

A database schema includes both structural aspects such as table and view definitions as well as functional aspects such as stored procedures and triggers.

Important: Database refactorings are a subset of schema transformations, but they do not add functionality.

www.agiledata.org

Page 21: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

IBM Software Group | Rational software

21

Database Testingwww.agiledata.org/essays/databaseTesting.html

Page 22: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

IBM Software Group | Rational software

22

Organization& Meetings

Roles &Responsibilities

Processes

Measures

Policies &Standards

Mission & Principles

Agility at Scale: “Right-Sizing” Governance

Pragmatic Governance Body

Staged Program Delivery

Simple And Relevant Metrics

Continuous Project Monitoring

Iterative Development

Adapt The Process

Risk-Based Milestones

Continuous Improvement

Embedded Compliance

Manage Project Pipeline By Business Value

Scenario-Driven Development

Self-Organizing Teams

Align HR Policies With IT Values

Align Organization Structure With Architecture

Integrated Lifecycle Environment

Valued Corporate Assets

Flexible Architectures

Page 23: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

®

IBM Software Group

© 2007 IBM Corporation

Keep In Touch!

Scott W. Amblerwww-306.ibm.com/software/rational/bios/ambler.html

Page 24: ® IBM Software Group © 2007 IBM Corporation Agile Software Development: What’s Really Going On Scott W. Ambler Practice Leader Agile Development

IBM Software Group | Rational software

24

References and Recommended Reading www.agilealliance.com www.agilemodeling.com www.agiledata.org www.ambysoft.com www.databaserefactoring.com www.enterpriseunifiedprocess.com Ambler, S.W. (2002). Agile Modeling: Effective Practices for XP and the UP.

New York: John Wiley & Sons. Ambler, S.W. (2003). Agile Database Techniques. New York: John Wiley &

Sons. Ambler, S.W. (2004). The Object Primer 3rd Edition: AMDD with UML 2. New

York: Cambridge University Press. Ambler, S.W. and Sadalage, P.J. (2006). Refactoring Databases: Evolutionary

Database Design. Reading, MA: Addison Wesley Longman, Inc. Larman, C. (2004). Agile and Iterative Development: A Manager’s Guide.

Reading, MA: Addison Wesley McGovern, J., Ambler, S.W., Stevens, M., Linn, J., Sharan, V., & Jo, E. (2003).

The Practical Guide to Enterprise Architecture. Prentice Hall PTR.