You are on page 1of 24

IBM Software Group

Agile Software Development: Whats Really Going On


Scott W. Ambler Practice Leader Agile Development

2007 IBM Corporation

IBM Software Group | Rational software

Scott Ambler - Background


Practice Leader Agile Development Fellow International Association of Software Architects www-306.ibm.com/software/rational/bios/ambler.html

IBM Software Group | Rational software

Presentation Overview
Warning! Agile Software Development (ASD)

Agile Adoption Rates


Going Beyond the Extreme Rhetoric

IBM Software Group | Rational software

Warning!
Im 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 Dont make any career-ending moves Be skeptical but open minded

IBM Software Group

Agile Software Development (ASD)


What is ASD? How its different Mythbusters Why does ASD Work? Some Common Practices

2007 IBM Corporation

IBM Software Group | Rational software

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 the changing needs of its stakeholders.

Core principles
Fits just right process Continuous testing and validation Consistent team collaboration Rapid response to change Ongoing customer involvement Frequent delivery of working software

IBM Software Group | Rational software

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

IBM Software Group | Rational software

Mythbusters
Myth
1. No Documentation

Reality
1. Agile Documentation

2. Undisciplined
3. No Planning 4. Not Predictable 5. Does Not Scale 6. Is a Fad 7. Silver Bullet 8. RUP isnt agile

2. Requires great discipline


3. Just-in-time (JIT) planning 4. Far more predictable 5. Eclipse is agile 6. Its quickly becoming the norm 7. It requires skilled people 8. RUP is as agile as you make it

9. Not Fixed Price

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

IBM Software Group | Rational software

Why Agile Works


www.ambysoft.com/essays/whyAgileWorksFeedback.htm

IBM Software Group | Rational software

Some Common Practices


Regular Deployment of Working Software Pair Programming Refactoring Continuous Integration Test Driven Development (TDD) Shared Code Ownership Active Stakeholder Participation

10

IBM Software Group

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. Dobbs Journal

2007 IBM Corporation

IBM Software Group | Rational software

Has Your Organization Adopted One or More Agile Techniques?

No 31%

Yes 69%

12

IBM Software Group | Rational software

Number of Agile Projects Run


20+ 57

10 to 20

30

5 to 10

82

2 to 5

194

64

13

IBM Software Group | Rational software

% of Successful Agile Projects

5% 12%

6% 44%

33%

90%+

75-90%

50-74%

25-49%

>25%

14

IBM Software Group

Going Beyond the Extreme Rhetoric


Modeling and Documentation Rational Unified Process (RUP) Testing Database Refactoring Database Regression Testing Governance

2007 IBM Corporation

IBM Software Group | Rational software

Agile Model Driven Development (AMDD) Project Level


www.agilemodeling.com/essays/amdd.htm

16

IBM Software Group | Rational software

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

17

IBM Software Group | Rational software

Rational Unified Process (RUP)

18

IBM Software Group | Rational software

Agile Testing
www.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

19

IBM Software Group | Rational software

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

20

IBM Software Group | Rational software

Database Testing
www.agiledata.org/essays/databaseTesting.html

21

IBM Software Group | Rational software

Agility at Scale: Right-Sizing Governance


Pragmatic Governance Body Staged Program Delivery Manage Project Pipeline By Business Value Scenario-Driven Development Iterative Development Adapt The Process Risk-Based Milestones Continuous Improvement Embedded Compliance

Simple And Relevant Metrics Continuous Project Monitoring

Organization & Meetings Mission & Principles

Processes Measures

Roles & Responsibilities

Policies & Standards Integrated Lifecycle Environment Valued Corporate Assets Flexible Architectures

Self-Organizing Teams Align HR Policies With IT Values Align Organization Structure With Architecture

22

Keep In Touch!
IBM Software Group

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

2007 IBM Corporation

IBM Software Group | Rational software

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 Managers 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.

24

You might also like