Agile Software Development
Evaluating the Methods for Your Organization
by Alan S. Koch

Published by Artech House Books and available at Amazon.com.

This is the first truly impartial book that offers an expert objective analysis of Agile software development methods together with much-needed tools for evaluating their suitability for a given organization. It reviews the philosophical underpinnings and objectives of the Agile Manifesto and the 12 Agile Principles, and discusses in concrete detail each practice of the six most widely recognized Agile methods. Managers find concise and unbiased insight into adoption implications, the possible benefits that may accrue, and the potential pitfalls of the practices.

From the Forward by Kent Beck, author of Extreme Programming Explained...

In the end, agility is simply a measure of software development ... is your agility enough for your organization and if not, what are you going to do about it? This book presents the alternatives for improvement fairly and impartially.
From the Forward by Mark Paulk, Leader of the SEI team that wrote the Capability Maturity Model® (CMM®)...
Perhaps the biggest challenge in dealing effectively with both agile and plan-driven methodologies is dealing with extremists in both camps who refuse to keep an open mind. Alan's book can be a useful tool for making informed decisions about the appropriateness of agile methods in your environment.
At its core, this unique assessment tool enables practitioners to confidently reach their own conclusions and make rational, well-supported decisions about Agile methods. It helps managers systematically address key adoption issues involving organizational culture, customers, staff, tools and processes, and project considerations. A comprehensive start-to-finish worksheet makes it easy to document observations at every stage, draw conclusions, and make sound recommendations for a company. The book also offers expert guidance on customizing an Agile method for a specific firm, training staff, testing the new method, and evaluating its performance. Key topics are supported with nearly 100 illustrations. Practical ready-to-use tools, including equations and templates in excel format, are provided in a handy workbook that can be accessed through the author's Web site.

Alan S. Koch, PMP, is a speaker and writer on effective project management methods. He is a certified project management professional and president of ASK Process, Inc., a training and consulting company located in Pittsburgh, Pennsylvania. Previously, Mr. Koch spent 13 years with the Software Engineering Institute (SEI) at Carnegie Mellon University and taught as an adjunct professor of computer science at Geneva College. His 27 years of designing, developing, and maintaining software include extensive experience in quality assurance and software process improvement. Mr. Koch received his M.S. in management science from the University of Dayton, Ohio.

"This book strips away the aura of exclusivity and mysticism from agility and leaves a very practical, step-by-step guide on how to decide what to do next." - Kent Beck, Author of Extreme Programming Explained

About this book

Thesis Agile methods are a hot topic, and many people in the software industry are pushing for adoption of these methods. But adopting any of them will require some fundamental changes in the organization. Rather than simply adopting one of the Agile methods (or deciding not to), a manager is well served to examine the implications of the various Agile practices.

He or she should consider the extent to which each practice is compatible with the organization, and if the requisite changes will be in the best interests of the organization. This will allow a reasoned decision to either adopt one of the Agile methods, or to build a custom method using the Agile practices that are best suited to the organization.

Objectives Give managers and executives a practical guide to assist them in making a decision about bringing an Agile method into their organization.
  • Provide a clear picture of what the Agile Methods are all about
  • Enumerate the considerations that should be made in deciding about Agile methods
  • Identify the principles of the Agile methods
  • Illustrate those principles using the Agile practices
  • List the implications of implementing the practices
  • Provide a template for the necessary analysis and decision
Approach The Agile Manifesto was written by 17 of the leading developers of the Agile methods, and embodies the values and principles upon which their individual works are based. Therefore, we will use the Manifesto and its principles as a touchstone for examining the implications of those methods and the practices they prescribe, and helping managers to make adoption decisions.

Each principle will be illustrated by the practices from each Agile method that embody it. Each practice will be examined for its implications to the organization, providing a basis for the reader to make judgments about it.

Supporting Workbook Readers are encouraged to download the workbook that augments this book. This workbook provides a framework for the reader to record his or her evaluations of the Agile practices and compile a set of preliminary conclusions. The final chapters of the book will guide the reader in transforming the results from the workbook into an adoption decision, and (if the decision is to adopt some form of Agile method), into an action plan.
Buy this book This book can be purchased at Amazon.com
Questions? EvalAgile@ASKProcess.com

Outline

Part 1: Adoption Considerations

In part 1, we set the stage for the book by identifying the things that the reader should keep in mind as he or she evaluates the Agile practices.

1. Introducing the Agile Methods

2. Considerations About Your Organizational Culture

3. Considerations About Your Customers

4. Considerations About Your Projects

5. Considerations About Your Tools and Processes

6. Considerations About Your Staff

7. Using this book to make your adoption decisions

Part 2: Value: "Individuals and interactions over processes and tools"

This is the first of five parts in which we discuss the implications of the Agile practices. In this part, we examine those practices that support the Value, "Individuals and interactions over processes and tools".

8. About People, Processes, and Tools

9. Motivated individuals and self-organizing teams

10. Face-to-face communication

11. Sustainable pace

12. Supporting Processes and Tools

Part 3: Value: "Working software over comprehensive documentation"

This is the second of five parts in which we discuss the implications of the Agile practices. In this part, we examine those practices that support the Value, "Working software over comprehensive documentation".

13. The role of documentation in a software project

14. Incremental delivery of working software

Part 4: Value: "Customer collaboration over contract negotiation"

This is the third of five parts in which we discuss the implications of the Agile practices. In this part, we examine those practices that support the Value, "Customer collaboration over contract negotiation".

15. Defining the customer relationship

16. Daily collaboration

Part 5: Value: "Responding to change over following a plan"

This is the fourth of five parts in which we discuss the implications of the Agile practices. In this part, we examine those practices that support the Value, "Responding to change over following a plan".

17. Understanding change in software projects

18. Welcome changing requirements

Part 6: The unstated value: Keeping the process "agile"

This is the last of five parts in which we discuss the implications of the Agile practices. In this part, we examine those practices that are not directly related to any of the four values of the Agile Manifesto, but are nonetheless important to the Agile methods.

19. Maintaining the process

20. Technical excellence

21. Maximizing work not done

22. Project reviews

Part 7: The adoption decision

In this last part of the book, we walk through the process of compiling and acting on the information from this book, including deciding about Agile methods, customizing a methods for your organization, rolling it out, and evaluating its effects.

23. Making the adoption decision

24. Adopting the new practices

25. Evaluating the effects of your Agile method

Appendies

A. Agile Manifesto

B. 12 Principles

C. Adaptive Software Development (ASD)

D. Dynamic Systems Development Method (DSDM)

E. Extreme Programming (XP)

F. Feature-Driven Development (FDD)

G. Lean Development

H. SCRUM