Cool Code
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Henrik Kniberg on Jun 27, 2007
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:
168 pages, 6" x 9", ISBN: 978-1-4303-2264-1
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)
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.
Here you can find the translated versions of the book:
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 Sprint demos
10.How we do Sprint 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
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.
Transforming Software Delivery: An IBM Rational Case Study
SCM best practices for multiple processes, releases & distributed teams
In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.