intro to agile development
TRANSCRIPT
Agile Development
Dave Ross
March 5, 2007
Waterfall Development
Term dates back to 1970
Process even older
Borrowed from engineering
Sequential model
Waterfall Process
Requirements Analysis
Design
Implementation
Validation (testing)
Integration
Maintenance
Problems With Waterfall
Long development cycle
Assumes analysis is perfect
No changes after analysis
Customer only sees finished product
Iterative Development
Early 1970s
Design, implementation, and testing repeat
Long cycles
Agile Development
Mid-1990s
Agile Manifesto (2001)
Change happens
Agile Is Not...
Management By Crisis
Cowboy Coding
Easy
Characteristics
Short sprints
Refactoring
Test-driven development
Efficient meetings
Funny names
Short Sprints
4-6 weeks
Adjustable
Defined goals/tasks
Check sprint status every day
Check project status after every sprint
Refactoring
Architectural changes
Not personal
Optimize when time permits
Test-Driven Development
Use cases
Unit tests
Code not checked-in unless tested
Work isn't done until checked-in
Efficient Meetings
Short (15 minutes)
Specific (no chit-chat)
Tardy penalty (Scrum: $1)
Stand-up
Agile Examples
Scrum
Extreme Programming (XP)
Agile Unified Process (AUP)
Problems with Agile
Cultural change
Stakeholder involvement
Team size
Appearances
No silver bullet