From Computejobs.ie

Agile Development
By Malcolm Sparks
Oct 25, 2006, 12:06

Agile development has become quite a buzzword in recent months and there are many software development teams and even companies who are embracing it. But what exactly is Agile all about?

 

There are a number of methodologies which, while differing somewhat in certain practices and language, certainly share much the same values and principles. Some of these methodologies are well known:  Extreme Programming, Scrum, Crystal, and so on.

 

For example, XP divides up a project into what it terms 'iterations', which are anything from one to four weeks, with features added one after the other in the form of 'user stories'.

 

Similarly, Scrum divides a project into 30-day 'sprints', with tasks coming from a planned 'backlog'. Some practices, such as 'test-driven development' or 'continuous integration', are normally associated with agile methodologies but are often adopted individually-  for various reasons a team may not want to adopt other practices associated with an agile development process.

 

In reality, the vast majority of teams end up adopting their own hybrid process, adapted to their particular context and circumstances, which may accord with Agile values and principles to a greater or lesser degree.

 

Most people know that agile methodologies are 'light-weight', but this leads some to think incorrectly that agile methods means not bothering to write documentation, or "cowboy coding". In fact, agile teams are often highly disciplined, consistent and rigourous in the way that they go about their work. What characterises these teams is a high degree of individual collaboration, team-work and delivery focus.

 

Agile methods are very suitable for projects where the requirements are likely to change very often, or where the team is fairly small, with a number of trusted senior developers. Many developers feel agile methods just fit better with their experience of software development.

 

With technology continuing to change at a very fast rate, many software development projects involve discovery, research into the technical unknown- estimating these activities is often very difficult and error-prone in projects that are reliant on fixed plans. Agile offers an alternative approach to getting software projects delivered on time.

 

Here are some useful starting points:

 

http://www.agilemanifesto.org

http://www.extremeprogramming.org

http://www.exoftware.com

http://www.jamesshore.com/

http://en.wikipedia.org/wiki/Agile_software_development

http://www.martinfowler.com/bliki/

 

Malcolm Sparks in an independent consultant, software developer and trainer.

 

He has been developing software in Java since 1996, producing developer tools such as EJBHome and jcoverage. Malcolm has over six years experience in Agile Development Techniques and would be considered an industry expert in the field.

 

Malcolm is an active member of the Hook Head IT community where he is a regular contributer to the Techie Forums on XP and Agile

Develoment. If you have any particular questions about Agile, why not e-mail Malcolm at malcolm@congreve.com or post them to the Techie Forums at Hook Head - www.hookhead.com/forums. Malcolm and other contributers will be only too happy to help out in any way they can.

 

 



© Copyright Computejobs.ie 2006