Agile Development Practices 2008


Agile Growing Pains

Often, examples of agile successes are presented in the context of small, software-only development teams. Michael Kirby describes what it took to deploy agile development techniques in a large, embedded software development organization. Michael describes the successes-and some of the failures-of deploying agile development in Xerox's Production Printer Development Team.

Michael Kirby, Xerox Corporation
Agile Project Inception: Escaping the Waterfall

Whether you are working on a new development effort or the next release of an existing system, you are probably required to make a compelling business case for the proposed work to clear an approval committee's "go/no-go" process. As an approval prerequisite, many organizations require big up-front planning and estimating resulting in a "complete" project plan including dates, costs, and resources. However, a key aspect of agility is an incremental, just-in-time approach to planning and estimating.

Kenny Rubin, Innolution
Agile Project Metrics

Agile projects and traditional projects are tracked differently. The key difference is that agile projects track outcomes; traditional projects track activities. Project managers who are new to agile are often unsure which measures are relevant to which stakeholders and how to interpret them, and how agile metrics tie back to some of the more familiar forms of project reporting.

David Nicolette, Valtech Technologies
Agile Usability Testing

Agile development has become mainstream in the past few years, and for thousands of companies around the world, it has succeeded in reducing risk and delivering more value for less money. Yet, with the emphasis on pleasing the customer, and the philosophy of doing the simplest thing that could possibly work, there's one area where agile development has fallen short of more traditional methodologies-creating highly usable software.

John De Goes, N-BRAIN, Inc.
Are We There Yet? Defining "Done"

"Are you done yet?" The answer to this question may sink your career, your team, and your project. If you respond with a "yes," you may be forced to take on additional work you can't handle. If you say "no," you may be branded as someone who can't get things done. Mitch Lacey notes that this innocent question is asked countless times on almost every software project. Establishing an upfront, common understanding of "done" can save teams and businesses countless hours of rework, process-thrash, unclear communication, and hidden work.

Mitch Lacey, Mitch Lacey & Associates, Inc.

Assessing Your Agility

Are you curious how "agile" your organization is? Do you wonder how you compare with other organizations that have been using agile for a similar amount of time? Do you want an authoritative source of information to help guide your successful transition to agile? Mike Cohn and Kenny Rubin present a framework for assessing organizational agility. Specifically, they examine the areas of teamwork, requirements, planning, technical practices, quality, culture, and knowledge creation.

Mike Cohn, Mountain Goat Software
Behavior-Driven Database Design

Agile methods focus on creating executable code quickly and with fewer defects. But what about the database? The database is "the" component of the application that is thought to be the least agile and often excluded from agile development. Pramod Sadalage explains how the concepts of Behavior-Driven Development (BDD) can be applied to database development to drive the design of the database using executable specifications.

Pramod Sadalage, ThoughtWorks Inc
Beware of Your Brain

Cognitive scientists tell us that we are more productive and happier when our behavior matches our brain's hardwiring-when what we do and why we do it matches the way we have evolved to survive over tens of thousands of years. One problematic behavior humans have is that we are hardwired to instantly decide who we trust. And we generally aren't aware of these decisions-it just happens. Linda Rising explains that this hardwired "trust evaluation" can get in the way of working well with others.

Linda Rising, Independent Consultant

Beyond Best Practices: Keeping Agile Agile

Adopting "best practices" seems to be an intrinsic part of the transition to agile-with many organizations creating special process teams and hiring methodology consultants to implement and enforce best practices. These practices often are seen as a cornerstone of an agile change program and are even touted as a selling point-"Our projects will surely succeed if we follow best practices!" And of course, there are industries and ecosystems that have grown up around accreditation, auditing, and support of specific agile methods.

Dan North, ThoughtWorks

Calling all Agile Skeptics - the Curious, and Die-Hard, Non-Agile

Not convinced about agile? Curious about this new approach, but not sure it makes any sense? Does it feel like agile goes against everything your experience tells you is the right thing to do? Damon Poole examines your concerns, doubts, counter-examples, and horror-stories. If you are interested in helping to answer the concerns of others, then bring your answers, positive examples, and experiences. In either case, bring an open mind, a sense of humor, and at least one anecdote.

Damon Poole, AccuRev


CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.