Using Agile method

A manager wrote to me: “I work in an Information Technology (IT) organization for a government agency, we have tried to use Agile development method but most projects failed and we do not know why. Please advice.”

Answer: It is difficult to give advice without any specific details about why so many projects failed. In my opinion, Agile is a good method for small projects in a well organized organization. If your organization is not well organized and full of bureaucracy then it may not work. If your project is large, as many government projects often are, then it may not work either. The key factor in Agile method is the breakdown of requirements into smaller tasks and incrementally builds the products and delivers to customers one task at a time. Due to its small incremental step, it is easier to track and modify the product when changes happen and customer's feedbacks are easily incorporated in the next release. But Agile teams can only do that with the least amount of bureaucracy. For some government managers this is difficult as they are afraid that they may lose control so they often interfere and create problems rather than help.

The most important factor of Agile method is the Self-organizing team whose members develop software based on priorities and accepts changes as they happen. If the team is NOT well trained in Agile method, it will not work. If team members do not have a clear understand Agile process and skills to deliver quality products, it will not work. If team members are not experienced enough, or have the discipline to follow a daily routine of activities, it will not work effectively. Without training and experience, team members may not be able to work well together, to track progress, to set priorities, and to get the products delivered within their “Sprint” (few weeks).

The best way to use Agile is having good trainings for both managers and developers, then apply it in few smaller projects so the team can get more experiences before apply the method on all projects. It takes time to develop good Agile skills; it takes time for managers to really understand the Agile process; and it takes time to build a disciplined self-organizing team.

Sources

  • Blogs of Prof. John Vu, Carnegie Mellon University