Becoming Agile ...in an imperfect world cover
welcome to this free extract from
an online version of the Manning book.
to read more
or

Foreword

 

Over the years I have seen a lot of software development organizations try to become agile. Some have succeeded beyond their wildest dreams and continue to improve to this day. But those are the exceptions. In a more typical scenario, agile development shows some initial success, but once the low-hanging fruit has been picked, it doesn’t seem to deliver that much sustained value over time. The question is, why does sustained success from agile development seem to be so elusive?

I observe three reasons why agile initiatives seem to plateau:

First, agile development is frequently initiated as a grassroots movement to develop better software—it is seen as a “developer thing.” Consequently, development managers and customer organizations are often not on board. This is a mistake, because dramatic improvements from agile development require a different mindset on the part of both development managers and the organizations for which the software is being developed.

Second, some companies have made serious missteps in applying agile—perhaps by developing an unmaintainable code base or creating an unsupportable set of expectations in the minds of development teams or customers. Sometimes an agile implementation follows a simple recipe that is a bad fit to the company needs; sometimes the implementation is perfect for some people in the company (developers, for instance), but it doesn’t take into account the needs of others (testers, for example).