13 March 2008: Making the most out of agile methods

        Imagine a large information systems project. You are expected to give your detailed requirements for a delivery that will take place sometime next year or the year after. During the long process, you learn that your initial requirements have developed into something else. You need to start a change process and justify the changed needs over and over until you get the changes through, if at all. Does that make you feel in control of your IT purchases?

        You often hear complaints about how difficult it is to buy IT solutions. Gathering of the features right at the start of the project is very challenging, and leads to difficult situations down the line. IT providers require explicit and complete requirements early on, and these prior features tend to become quite etched in stone.

        Agile projects are optimised in a way that allows you to change your mind along the way until the time of the delivery. You can decide upon the most essential features at first, and give yourself more time to define the eventual needs.

        Towards stabilised cost of changed requirements
        Traditional projects with a phased approach, suffer from the exponentially increasing cost of change - the later a decision is made, the greater the cost. The focus of agile engineering practices is to stabilise the cost of changes. The optimal strategy is to postpone decisions until "last responsible moment" (a term used in Lean Software Development). In traditional projects, doing so would be "irresponsible", but when using agile methods, it is the smart thing to do.

        The customer has full control of the requirements throughout the project, and by prioritising and selecting features, the customer controls the costs and value as well. Making wise decisions regarding functionalities requires an understanding of various stakeholder needs and of development status as to the cost, dependencies, trade-offs etc. In other words, a wise customer listens to the stakeholders, who will integrate, maintain and finance the solution in future.

        The development team determines how much effort building something will take. Customers can affect the cost of an individual feature by changing requirements and by supporting the team in its effort. Eventually, it is the team's responsibility to maintain the quality and the ability to deliver value continuously.

        The development team needs a continuous stream of new requirements and refinements to the existing ones. The better the team gets, the faster this stream will be. As the team cranks out new features and new releases, the customer prioritises them by ensuring that stakeholders are engaged with evaluation and testing.

        Agile methods also work with well-defined initial requirements. It is not a problem, if the customer has a good idea of what they want. Based on such information, the team can provide a rough estimate on the total effort needed. Agile methods still give the opportunity to change one's mind. They also give the customer continuous feedback (through frequent working deliveries) on what has been built so that they can verify their vision and real needs.

        Agile methods work to your advantage
        Agile methods give an unprecedented opportunity to the customer. Agile methods produce significant improvements to customers' ability to manage their IT and to get real value of it. Agile methods replace front-heavy specification with continuous refinement and improvement of requirements, allowing steady business feedback even in large IT projects. The agile approach requires continuous attention and support, but rewards with visibility, desired results and rapid deployment.

        For further information, please contact:

        Petri Heiramo, Senior Process Improvement Manager, tel. +358 40 709 25 26