Thursday, September 3, 2015

Go Incremental and Iterative with Agile

As a software developer, I have had the chance of working in both Agile and non-Agile environment. Though, the Agile exposure, so far, was not quite close to a certified Scrum like environment, It was quite flexible yet adhering to Agile manifesto. I have been learning more about agile lately and it has been quite exciting to understand the intricacies of this methodology and I am now looking to just get more Agile :)

image credits: http://c2reflexions.com

During this learning process, one of the thing that intrigued me was the relationship of Agile with Iterative Vs Incremental development. Iterative and Incremental development, both in itself can coexist or rather are often used during the development of most products. Their relationship with each other and the connection with the Agile philosophy is indeed a sort of grey area that got me into doing some research which was fairly rewarding.


Now, lets look at both Iterative, Incremental and how they can co-exist for a theatre production. I am specifically choosing to pick a non-technical project scenario here. Some of the great directors I have worked with, would inherently use both iterative and incremental methodologies while building up the play.

A theater production process is Iterative because, the play is rehearsed consistently and is constantly going through improvement in terms of the performance of actors and other technicians. Good directors start with just readings of the play to ensure deeper understanding by all the members of the team before the actors even get onto doing any movement

Shashi, Mayuresh in Samaantar (2009)
It is also incremental because during the rehearsal process or the shows thereafter, a whole bunch of things get associated with the play. A particular kind of lighting, background score, costumes or accessories. All of this, eventually increase the overall cognitive experience.


When it comes to technology related projects/products, I feel that Incremental methodology is not only about features going into various releases but does also apply to the user stories going into one particular release. Just like a theater production, the design, functionality, user experience need to evolve through both iterative and incremental ways.

Agile is both Iterative and Incremental, in my view. In fact, its much more than that. Though, the Agile practices talk about both iterative and incremental with varied weight-age and many times interchangeably, I think both iterative and incremental are deeply rooted in the Agile mindset.

If I have to put a mathematical relationship between Iterative, Incremental and Agile, it would beEk Aur Ek Gyaarah’. :)