Agile Software Development

Download Report

Transcript Agile Software Development

®
IBM Software Group
Agile Software Development:
What’s 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
2
IBM Software Group | Rational software
Presentation Overview
 Warning!
 Agile Software Development (ASD)
 Agile Adoption Rates
 Going Beyond the Extreme Rhetoric
3
IBM Software Group | Rational software
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
4
®
IBM Software Group
Agile Software Development (ASD)
What is ASD?
How it’s 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
6
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
7
IBM Software Group | Rational software
Mythbusters
Myth
Reality
1. No Documentation
1. Agile Documentation
2. Undisciplined
2. Requires great discipline
3. No Planning
3. Just-in-time (JIT) planning
4. Not Predictable
4. Far more predictable
5. Does Not Scale
5. Eclipse is agile
6. Is a Fad
6. It’s quickly becoming the norm
7. Silver Bullet
7. It requires skilled people
8. RUP isn’t agile
8. RUP is as agile as you make it
9. Not Fixed Price
9. Agile provides stakeholders
control over the budget,
schedule, and scope
8
IBM Software Group | Rational software
Why Agile Works
www.ambysoft.com/essays/whyAgileWorksFeedback.htm
9
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. Dobb’s 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+
10 to 20
57
30
5 to 10
82
2 to 5
1
194
64
13
IBM Software Group | Rational software
% of Successful Agile Projects
5%
6%
12%
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
 Manage Project Pipeline
By Business Value
 Iterative Development
 Staged Program
Delivery
 Scenario-Driven
Development
 Risk-Based Milestones
 Adapt The Process
 Continuous Improvement
 Simple And
Relevant Metrics
 Continuous Project
Monitoring
 Embedded Compliance
Organization
& Meetings
Mission &
Principles
Processes
Measures
Roles &
Responsibilities
Policies &
Standards
 Self-Organizing Teams
 Integrated Lifecycle Environment
 Align HR Policies With IT Values
 Valued Corporate Assets
 Align Organization Structure With
Architecture
 Flexible Architectures
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 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.
24