Join the Agile Community

With more than 4261 members located around the globe, the Agile Alliance is driven by the values and principles of the Manifesto for Agile Software Development

We support those who explore and apply Agile principles and practices to make the software industry productive, humane, and sustainable.

Knowledge Repository

Search for text or agile alliance members

Books

Scrum and XP from the Trenches

New_front_cover_7-10 by Henrik Kniberg

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.

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


Changing Software Development: Learning to be Agile

Csd_cover by Allan Kelly

Changing Software Development explains why software development is an exercise in change management and organizational intelligence. An underlying belief is that change is learning and learning creates knowledge. By blending the theory of knowledge management, developers and managers will gain the tools to enhance learning and change to accommodate new innovative approaches such as agile and lean computing.

This book looks both at the change process – how do you change to be Agile? – and at the underlying learning needed to create and support a true Agile team, and build the wider learning organization.


Métodos Ágiles

Cubierta by Sebastian Priolo

This book is an introduction to every agile methods. It is focused primarily on students and teachers, however it was used in different organizations and IT enterprises. The main subjects are Scrum and XP Programming.


Agile Coaching

Sdcoach_small by Rachel Davies and Liz Sedley

Discover how to coach your team to become more Agile. Agile Coaching de-mystifies agile practices—it’s a practical guide to creating strong agile teams. Packed with useful tips from practicing agile coaches Rachel Davies and Liz Sedley, this book gives you coaching tools that you can apply whether you are a project manager, a technical lead, or working in a software team.


Java Power Tools

Jpt by John Ferguson Smart

All true craftsmen need the best tools to do their finest work, and programmers are no different. Java Power Tools delivers 30 open source tools designed to improve the development practices of Java developers in any size team or organization. Each chapter includes a series of short articles about one particular tool – whether it’s for build systems, version control, or other aspects of the development process – giving you the equivalent of 30 short reference books in one package. No matter which development method your team chooses, whether it’s Agile, RUP, XP, SCRUM, or one of many others available, Java Power Tools provides practical techniques and tools to help you optimize the process. The book discusses key Java development problem areas and best practices, and focuses on open source tools that can help increase productivity in each area of the development cycle, including: Build tools including Ant and Maven 2 Version control tools such as CVS and Subversion, the two most prominent open source tools Quality metrics tools that measure different aspects of code quality, including CheckStyle, PMD, FindBugs and Jupiter Technical documentation tools that can help you generate good technical documentation without spending too much effort writing and maintaining it Unit Testing tools including JUnit 4, TestNG, and the open source coverage tool Cobertura Integration, Load and Performance Testing to integrate performance tests into unit tests, load-test your application, and automatically test web services, Swing interfaces and web interfaces Issue management tools including Bugzilla and Trac Continuous Integration tools such as Continuum, Cruise Control, LuntBuild and Hudson If you area Java developer, these tools can help improve your development practices, and make your life easier in the process. Lead developers, software architects and people interested in the wider picture will be able to gather from these pages some useful ideas about improving your project infrastructure and best practices.


Bridging the Communication Gap: Specification by Example and Agile Acceptance Testing

Cover-250 by Gojko Adzic

Bridging the Communication Gap is a book about improving communication between customers, business analysts, developers and testers on software projects, especially by using specification by example and agile acceptance testing. These two key emerging software development practices can significantly improve the chances of success of a software project. They ensure that all project participants speak the same language, and build a shared and consistent understanding of the domain. This leads to better specifications, flushes out incorrect assumptions and ensures that functional gaps are discovered before the development starts. With these practices in place you can build software that is genuinely fit for purpose.

This book is primarily intended for product owners, business analysts, software developers and testers who want to learn about agile acceptance testing and implement it. It should also prove to be interesting to project managers working on software projects, both within the implementation team and on the customer side. It is intended both for people already working with agile processes and for people who wish to migrate to them.

Read this book to:

  • learn how to improve communication between business people and software implementation teams
  • find out how to build a shared and consistent understanding of the domain in your team
  • learn how to apply agile acceptance testing to produce software genuinely fit for purpose
  • discover how agile acceptance testing affects your work whether you are a programmer, business analyst or a tester
  • learn how to build in quality into software projects from the start, rather than control it later

Reviews

This book is a must read for anyone involved in creating a product; management, testers and developers. Use it to change the way you think projects should be run and close those communication gaps. — Toby Henderson

I wish that the book had been available a few years ago when the company I was at (and myself) were trying out agile. Could have been a lot easier and more successful if we’d read it. — Philip Kirkham

If you’ve tried agile acceptance testing you’ll know that as well as being a really exciting it’s also incredibly difficult. Luckily we now have a book that helps guide us through the many tricky choices that we face, practical and pragmatic advice that even the most experienced agile developer should be aware of. — Colin Jack, Senior Software Developer, FNZ

Effective software development is all about good communication and this book explains the toolkit that allows us to do this effectively. Worth reading whatever your role is. — Mark Needham, http://www.markhneedham.com/blog/

Whether you’re new to testing, new to agile, or an old pro at one or both, you’ll experience “aha” moments that will inspire your team as you read. This book will challenge some of your preconceived notions and make you think. It paves the way for people in different roles, such as business analysts, QA engineers and developers, to adapt to a more productive agile approach. From practical ways to improve communication with customers, to helpful examples of useful test tools, this book is a major addition to our agile testing knowledge base. — Lisa Crispin, co-author, Agile Testing: A Practical Guide for Testers and Agile Teams

Have you ever wanted a better way to communicate, clarify and satisfy business requirements? Wouldn’t it be great if those requirements evolved along with the software, always consistent and clear? And those requirements helped drive development so that we knew when we were done? With clarity, Gojko describes an elegance and effective way of achieving this with the whole team: Inventing, thinking and communicating with specific, insightful examples that also serve as acceptance tests. — Rick Mugridge, www.rimuresearch.com, and lead author of “Fit for Developing Software”, Prentice Hall, 2005.

Gojko addresses an underrated point: that Test-Driven Requirements, or Executable Requirements, are not about tools, automated tests, or even professionalism. They are about communication. I wish each of my colleagues and clients had a copy of his book, and maybe that fact will be made just a little bit clearer to them. — Eric Lefevre-Ardant, Agile Coach and Developer, http://ericlefevre.net/

As a tester, I welcome any opportunity to increase shared understanding of requirements and expectations – our team will be relying on this book to guide us as we begin our journey with agile acceptance testing. — Marisa Seal

This book will help you to avoid some mistakes in agile acceptance testing. It will also increase your confidence in implementing new process, help to change tester’s view and identify next steps. The most important part, this book is written by a real practitioner with some real-life examples. Believe me, you would be at least 6 months ahead of the game in Agile QA by just reading Gojko’s book. — Gennady Kaganer, QA Manager at Standard and Poor’s

Gojko applies his experience to the practice of producing software that is useful to end users. This is an important work in extending the test-driven specification of software beyond individual units and into the sum of the parts. — Bob Clancy, www.agiletester.net

Bridging the Communication Gap will not only bring you up-to-date with the latest thinking about agile acceptance testing, but also guide you as you put the ideas into practice. This book is packed with insights from Adzic’s experience in the field. — David Peterson, creator of the Concordion acceptance-testing framework

I’m convinced that the practice of agile acceptance testing, done properly, can make a dramatic improvement to both the communication with the customer and the quality of the final product. This book is a solid introduction to the subject, and represents the first attempt I’ve seen to survey the practice as a whole without focusing on a single tool or technology. — Geoff Bache

Gojko’s book is a worthwhile read for both managers and practitioners. It is both complete in its content and inspirational in its message. David Vydra www.testdriven.com


xUnit Test Patterns - Refactoring Test Code

Cover-large by Gerard Meszaros

Automated testing is a cornerstone of agile development. An effective testing strategy will deliver new functionality more aggressively, accelerate user feedback, and improve quality. However, for many developers, creating effective automated tests is a unique and unfamiliar challenge.

xUnit Test Patterns is the definitive guide to writing automated tests using xUnit, the most popular unit testing framework in use today. Agile coach and test automation expert Gerard Meszaros describes 68 proven patterns for making tests easier to write, understand, and maintain. He then shows you how to make them more robust and repeatable—and far more cost-effective.

Loaded with information, this book feels like three books in one. The first part is a detailed tutorial on test automation that covers everything from test strategy to in-depth test coding. The second part, a catalog of 18 frequently encountered “test smells,” provides trouble-shooting guidelines to help you determine the root cause of problems and the most applicable patterns. The third part contains detailed descriptions of each pattern, including refactoring instructions illustrated by extensive code samples in multiple programming languages.

Topics covered include:
  • Writing better tests—and writing them faster
  • The four phases of automated tests: fixture setup, exercising the system under test, result verification, and fixture teardown
  • Improving test coverage by isolating software from its environment using Test Stubs and Mock Objects
  • Designing software for greater testability
  • Using test “smells” (including code smells, behavior smells, and project smells) to spot problems and know when and how to eliminate them
  • Refactoring tests for greater simplicity, robustness, and execution speed

This book will benefit developers, managers, and testers working with any agile or conventional development process, whether doing test-driven development or writing the tests last. While the patterns and smells are especially applicable to all members of the xUnit family, they also apply to next-generation behavior-driven development frameworks such as RSpec and JBehave and to other kinds of test automation tools, including recorded test tools and data-driven test tools such as Fit and FitNesse.


Fearless Change: Patterns for introducing new ideas

Image by Mary Lynn Manns & Linda Rising

The spark for a new idea in an organization most often begins with one or more individuals who has heard about or used the innovation and is intrigued over the potential. It then becomes their task to enlighten the rest of the organization. This can be an easier undertaking if one has an understanding of the problems that may be encountered along the way and what can be done to address these problems. This book captures recurring problems and the corresponding successful solutions for introducing new ideas into organizations—we document these in a form of knowledge management known as patterns.


Scrum - Agiles Projektmanagement erfolgreich einsetzen

Scrumbuchcover by Roman Pichler

Dieses Buch beschreibt Scrum umfassend, systematisch und leicht verständlich: Dies beinhaltet die Scrum-Rollen, den Scrum-Prozess, Anforderungsbeschreibung und -management in Scrum, Schätzen, Planen und Verfolgen des Gesamtprojekts sowie das Arbeiten mit “Sprints” (Iterationen). Auch die Anwendung von Scrum in großen und verteilten Projekten sowie die unternehmensweite Einführung von Scrum werden beschrieben. Dabei fließen Erkenntnisse aus dem Bereich der schlanken Produktentwicklung (Lean Product Development) ein.

Das Buch wendet sich an Einsteiger in das Thema Scrum und agiles Projektmanagement sowie an Fortgeschrittene, die sich weiterbilden möchten, bzw. Leser, die sich auf Scrum-Zertifizierungen wie Certified ScrumMaster und Certified Scrum Product Owner vorbereiten.

Scrum-Erfinder, Evangelist und Autor Ken Schwaber sagt über das Buch: “The only question regarding Roman Pichler’s new book on Scrum is, ‘where is the English version?’ I’ve known and worked with Roman for years with Scrum, so the book is full of practical advice. This book not only faithfully documents Scrum, it also provides a state of the art view of the most current thinking about using Scrum.” (aus dem Geleitwort von Ken Schwaber)


Agile Portfolio Management

Agile_portfolio_management by Jochen Krebs

Find out how your company s full project portfolio can benefit from the principles of agility from an expert on agile processes. Agile software development is now more popular than ever, but agility doesn t need to stop there. This guide takes a big-picture look at how portfolio managers and project managers can make use of proven agile development methods to increase organizational efficiency.

It can be difficult for companies to manage multiple development teams and to ensure that they are in line with evolving corporate strategies. Agile project-management methods help you build more flexible processes that invite feedback and collaboration, adapt to change, and gain better project insights. They enable project teams to execute corporate strategy and top-level managers to make sound decisions. This guide delivers practical, real-world strategies for implementing agile methods across your organization. Learn best practices for reassessing your company-wide processes; successfully coordinating multiple software teams without imposing a rigid, top-down structure; developing clear roles and responsibilities; and transitioning to an agile enterprise.

Key Book Benefits:

Delivers practical, real-world guidance on bringing agile software development methods to your entire enterprise Provides specific suggestions for improving processes, developing clear roles, and making decisions Features a survey of popular agile project management methods

More Books: 1 2 3 ... 6