Agile software development is great and it has some tremendous benefits. However, with any software development process, there are some potential pitfalls. After leading agile teams for a few years now, I we have learned the hard way along the way, and here are some agile pitfalls we have encountered:
Let’s face it, in most enterprise level software organizations, if you are practicing agile, the agile team that is developing a specific product is going to be focused on one thing: the outcome of the product they are developing. While there is nothing inherently wrong with that, there is a dangerous pitfall that can affect the whole organization. The agile team can become a single silo. I have seen it first hand, and I know it happens more often that agile experts would like to admit it. Each agile team has pride in the product they are developing. They want to be the best team that produces the highest software product. Sometimes the team can put on blinders and be so focused on meeting their sprint milestones, that they will completely forget about how their product integrates with other products and what the downstream impacts are. Some teams can even become selfish and demanding toward other product teams and expect teams to do things which are not inherently their responsibility. Agile software development at the enterprise level often creates these silos. Contests between teams such as awards given out for the best team, can arbitrarily create silos, and thus driving perception that agile teams can be self sufficient and they don’t require collaboration between teams. This is really dangerous. It is important to have an enterprise level view, and keep the big picture in mind. Agile teams work for one company, so that always needs to be the focal point so that the company will be successful. The companies that avoid pitfall #3: agile team silos and keep the company in mind, will be the most successful.