InfoQ

Minibook

Scrum and XP from the Trenches

Posted by Henrik Kniberg on Jun 27, 2007 01:18 PM

Community
Agile
Topics
Agile Techniques ,
Stories & Case Studies
Tags
Collaborative Technologies ,
Distributed Teams ,
XP ,
Scrum ,
Introducing Agile


The tricky part to agile software development is that there is no manual telling you exactly how to do it. You have to experiment and continuously adapt the process until it suits your specific situation.

This book aims to give you a head start by providing a detailed down-to-earth account of how one Swedish company implemented Scrum and XP with a team of approximately 40 people and how they continuously improved their process over a year's time.

Under the leadership of Henrik Kniberg they experimented with different team sizes, different sprint lengths, different ways of defining "done", different formats for product backlogs and sprint backlogs, different testing strategies, different ways of doing demos, different ways of synchronizing multiple Scrum teams, etc. They also experimented with XP practices - different ways of doing continuous build, pair programming, test driven development, etc, and how to combine this with Scrum.

Your team's constraints may dictate a different configuration of practices (and even compromises), but here is an example of how to approach the "continuous improvement" process that will make your Agile process work best for you.

This book includes:

  • Practical tips and tricks for most Scrum and XP practices
  • Typical pitfalls and how they were addressed
  • Diagrams and photos illustrating day-to-day work
  • Testing and test-driven development
  • Scaling and coordinating multiple teams
  • Dealing with resistance from inside and outside the team
  • Planning and time estimation techniques
  • Forwards by Jeff Sutherland and Mike Cohn

168 pages, 6" x 9", ISBN: 978-1-4303-2264-1

Free download

Courtesy of Henrik Kniberg and InfoQ.com, we're happy to offer a free version for download, to get this knowledge in as many peoples hands as possible. Login to download this book FREE (PDF)

Buy the print version for $22.95

If you enjoyed reading the free (non-printable) download version, please support the author and InfoQ's book series by buying the print version for only $22.95.

Translations

Here you can find the translated versions of the book:

  • French version, thanks to Guillaume Mathias, Bruno Orsier, Emmanuel Etasse, Christophe Bunn
  • Chinese version, thanks to Jacky Li
  • Japanese version, thanks to Shoichi Goto
  • Spanish version, thanks to Ángel Medinilla
  • Portuguese version, thanks to various volunteers

Table of contents

Foreward by Jeff Sutherland

Foreward by Mike Cohn

1. Introduction

2. How we do product backlogs

3. How we prepare for Sprint planning

4. How we do Sprint planning

5. How we communicate Sprints

6. How we do Sprint backlogs

7. How we arrange the team room

8. How we do daily Scrum

9. How we do Spring demos

10.How we do Spring retrospectives

11.Slack time between Sprints

12.How we do release planning and fixed priced contracts

13.How we combine Scrum with XP

14.How we do testing

15.How we handle multiple Scrum teams

16.How we handle geographically distributed teams

17.Scrum master checklist

18.Parting words

Recommended reading

About the Author

About the Author

Henrik Kniberg is a consultant at Crisp in Stockholm (http://www.crisp.se), specializing in Java and Agile software development. He has founded several Swedish software companies and is passionate about learning, teaching, and applying the art of software development. Henrik takes a holistic approach and enjoys adopting different roles such as manager, developer, scrum master, teacher, and coach. For more info see http://www.crisp.se/henrik.kniberg.

Related Sponsor

VersionOne is recognized by Agile practitioners as the leader in Agile project management tools. Companies such as Adobe, BBC, CNN, Dow, HP, IBM, Sony and 3M have turned to VersionOne to help deliver greater value to their customers.

Educational Content

JRuby: The Pain of Bringing an Off-Platform Dynamic Language to the JVM

Charles Nutter discusses bringing JRuby to the JVM, why Ruby is hard to implement, JIT compilation, precompilation, core Ruby implementation, Java library access, library challenges and future plans.

Performance Anti-Patterns in Database-Driven Applications

Alois Reitbauer specifies several architectural anti-patterns that one should stay away from and which can downgrade an application’s performance.

Making TDD Stick: Problems and Solutions for Adopters

Teams in large organizations still struggle to adopt TDD. In this article Mark Levison shares problems he uncovered when he surveyed teams, and his own strategy to introduce TDD into an organization.

Testing is Overrated

In this talk from RubyFringe, Luke Francl asks: is developer-driven testing really the best way to find software defects? Or is the emphasis on testing and test coverage barking up the wrong tree?

VM Optimizations for Language Designers

John Pampuch discusses the HotSpot compiler, the history of Java performance, HotSpot development philosophies and challenges, optimization, JVM library improvements, and tips for better performance.

Keith Braithwaite, an Agile Skeptic

In this interview, Keith Braithwaite, an Agile developer, consultant and trainer, says that we should show a good deal of skepticism towards today’s Agile practice.

Workflow Orchestration Using Spring AOP and AspectJ

This article demonstrates how to build and orchestrate highly configurable and extensible yet light-weight embedded process flow using AOP techniques with Spring AOP and Aspect J.

Embrace Uncertainty

Jeff Patton explains why one needs to embrace uncertainty in order to succeed with his/her Agile project and how to avoid some of the common mistakes leading to project failure.