Agile Methodology

Posted on 06 August 2010 by Sadhan RSS Feed Twitter Facebook Google




.

Agile Methodology

Nowadays we hear much about Agile Methodologies, especially in the context when we want to jumpstart any development quickly without the documentation part and where requirements are not very clear at the beginning.

To put it in simple words, this methodology is another style of software development that has been characterized by quick start on development, less documentation, change driven and iterative.

agile-Scrum methodology

In other words, Agile software development is a conceptual framework for undertaking software development projects that can get developed fast without the strict classic guidelines of maintaining the entire life-cycle of the project.

All Agile methodologies generally engage in an iterative workflow and follow an incremental way to deliver software in short time-boxed situations. An iteration could be a small release of software or results being achieved at short intervals. Naturally in these time-boxed development situations, things like coding, design and testing will run in parallel and Iterations are typically a fixed length and this length will depend on the chosen methods under Agile. Each iteration can be referred as a cycle in this context of Agile Methodologies.

There are a number of agile software development methods, most of them give the same time-boxed iterations approach, which could typically last one to four weeks but again depends on the nature of the project. Each iteration is like a miniature software project of its own, and includes all of the tasks necessary to release the mini-increment of new functionality: planning, requirements analysis, design, coding, testing, and documentation.

The most popular Agile methodologies in use today appear to be Extreme Programming (XP), Scrum, Feature Driven Development (FDD), Lean Software Development, Agile Unified Process (Agile UP or AUP), Crystal, and Dynamic Systems Development Method (DSDM).

Some of the principles behind the Agile are:

  • Customer satisfaction by rapid, continuous delivery of useful software
  • Working software is delivered frequently (weeks rather than months)
  • Working software is the principal measure of progress
  • Even late changes in requirements are welcomed
  • Close, daily, cooperation between business people and developers
  • Face-to-face conversation is the best form of communication
  • Projects are built around motivated individuals, who should be trusted
  • Continuous attention to technical excellence and good design
  • Simplicity
  • Self-organizing teams
  • Regular adaptation to changing circumstances

Agile home ground:

  • Low criticality
  • Senior developers
  • Requirements change very often
  • Small number of developers
  • Culture that thrives on chaos

Criticisms include:

  • lack of structure and necessary documentation
  • only works with senior-level developers
  • incorporates insufficient software design
  • requires too much cultural change to adopt
  • can lead to more difficult contractual negotiations

Agile methods are sometimes characterized as being at the opposite end of the spectrum from “plan-driven” or “disciplined” methods. This distinction is misleading, as it implies that agile methods are “unplanned” or “undisciplined”. A more accurate distinction is that methods exist on a continuum from “adaptive” to “predictive”. Agile methods lie on the “adaptive” side of this continuum.

Some mistakenly believe that Agile methods avoid planning. This is a misconception, as Agile methods pay considerable attention to planning. However, Agile methods apply a planning process that is adaptive so as to accommodate inevitable change. Traditional, non-Agile methods tend to apply predictive planning that resists change and suffers the consequence of conflict between static plans and dynamic reality. Agile development has been widely documented as applicable to small, co-located development teams. Agile methods are more suitable when requirements are emergent and rapidly changing; they are less suitable for systems that have high criticality, reliability and safety requirements, though there is no complete consensus on this point.


Bookmark and Share

No related posts.






2 Comments For This Post

  1. Mary Says:

    Pretty cool post. I just came across your site and wanted to say
    that I have really liked reading your blog posts. Anyway
    I’ll be subscribing to your feed and I hope you write again soon!

  2. Pritish Says:

    Its quite a nice article and it has been summarized well.


Leave a Reply

 



Advertise Here
Advertise Here
Digital Thought

Recent Posts

  • Apple CEO Steve Jobs – unplugged
  • Nomophobia
  • YouTube Facts and Stats
  • Popular faces of Indian journalism
  • Light Peak: Gen-X of high speed connectivity

Announcement

Popularity Pointers

Tags



 

September 2010
M T W T F S S
« Aug    
 12345
6789101112
13141516171819
20212223242526
27282930  
.

My Mobile Site:

http://m.sadhanbiswas.com

Get the Mobile Site of www.SadhanBiswas.com at your fingertips from anywhere.


Digital Thought on Facebook







Re@ch Out

 





   About Digital Thought | Terms | Advertising | Sitemap

RSS Feed Twitter Facebook Google