Did the Agile Manifesto make us Lazy?

Summary

All but a few pitch the Agile Manifesto as the greatest thing since sliced bread. Consultants and trainers earn large amounts of money by selling Agile as the solution for all development-related problems. To them, the Agile Manifesto is like the Bible.

In reality, many Agile projects take forever to complete or are abandoned after failing to deliver the desired results. I see companies rehiring the project managers and architects they fired a couple of years ago as part of implementing Agile. These companies went through the Peak of Inflated Expectations and are now crawling out of the Trough of Disillusionment.


Lets start with the good stuff.

Every new day is more unpredictable and dynamic than the day before. The higher the uncertainty of a market, the more the business and IT crave for flexibility and experimentation. In these situations, the business cannot articulate and fixate all requirements upfront, a prerequisite of traditional waterfall programming. At first sight, Agile enters the scene therefore as the knight in shining armor as it:

  • puts the customer first,
  • delivers rapidly (e.g. develop and deploy most valuable requirements first),
  • strives to eliminate waste (e.g. no elaborated requirements analysis for a proof of concept),
  • amplifies learning (e.g. customer feedback after every sprint demo),
  • makes decisions as late as possible (e.g. adjust priorities backlog along the way),
  • empowers the team (e.g. encourage instead of motivate),
  • has built-in integrity in (e.g. soft controls, authority based on expertise not hierarchy), and
  • sees the whole (e.g. work towards a shared business goal).

All good stuff, which makes Agile such an easy sell. However, it is not a silver bullet.

The bad stuff – no longer a means to an end

Several founding authors of the Agile Manifesto declared Agile dead. Not literally, but they expressed their frustration with the commoditization of their brainchild. Quoting Andrew Hunt:

” What was supposed to be an adaptive, collaborative, and customer-centric approach to development has instead become an over-hyped, buzzword-ridden exercise that delivers almost no value to the organizations that have embraced it.”

Dave Thomas, another founding author is even more pessimistic:

” The word “agile” has been subverted to the point where it is effectively meaningless, and what passes for an agile community seems to be largely an arena for consultants and vendors to hawk services and products.

….

Once the Manifesto became popular, the word agile became a magnet for anyone with points to espouse, hours to bill, or products to sell. It became a marketing term, coopted to improve sales in the same way that words such as eco and natural are.”

One can hire Agile Developers and Agile Testers, buy Agile Tools and become an Agile Certified Practitioner. Apart from the fact that agile is an adjective, not a noun, the Agile Manifesto is “a set of values based on trust and respect for each other and promoting organizational models based on people, collaboration, and building the types of organizational communities in which we [the 13 founding authors] would want to work.” It is not a set of strict rules or methodology. The founding authors expected us practitioners to be pragmatic and use our common sense.

But ‘mushy’ stuff is difficult to sell, let alone certify against. Trainers, consultants and tool vendors need easy to convey bullet lists in their PowerPoint presentations.

The bad stuff – It makes us lazy

At the start of the project, the business executive acting as the Product Owner asks the team: build a green car. Two weeks later, at the end of the sprint demo: “Hmmm, one second thought, paint it red”. The following week the business executive visits a potential client (result: paint it white!). Two months later, after visiting a conference with some colleagues: black is new white! Another twelve months pass and out comes a blue car with yellow dots and white stripes on the roof.

Ask critical questions and the typical answer will be along the lines of “Its Agile. Everybody is doing it this way.”

When the scrum team is funded by IT, considerable waste is almost inevitable as there is no incentive for the business nor the team to think things through. Not only feature-wise, but also regarding architecture, security and so on. Even when the business funds the project, wasteful practices can go on for a while, especially when senior executives don’t feel comfortable enough to call the bluff of the Theorists/Evangelists/Zealots.

Contrary to waterfall and Spiral Model, there is no explicit exit strategy in Agile. Agile loves changing requirements, even late in the development process. It is one of its strengths, but also a potentially expensive weakness. Left unmanaged (read: lack of executive oversight), the Product Owner and the rest of the team will make sure there is a filled backlog. There are always features, defects, performance issues, optimizations of the Ops team and tweaks.

Hence, proper governance, portfolio management, program management, performance management and even project management did not suddenly become obsolete with the introduction of Agile. Don’t let trainers and consultants fool you. When you have to go back to your CEO, COO, CFO for the fifth time to ask for more budget, you either have a really good story, or it is most likely time to continue your career somewhere else.

Unmanaged, Agile hides low business maturity (e.g. sloppy requirements) and low IT maturity (e.g. code quality, velocity).

The bad stuff – Power imbalance

Too much focus on early visibility and desires of the business inevitably results in two large and expensive buckets. The first is filled with technical debt and the another with defects.

Unless the team (and/or CIO/CTO) is stong enough to bring balance to the following two forces:

  • Feature-focus of business. The payback period of a secure, modular and scalable architecture is much longer than some cool visual gimmick that catches the eye of potential customers. And what about the choice between solving a defect or adding a functional feature? Guess which one is most likely to make it to the top of the backlog when technology illiterate business representatives are driving the backlog? Too one-sided focus on visibility ensures that the attention span of the team is limited to the optics of the current and maybe next sprint demo. As a result, the expected life cycle of at least five years described in the business case approved by the COO and CIO never makes it to the backlog. When technology illiterate business executes are in charge,  technology debt and the defect backlog become orphans.
  • Power-imbalance. This one acts as an multiplier for the first one. Agile pushes IT into the role of Faithful Servant, a positioning described by Van der Zee (I) as “Always helping, wherever possible, no questions asked.” Very different from a Business Partner, which is described as “Top quality, knows what we want, always one leap ahead.” The lower seniority of the developers and scrum master and more technology illiterate the business, the larger the risk (both probability and impact) the project will fail. Giving full authority to the business puts the developers in an underdog position. They are restricted to executing what the Product Owner tells them.

Security (e.g. OWASP 10), architecture, reliability, upgradability, performance and maintainability are neither easy to visualize nor atomize into two-week sprints. They are not part of the happy flow, nor can they be done piecemeal. The same applies to defects. While they can be stored in an ever growing defect backlog, eventually the business has to face the music.

The bad stuff – self organizing utopian  

 Quoting Moscar’s article Why Agile Isn’t Working: Bringing Common Sense to Agile Principles published on CIO.com: “You cannot replace accountable and responsible project management with some immature utopian myth of self-organization. That’s no science for success.”

Self-organization is a source of flexibility, productivity, creativity and even efficiency. It is also a very complex concept to translate from theory to practice. Furthermore, self-organization doesn’t mean that the team:

  • doesn’t have managers or that they get to decide what problems to solve or what product to build.
  • doesn’t have any tooling constraints, or architectural constraints, or budget constraints, or timing constraints.
  • decides who is on the team, how big the team is, or how much money everyone on the team should make.

At least as important in my experience: commitment and the willingness to burn the midnight oil  are not enough to be effective as a team. The widely adopted Situation Leadership Model from Hersey and Blanchard explains that individual performance depends on both the willingness and ability to perform a task. Most of the challenged projects suffered from decisions made by individuals who were ‘unable but confident’.

Everybody has one or more blind spots: the willingness to take responsibility for a task, but unaware he or she lacks one or more of the required competences or skills. Think of:

  •  business executives setting unrealistic expectations
  • IT promising the business something without overseeing the consequences (e.g. resources, planning budget)
  • unable to look beyond theory (e.g.  in reality, the business does not have unlimited budget)
  • assuming there is no difference between soft skills required to manage a waterfall project or Agile project
  • estimating project velocity after developing two simple features and testing the happy-path
  • assuming a skyscraper can be build the same way as a one-story house
  • ignoring an almost non-existent velocity in the first part of the project, assuming the team will magically make up the difference during the second half
  • developing an application module in Java even though the rest of the application portfolio is based on C# (When asked why: “the team wanted to try something different”)

Hence, self-organization is a great goal to strive for, but it is dangerous to underestimate the impact of operationalizing this utopian concept.

Furthermore, most leaders and managers have work within the boundaries dictated by the skill sets, culture, experience and budget available to them. Coaching, training, 360 degree feedback, evaluation meetings and performance reviews can only achieve so much. Somebody used to twenty years waterfall development (being exactly told what to do) will have a very hard time to transition to an Agile approach. Coaching and training can make an introvert but highly experienced and capable developer a bit less introvert. He or she is however unlikely to ever become the life and soul of the party.

Effective self-organization requires leadership, time and common sense from all stakeholders involved.

Comments

Popular posts from this blog

Outsourcing risk and Madoff

Expect more selective IT outsourcing, part 1

What is the Actual Value of The Yearly Ritual Certification Dance?