This session was lead by Barry Hawkins, a professional Agile Coach. He raised the question, “Should we shoot agile in the head?”
Succeeding at Agile
· In order for an “agile” process to succeed, the right culture within an organization must exist.
o In other words, the organization must be ready to change.
· An organization that is ready to change:
o Has management buy-in
o Has a failure tolerant culture
§ Failures are celebrated just as much as successes.
o Has a culture of testing (regular QA)
o Involves management in product ownership
o Has a clear and consistent vision for where to take the business
o Does NOT have a culture of fear
§ Stated another way, trust exists between management and developers.
· What happens if agile is tried in an organization not ready to change?
o Revert back to old process after the coach leaves.
o Go through the motions of “agile”, but don’t actually understand why, or realize the maximum benefit.
§ Do agile for process sake, which violates one of the most important values of the agile movement: people over process
· Agile exposes organizations weaknesses.
o This is good, only if the organization is ready to address the weaknesses.
· The term “agile” is heavily overloaded.
· The term “agile” means something different to everyone.
· When “agile” fails (or is ill attempted), organizations attach a negative connotation to the word.
Who brings in an Agile Coach?
· Development managers
o Do ask Barry to come in to coach agile specifically (by name).
· Sometimes called in because management thinks agile is a way to “get the hamsters to stay on the wheel longer”, or as a way to squeeze more work out of their developers.
o This, of course totally misses the point. Most of these engagements fail.
Should we introduce agile in organizations which are not ready for change?
· Some organizations will never be ready for change.
· Introducing even some limited agile ideas does have a positive impact.
o Testing is the most common practice adapted by an organization (and with great benefits).
· Sometimes, change must move bottom-up, which requires a slow pace. Thus, introducing ideas slowly is often the a good strategy.
· Organizations not ready for change can make some improvements, but ultimately progress is limited. Such organizations will never achieve the full benefits of agile.
Agile Coaching and Selling
· Agile coaching is a lot like family counseling. Many of the same techniques help an organization to realize where they need to change their culture.
· However, companies are different from individual people.
o The concerns and goals of the company are often different from the concerns and goals of individuals.
· Don’t just talk to technical leadership about agile, talk power (CTO, CEO, etc).
o Make a business case for agility:
§ Rapidly changing customer demands
§ Rapidly changing markets
§ Rapid innovation from competitors
· Don’t talk about agile, talk about the flow of information.
o Talk about adding practices which increase the amount of available information about a project.
§ More data == better decision making
o Talk about adding practices to increase communication of the additional information.
· It takes 5 positive social experiences to offset 1 negative social experience.
Agile and Contracted Work
· It is harder to deliver value using agile as part of a fixed-price engagement.
· Time and Expense engagements allow for more fine-grained agility (for example, allows for greater changes in direction without requiring contract renegotiation).
· However, open-ended T&E engagements require trust. To build up trust, first engage in a fixed-price engagement.
What sits between “pure” agile, and “pure” waterfall?
· Many of the technical practices can be adapted even with a waterfall process
o Pair programming
· The most commonly adapted practice is testing (unit and functional).
Core Ideas of Agile
· People are more important than process
· It’s impossible to know everything about a software project before the project starts.
· The Agile Manifesto is now 10 years old.
· What is better than Agile?
· How has agile changed? What new ideas have been introduced?
· We shouldn’t shoot agile in the head, but we should recognize that it isn’t for everyone.
· Emphasize the core ideas of agile, particularly:
o People over process
o Information and communication
· If you look at the Agile Manifesto, and your organization is doing everything listed in the manifesto, then you have achieved agility. (Barry: It doesn’t get any better than that).
· Get ride of the term “Agile” because it’s original meaning has been lost and perverted.
o Talk about lower-case agile
o Talk about agility