Like many other agile consultants I am often asked how agile adoptions could fail. This question has a myriad of answers. A search on Google for agile failure leads to over 1,960,000 hits (fortunately agile success has 5,370,000 hits so we’re ok!). But it is obvious this is still a big problem. Executives are worried about a new process failing, especially when they don’t know a lot about it. Over time I’ll blog about a lot more agile failure modes, but for this post I want to discuss one that is hidden from sight most of the time – the big white elephant in the corner of the room!
The big white elephant in the corner is a very playful creature. We usually only have to deal with him once every release cycle and we ignore him the rest of the time. He doesn’t come out and get in our way very often, but when he does get in the way things usually get pretty ugly. What is the big white elephant? Well, it really depends on your organization. Think of him as the biggest issue you face which is not process related. He may be a lack of testing capacity. He may be a difficulty in moving code from one environment to another (such as from the dev environment to QA). He may be a lack of bodies to create quality documentation. Whatever he represents, he causes a big ruckus any time you get near so everyone stays away as much as possible. Remember, he’s a nice elephant most of the time, just don’t get too close.
Unfortunately, in an agile process we disturb him a LOT more. In fact, we are probably stirring him up every single iteration. After all, each iteration we are supposed to produce potentially shippable/marketable software. In effect every iteration is at least an internal release if not an external release of our product. Our good friend Mr. Big White Elephant likes it when we release stuff – he gets to play with us! At least it is play to him. To us it is our worst nightmare. Having our worst nightmare come around every iteration instead of just a couple of times per year (or less!) really causes us some heartache.
For many companies this results in an agile failure. They blame the agile process, when they should blame their big white elephant. When you start down an agile path, be sure you are ready to deal with your big white elephant(s). If you repeatedly have the same problem ask the question “Is it an agile process failure, or is it our failure?” Almost every time it will be your failure, not a process failure.
So what do you do when you find a big white elephant. For starters, give it a nice sounding name. OK, I’m only half-kidding on that part. Once you identify the problem, use your retrospective time (you are doing retrospectives, right???) to determine some possible solutions and try one during the next iteration. Continue to use retrospectives to improve based on the results of each iteration. Most of the big white elephants have grown to gigantic proportions over many years. They are not easy to eliminate. It may take several iterations until you feel it has been eliminated, but keep vigilant watch for a return. You never really kill these elephants. They are just waiting for you to get lazy and forget about them. They will wait until the worst possible moment, and then… BAM! There they are again, and somehow while they were gone they grew to twice their previous size.
Remember to hunt elephants during every retrospective and you will exit the jungle in fine shape. Until next time I’ll be busy helping my clients hunt elephants while Making Agile a Reality™.