Ask Process
Resources   »   Agile Textbook

Agile Textbook

Download the Supporting Workbook

Free Article Directory

Search the Website

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.
 

 

Agile methods

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 this Web site.

Alan S. Koch, author

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? Contact us

 

Book 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

  • Historical and background information
  • Pointers to the appendices
  • Stage-setting commentary on the Agile methods

2. Considerations About Your Organizational Culture

  • Hierarchical organizations
  • Cooperative organizations

3. Considerations About Your Customers

  • Contracts & Statements of Work
  • Establishing and changing requirements
  • Expectations about collaboration

4. Considerations About Your Projects

  • Size of project teams
  • Criticality of projects
  • Safety and security requirements
  • Multiple teams and subcontractors
  • Integration with hardware and other software

5. Considerations About Your Tools and Processes

  • Requirements management
  • Project management
  • Configuration management

6. Considerations About Your Staff

  • Existing work patterns
  • Changing work patters
  • Making changes stick

7. Using this book to make your adoption decisions

  • The structure of the book: Values, Principles, Practices
  • The Adoption Worksheet
  • Final steps

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

  • Role of People in successful development projects
  • Role of Processes in successful development projects
  • Role of Tools in successful development projects
  • Balancing People, Process and Tools for project success

9. Motivated individuals and self-organizing teams

  • Principles and Practices:
    • Quote two principles
    • Quote several practices
  • Adoption implications
    • Inadequate focus on process
    • Can't always staff team with the "best people"
    • Team structure and roles

10. Face-to-face communication

  • Principles and Practices:
    • Quote one principle
    • Quote several practices
  • Adoption implications
    • Communication issues: (Richness, Lack of persistence Miscommunication Selective memory)

11. Sustainable pace

  • Principles and Practices:
    • Quote one principle
    • Quote several practices
  • Adoption implications
    • The good and the bad of overtime

12. Supporting Processes and Tools

  • Practices:
    • Quote several practices
  • Adoption implications
    • Code control
    • Bug tracking
    • Enhancement requests
    • Change requests

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

  • Purpose of a document
  • Audience for a document
  • Value of a document vs. its cost

14. Incremental delivery of working software

  • Principles and Practices:
    • Quote three principles
    • Quote several practices
  • Adoption implications
    • Time-boxed development
    • Iterative development
    • Continuous integration
    • Incremental delivery
    • Minimizing documentation

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

  • Role of contracts
  • Role of on-going collaboration
  • Balancing contracts and collaboration

16. Daily collaboration

  • Principles and Practices:
    • Quote one principle
    • Quote several practices
  • Adoption implications
    • Establishing requirements
    • Managing requirements changes
    • Customer feedback
    • Acceptance
    • The reluctant customer
    • Project course corrections
    • Contract as a weapon

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

  • Customers learn
  • Developers learn
  • Capitalizing on what we learn

18. Welcome changing requirements

  • Principles and Practices:
    • Quote one principle
    • Quote several practices
  • Adoption implications
    • Incremental planning
    • Tracking progress within the team
    • Reporting progress up the chain
    • When the project deviates from the plan
    • Handling customer change requests
    • Changes injected by the development team

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

  • You are using a process
  • Sources of efficiency and inefficiency
  • Continuous process improvement

20. Technical excellence

  • Principles and Practices:
    • Quote one principle
    • Quote several practices
  • Adoption implications
    • Developers' attention to testing
    • Design entropy and fragile code

21. Maximizing work not done

  • Principles and Practices:
    • Quote one principle
    • Quote several practices
  • Adoption implications
    • Identifying the expendable
    • Danger of missing something important

22. Project reviews

  • Principles and Practices:
    • Quote one principle
    • Quote several practices
  • Adoption implications
    • When to hold a review
    • How to capitalize on a review
    • Process change in mid-project (Dangers, Benefits)

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

  • Compiling your Adoption Worksheet data
  • Drawing conclusions
  • Marketing you conclusions in your organization
  • Agreeing together on an action plan

24. Adopting the new practices

  • Crafting your custom Agile Method
  • Training those who will be affected
  • Pilot testing the new methods
  • Rolling it out to the whole organization

25. Evaluating the effects of your Agile method

  • Project performance
  • Senior management acceptance
  • Customer relationship
  • Team satisfaction
  • Continuously improving your Agile method

Appendies

A. Agile Manifesto

  • Full Text
  • Commentary

B. 12 Principles

  • Quote each
  • Commentary on each

C. Adaptive Software Development (ASD)

  • Practices
  • Defining features

D. Dynamic Systems Development Method (DSDM)

  • Practices
  • Defining features

E. Extreme Programming (XP)

  • Practices
  • Defining features

F. Feature-Driven Development (FDD)

  • Practices
  • Defining features

G. Lean Development

  • Practices
2009-13 ASK Process, Inc.
Website design by www.GraphicsPark.org