26
01
2008
Dr. Samir Shah from Penn State University will present a talk at Mukesh Patel College of Technology Management and Engineering, Mumbai through Agile Mumbai User Group [A-MUG] on 6th February 2008 at 6 PM. The talk is expected to last 2.5 hours.
Dr. Samir is going to speak about his PhD thesis on Distributed Development using Agile and traditional models. He conducted 2 distributed projects between India and US. One of the projects used traditional methods and another one used Agile. He has some really interesting observations about each project that he would share with attendees.
You can RSVP for the event at nashjain@gmail.com
Popularity: 8%
Posted on January 26th, 2008 by admin
Filed under: News | No Comments »
6
01
2008
Agile is an iterative and incremental development process. However, the fact that you are doing iterative and incremental software development, does not necessarily mean you are doing Agile. It is often useful to see the relationship between iterative and incremental development [IID] and Agile through a venn diagram. A common fallacy is to see the relationship as below:

This is not entirely correct. Considering any iterative and incremental development process as Agile is misplaced. Agile is an iterative and incremental development framework but there is more to Agile that just iterative and incremental development. A brief overview of Agile has been presented in the Agile Manifesto. Doing iterative and incremental development does make you more responsive to change, increase customer collaboration and even deliver working software at the end of iteration. However, it is possible to do iterative and incremental in a manner that is anti-Agile. To achieve agility in your development process, in addition to an iterative and incremental development you would need:
- Agile conforms process to people and stresses on a self organizing team. This is perhaps the most important distinction. Agile does not view people as “resources” or “nuts and bolts” or “puts process on top of individuals”. A self organizing team would choose the process it needs based on experience and current situation. This is possible only by creating a culture of decision making, team collaboration, customer collaboration, continuous training and learning. An iterative and incremental development process ridden with ceremony and processes is anti-Agile.
- Agile stresses on collaboration. Tools are there to help you achieve a goal and are not a goal in themselves. A self organizing team could choose to only use notepad while another could choose a million dollar IDE. However, the teams would be collaborating towards a common goal at the end of iteration and not individual targets or productivity. In addition, Agile stresses on customer collaboration beyond just doing iterative and incremental development.
- Agile is adaptive and emergent. The fact that you had a nice plan upfront on what each of the increments would be and exactly how iterations would work, and the project was run exactly like that, is not Agile. This could be possible in some projects [shorter duration, one which you have done many times], but in most projects this is a clear indication that Agility has taken a hit [either of the customer collaboration or product owner feedback loop would be weak]. Ideally, you would want the project to adapt based on emerging requirements rather than stick to an iterative and incremental plan.
- Finally, Agile is about useful working software. At the end of an iteration, working software has to be provided. It is useful to consider Scrum notion of “potentially shippable code”.
As can be seen all the four aspects above aid each other. For instance, the fact that you focus on useful working software makes the project adaptive to emergent requirements which is possible only in an environment of customer collaboration. A self organizing team would be in a better position to provide useful working software quicker and better through better internal team and customer collaboration.
Hence, a better relation between IID and Agile would be as below:
IID + [Agile Values and Principles] = Agile
Also, a better Venn Diagram representation of IID and Agile would be as follows:

Popularity: 16%
Posted on January 6th, 2008 by admin
Filed under: Introduction, Myth Busters, Values | 1 Comment »