Understanding Agile Software Development
page 5 of 8
by Joydip Kanjilal
Feedback
Average Rating: 
Views (Total / Last 10 Days): 40760/ 71

The Agile Development Methods

There are several agile methods currently available out of which few have gained greater importance in real-time practice. We will elaborate on a few of the popular agile methods, such as Scrum, Extreme Programming (XP), Crystal Clear, and DSDM (Dynamic Systems Development Methods). The other methods available are Agile Unified Process (AUP), Agile Modeling, Adaptive Software Development, FDD (Feature Driven Development), and Lean Software Development.

Let us take a look into a few commonly practiced agile methods in the following sections.

Scrum

Scrum development has its inception during 1986 and had the objective to present a highly iterative development methodology. The popular developers behind its successful initiation are Jeff Sutherland, Ken Schwaber, and Mike Beedle.

Scrum has its primary focus on the management part of the software development, dividing the whole development period into small iterations (of thirty days) called "sprints." This helps in administering the process better and also to control the development with daily team meetings. The engineering practices are less important in scrum development. The users, however, can merge the engineering practices of other popular agile methods with the project management aspects of scrum.

There is a Scrum Master who acts as a facilitator in scrum development and removes the obstacles that the team faces while attaining its sprint goals. The scrum development team is generally located in the same place, very well organized and encourages in extensive communication amongst each other regarding the project development aspects. These help in effective error-free progress and help them to attain the sprint goals. Scrum development takes its credit in addressing the fundamentally empirical challenges by appreciating the fact that any software problem is not defined fully during its inception and by maximizing the team’s efforts in rapid delivery and faster response to up-and-coming requirements.

Extreme Programming (XP)

Extreme Programming is said to be the most popular and important of the various agile development methodologies available to date. Extreme Programming owes its inception to the Smalltalk community during the late 1980's. The popular developers behind its successful initiation are Kent Beck and Ward Cunningham who also took up the task of enhancing the XP practices to provide a software development methodology that is people-centric and highly adaptive. Kent Beck authored the popular book on this methodology called "Extreme Programming Explained" which came out in the market during October 1999. The book still provides good references to the followers of this software development practice.

Extreme Programming recommends a set of daily practices for its team members. These practices can be seen as traditional software development practices taken to its highest productivity level. This effort helps in providing greater and faster response to the customers which is in contrast to the traditional methods. It also helps produce software solution of better quality. XP in line with other agile development methods also believes that requirements can come up during any time throughout the project lifecycle (instead of getting defined at the very beginning), and the team has to be highly adaptive to these up-and-coming requirements and make effective this realistic approach through energetic response.

Crystal Clear

One of the great exponents of agile community Alistair Cockburn developed the crystal family of software development approaches meant for teams of different sizes. All of these methods have similar features and properties. Important properties are Frequent Delivery, Reflective Improvement, and Close Communication. Crystal requires lesser discipline as compared to XP and has reduced chance of failure.

Crystal Clear is an important variant of crystal methodologies that is ideal for a team of about 6 to 8 developers located in the same venue and working on light weight systems. It has its emphasis on people and not on processes. Important properties of crystal clear are as follows.

·         Usable Code should be regularly delivered to the users

·         Improvements are insightful

·         Regular effective verbal communication between co-located team members

·         Ease of accessibility to the expert users

Dynamic Systems Development Methods (DSDM)

DSDM is a RAD (Rapid Application Development) based framework that follows a user driven, incremental approach in an iterative development for designing and developing software on time, satisfying all its business needs and strict budget. This agile methodology has its inception at the United Kingdom during the 1990's by DSDM Consortium (a non-profit organization). DSDM is an extension of RAD and it emphasizes information systems projects that are having steep deadlines and strict budgets. DSDM can be integrated to other agile methods in typical cases.


View Entire Article

User Comments

No comments posted yet.

Product Spotlight
Product Spotlight 





Community Advice: ASP | SQL | XML | Regular Expressions | Windows


©Copyright 1998-2024 ASPAlliance.com  |  Page Processed at 2024-04-25 7:44:00 PM  AspAlliance Recent Articles RSS Feed
About ASPAlliance | Newsgroups | Advertise | Authors | Email Lists | Feedback | Link To Us | Privacy | Search