Book description
The Art of Agile Development contains practical guidance for anyone considering or applying agile development for building valuable software. Plenty of books describe what agile development is or why it helps software projects succeed, but very few combine information for developers, managers, testers, and customers into a single package that they can apply directly.
This book provides no-nonsense advice on agile planning, development, delivery, and management taken from the authors' many years of experience with Extreme Programming (XP). You get a gestalt view of the agile development process, including comprehensive guidance for non-technical readers and hands-on technical practices for developers and testers.
The Art of Agile Development gives you clear answers to questions such as:
- How can we adopt agile development?
- Do we really need to pair program?
- What metrics should we report?
- What if I can't get my customer to participate?
- How much documentation should we write?
- When do we design and architect?
- As a non-developer, how should I work with my agile team?
- Where is my product roadmap?
- How does QA fit in?
Whether you're currently part of an agile team, working with an agile team, or interested in agile development, this book provides the practical tips you need to start practicing agile development. As your experience grows, the book will grow with you, providing exercises and information that will teach you first to understand the rules of agile development, break them, and ultimately abandon rules altogether as you master the art of agile development.
"Jim Shore and Shane Warden expertly explain the practices and benefits of Extreme Programming. They offer advice from their real-world experiences in leading teams. They answer questions about the practices and show contraindications - ways that a practice may be mis-applied. They offer alternatives you can try if there are impediments to applying a practice, such as the lack of an on-site customer.
--Ken Pugh, Author of Jolt Award Winner, Prefactoring
"I will leave a copy of this book with every team I visit."
--Brian Marick, Exampler Consulting
Publisher resources
Table of contents
- The Art of Agile Development
- Dedication
- Preface
-
I. Getting Started
- 1. Why Agile?
- 2. How to Be Agile
- 3. Understanding XP
-
4. Adopting XP
-
Is XP Right for Us?
- Prerequisite #1: Management Support
- Prerequisite #2: Team Agreement
- Prerequisite #3: A Colocated Team
- Prerequisite #4: On-Site Customers
- Prerequisite #5: The Right Team Size
- Prerequisite #6: Use All the Practices
- Recommendation #1: A Brand-New Codebase
- Recommendation #2: Strong Design Skills
- Recommendation #3: A Language That’s Easy to Refactor
- Recommendation #4: An Experienced Programmer-Coach
- Recommendation #5: A Friendly and Cohesive Team
- Go!
- Assess Your Agility
-
Is XP Right for Us?
-
II. Practicing XP
- 5. Thinking
-
6. Collaborating
-
Trust
- Team Strategy #1: Customer-Programmer Empathy
- Team Strategy #2: Programmer-Tester Empathy
- Team Strategy #3: Eat Together
- Team Strategy #4: Team Continuity
- Impressions
- Organizational Strategy #1: Show Some Hustle
- Organizational Strategy #2: Deliver on Commitments
- Organizational Strategy #3: Manage Problems
- Organizational Strategy #4: Respect Customer Goals
- Organizational Strategy #5: Promote the Team
- Organizational Strategy #6: Be Honest
- Questions
- Results
- Contraindications
- Alternatives
- Further Reading
- Sit Together
- Real Customer Involvement
- Ubiquitous Language
- Stand-Up Meetings
- Coding Standards
- Iteration Demo
- Reporting
-
Trust
-
7. Releasing
- “Done Done”
-
No Bugs
- How Is This Possible?
- How to Achieve Nearly Zero Bugs
- Ingredient #1: Write Fewer Bugs
- Ingredient #2: Eliminate Bug Breeding Grounds
- Ingredient #3: Fix Bugs Now
- Ingredient #4: Test Your Process
- Ingredient #5: Fix Your Process
- Invert Your Expectations
- Questions
- Results
- Contraindications
- Alternatives
- Further Reading
- Version Control
- Ten-Minute Build
- Continuous Integration
- Collective Code Ownership
- Documentation
-
8. Planning
- Vision
-
Release Planning
- One Project at a Time
- Release Early, Release Often
- How to Release Frequently
- An Example
- Adapt Your Plans
- Keep Your Options Open
- How to Create a Release Plan
- Planning at the Last Responsible Moment
- Adaptive Planning and Organizational Culture
- Questions
- Results
- Contraindications
- Alternatives
- Further Reading
- The Planning Game
- Risk Management
-
Iteration Planning
- The Iteration Timebox
- The Iteration Schedule
- How to Plan an Iteration
- The Commitment Ceremony
- After the Planning Session
- Dealing with Long Planning Sessions
- Tracking the Iteration
- When Things Go Wrong
- Partially Done Work
- Emergency Requests
- The Batman
- Questions
- Results
- Contraindications
- Alternatives
- Further Reading
- Slack
- Stories
-
Estimating
- What Works (and Doesn’t) in Estimating
- Velocity
- Velocity and the Iteration Timebox
- How to Make Consistent Estimates
- How to Estimate Stories
- How to Estimate Iteration Tasks
- When Estimating Is Difficult
- Explaining Estimates
- How to Improve Your Velocity
- Questions
- Results
- Contraindications
- Alternatives
- Further Reading
-
9. Developing
- Incremental Requirements
- Customer Tests
- Test-Driven Development
- Refactoring
- Simple Design
- Incremental Design and Architecture
- Spike Solutions
- Performance Optimization
- Exploratory Testing
-
III. Mastering Agility
- 10. Values and Principles
- 11. Improve the Process
- 12. Rely on People
- 13. Eliminate Waste
- 14. Deliver Value
- 15. Seek Technical Excellence
- References
- Index
- About the Authors
- Colophon
- Copyright
Product information
- Title: The Art of Agile Development
- Author(s):
- Release date: October 2007
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9780596527679
You might also like
book
The Art of Agile Development, 2nd Edition
Most companies developing software employ something they call "Agile." But there's widespread misunderstanding of what Agile …
book
Succeeding with Agile
Proven, 100% Practical Guidance for Making Scrum and Agile Work in Any Organization This is the …
book
The Agile Developer's Handbook
A pragmatic companion guide to your Agile journey About This Book Make your team Agile by …
book
Learning Agile
Learning Agile is a comprehensive guide to the most popular agile methods, written in a light …