Agile Software Development

Agile Software Development is, in essence, the Yin to the Yang of the Waterfall method of software development. Having its roots in the 1990′s, the Agile method has been gaining moment throughout the last decade. Agile is a team-centered, highly-adaptable approach which places client involvement and satisfaction as watermarks of success throughout the entire process.

Teamwork – is an essential component of Agile. The entire team is broken into smaller teams of five to ten people. This ensures that there is face-to-face contact, high interaction, transparency and a great degree of accountability. The team is also given a client liaison whose function is to communicate the needs and satisfaction of the client to the team and to clarify doubts that are raised by the teams with the client.

Timboxes – are the reason why teams are required. The whole project is broken into small components and each team is given a component to develop and a specific time limit (usually a maximum of four weeks) to produce that complete working component. This time period includes design, planning, analyzing, coding, and testing. By the end of the period, the client reviews the component and approves, disapproves, or suggests changes. This enables completion percentages to be marked by milestones and at any given stage has a guaranteed completed portion of the whole project. Compared to the Waterfall method where the client reviews the product only at the end of the total development, this method ensures that time is not wasted.

However, Agile Software Development is not the solution for every development project. So it is advisable to read more about the subject and decide the suitability for a given project, before engaging in any development.

This entry was posted on Thursday, December 24th, 2009 at 2:58 am and is filed under Development. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply