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.

No Comments Yet

Leave a Reply

Your email address will not be published. Required fields are marked *

Archives