Agile Software Development

The term Agile itself means “quickness”. When applied to software engineering, it refers to quicker delivery of software to the customer with greater satisfaction and stronger hold in the competitive market. The Agile movement started almost 11 years back. It can be said that Agile has its roots from 1992 with Crystal being the starting point [1].
The main intention of agile is to develop the software in iterations (called sprint) so that they have a visible outcome after every iteration. After each iteration the current working software is shown to customer to ensure that their requirements are correctly captured and understood. The development begins by including the higher priority requirements in the 1st iteration and subsequently adding more complexity to it. At the end, the concern is that customer should be satisfied with the software and not whether the original stated requirements are met. The agile teams should comprise of people who are technically strong and must be volunteer. This is because more value can be added in the development only by an interested team member rather than a member involved forcefully.

Along with these benefits agile methodologies have certain limitations:

1) If a team is spread across different geographical location then it is difficult for them to interact daily. This also applies to interacting with customer. The team and the customer must be co-located for better interactions.
2) Agile believes in least documentation [2]. Suppose a software developed using agile methodology needs to be enhanced and a new development team will be taking up this task (earlier developers may not be available). Then in such a situation it would be very difficult and time consuming for new developers to understand the software, as there will be no document explaining internal operation details.

References:

[1] Udayan Banerjee, http://setandbma.wordpress.com/2012/03/23/agile-history/ , Gives the brief history of agile movement i.e., from when did the movement start and details about the 17 contributors of this movement.
[2] Jim Highsmith, Alistair Cockburn: “Agile Software Development: The Business of Innovation”

                                                                                                                                                                                                                  – By Smitha

Advertisements

4 thoughts on “Agile Software Development

  1. Khaja Moinuddin November 26, 2012 at 6:44 pm Reply

    how is agile different form prototype model. and if we use agile process model wont it weaken the design.

    • Smitha Iddalgave November 27, 2012 at 3:33 pm Reply

      a) How is agile different from prototype model.
      The major difference between prototyping and agile is: In prototyping after a prototype is created the actual software to be deployed is developed using some of the traditional methods and the prototype is discarded, whereas in agile method the software to be deployed is created in iterations. Prototyping may be more time consuming than agile methods because of the above mentioned point. We can say that prototyping is the first step to become agile.
      b) If we use agile process model wont it weaken the design
      In agile, they start with a simple design which will be evolved overtime with new requirements.
      Can you please elaborate the question little more?

  2. Srikala November 27, 2012 at 5:31 am Reply

    how are risks handled in agile? 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: