Agile Software Development: What’ s Really Going On Scott W. Ambler Practice Leader Agile Development
Scott Ambler – Background
Presentation Overview
Agile Software Development (ASD)
Agile Adoption Rates
Going Beyond the Extreme Rhetoric

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
Agile Software Development (ASD)
What is ASD?
How it’ s different
Why does ASD Work?
Some Common Practices
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
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
No Documentation
No Planning
Not Predictable
Does Not Scale
Is a Fad
Silver Bullet
RUP isn’ t agile
Not Fixed Price
Agile Documentation
Requires great discipline
Just-in-time (JIT) planning
Far more predictable
Eclipse is agile
It’ s quickly becoming the norm
It requires skilled people
RUP is as agile as you make it
Agile provides stakeholders control over the budget, schedule, and scope
Why Agile Works
Some Common Practices
Regular Deployment of Working Software
Pair Programming
Continuous Integration
Test Driven Development (TDD)
Shared Code Ownership
Active Stakeholder Participation
Agile Adoption Rates*
Have you Adopted Agile?
Number of Projects Run
Success Rates
Has Your Organization Adopted One or More Agile Techniques?
Number of Agile Projects Run
% of Successful Agile Projects
Going Beyond the Extreme Rhetoric
Modeling and Documentation
Rational Unified Process (RUP)
Database Refactoring
Database Regression Testing
Agile Model Driven Development (AMDD) Project Level
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
Rational Unified Process (RUP)
Agile Testing
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
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.
Database Testing
Agility at Scale: Right-Sizing Governance
Keep In Touch!
Scott W. Ambler

References and Recommended Reading
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. 

Categories: News