This site is designed for XHTML and CSS compatible browsers. We recommend that you update your browser to a newer version.

Skip navigation.
Print this page

Agile Methods

10/16/06

Agile Methods are used to maximize the return on software investments.

Timo Lukumaa,
Chief Operating Officer

Agile Methods combine the best team-work and management practices into an easily applicable, functional package. Their use has increased tremendously in recent years, and there is now plenty of practical experience and research results that highlight their functionality (click here for discussion on the subject).

Towards Better Software Development

The resources in a software development project are always limited. Agile Methods are used to try and direct resources to where they will be of the most benefit. It means focusing on features that are most valuable from the business point of view while on the other hand avoiding all unnecessary tasks. This requires open and active communication with the client who participates like a member of the development team.

Agile Methods enable better control over the risks in a software project compared with using more traditional methods. The most business-critical and risky functions are implemented first. The efficiency of Agile Methods is based on the immediate feedback received during the project. The team is able to react to changes and new information rapidly and in a controlled way.

Quality is the third central feature in Agile software. Quality cannot be added to software later, and ensuring high quality from the very beginning is also the most cost-efficient way. Quality is implemented by using Test-driven Development (TDD) for instance.

Functional Team Work

When using Agile Methods, practical work takes place in highly skilled self-organizing teams that are given power and responsibility over what they are doing. Most people are motivated to do their work right and want to excel in their chosen profession. Experienced experts often get frustrated if things are done inefficiently or without a justifiable reason such as fulfilling only the formalities of a process. When applying Agile Methods, the team will try to find bottlenecks and inefficiencies in the development work—and thus improve its operation. That is why highly motivated and experienced people are required to provide the best results.

Agile Needs to be Applied

Agile Methods do not form a ready-to-use package, but instead always need to be adapted to the organization where they are used. Agile methods do not only optimize software development, but the entire production chain. One of the frequent challenges is that the rest of the organization may be accustomed to traditional methods of operation.

Software production is primarily new product development in its nature. Processes reminiscent of mass production have traditionally been applied to software production—often with poor results. Agile Methods are no silver bullet that can solve all problems in software production, but they do take the nature of software development into consideration better than traditional methods. They also reveal the inefficiencies in the operations in a manner similar to Lean Thinking. As a result of the visibility, the operations can be improved, and this is what Agile is ultimately about—the will to do things better.

Timo Lukumaa, Chief Operating Officer

 

Timo has been applying the Scrum method since 2003 and he is one of the Finnish pioneers in Agile Methods.

What is Agile?

Agile software development is an umberella term, a way of thinking and a philosophy. In practice, Agile Methods refer to Agile processes such as Scrum, XP, Crystal and FDD, as well as XP practices such as TDD and Continuous Integration.

When applying Agile Methods, implementation takes place in short, one-to-four week iterations resulting in completed, working and tested functionality. The results are presented after each iteration so that the future users of the software can provide feedback based on working software instead of paper specifications.

The most important features of Agile Methods:

  • The business-critical features are completed first.
  • Functioning software is a key measure of progress. The first results are already visible at the earliest stages, unlike in traditional software development.
  • The client takes an active part in the development process which ensures a successful end-result.
  • The work methods are always adapted to the working environment.