Extreme Programming and Scrum - Getting Started With Agile Software Development
Extreme Programming and Scrum - Getting Started With Agile Software Development
Extreme Programming and Scrum - Getting Started With Agile Software Development
Kyle R. Larson
[email protected]
SCRUM
Project Management
Best Practices
Scrum works
EXTREME
well as a
PROGRAMMING
Mostly Technical
wrapper around
Best Practices
Extreme
Programming
Agile Independence
Not created by any single company, but by a
group of software industry experts to find
“ better ways of developing software by doing
it and helping others do it.” *
Agile Principles:
highest priority is customer satisfaction
welcomes changing requirements
frequently deliver working software
advocates close collaboration and rapid feedback
reinforces “ inspect and adapt”
* www.agilealliance.org
Key PM Difference
Defined Empirical
Empirical PM Strategy
Product Owner
Team
Scrum Master
Scrum Roles – Product Owner
Developers Developers
Build Value 4
2 Estimate Cost
Simplicity Feedback
Simplest thing that could Testing
possibly work Experimenting
YAGNI: you aren’ t going to need it Delivering
Communication Courage
Developers Trust
Users History
Customers
Testers
Code
The Four XP Variables
Quality Schedule
Internal high, fixed Fixed-length,
short iterations
Cost
People-Time
Scope
Mythical Man-
Negotiable
Month (F. Brooks)
Twelve XP Practices
Interchangeable programmers
Team can go at full speed
Can change anything, anytime, without
delay
8. Continuous Integration
Avoids “ versionitis” by keeping all the
programmers on the same page
Integration problems smaller, taken one
at a time
Eliminates traditional, high-risk
integration phase
9. On-site Customer
40 Hour Week
Metaphor
Simple Design
Refactoring
Short Releases
Coding Standards
Collective Ownership Continuous Integration
Web
Agile Alliance:
www.agilealliance.org
Scrum:
www.controlchaos.com
Don Well’ s XP Introduction:
Extreme Programming: A Gentle Introduction
www.extremeprogramming.org
How Not to Get Started
1. Read some
2. Discuss some
3. Start an approach without advice from those with
previous experience
4. Draw conclusions from experience
Can work this way, but its risky
Often fails to define and leverage success
criteria. Often unrealistic expectations.
Inexperience decreases chances of success
How Best to Get Started
Get help from experienced people for:
Readiness assessments
Approach selection
Pilot / skunkworks vs. changing existing process
Mission-critical vs. stand-alone
Selective best practices vs. complementary set vs. all
best practices
Measurement and success criteria
Identifying and delivering targeted training, mentoring,
coaching, project management / stewardship
Agile Best Practice
Adaptations
How long should iterations and releases be?
How does development work with QA?
How do our stakeholders work with multiple
customers?
How should our teams be structured?
How do we work with regulatory agencies?
How does this work with legacy systems?
How does this work with Use Cases and RUP?
How do we ensure architectural vision and usage.
Agile Summary