Thursday, August 25, 2011
Why Agile came into being when life cycle processes like Waterfall, Iterative existed?
Whenever we have problem in delivery we often talk about requirement were not stated clearly. The client starts talking about lack of understanding at the development team. This process goes on and we have unhappy customer. One of the significant reasons for this gap is development mindset and the development methodology. Generally, before advent of Agile, Waterfall was predominantly followed in software product development. The development methodology believed in locking down the requirement and taking care of changes through change control. Locking down requirement appears simplistic at the outset, whereas it is difficult to achieve for the factors stated below.
•In the beginning we have less understanding about the project requirements There is a significant gap in the understanding level of expert and the person who records the requirements leading to gap and erroneous requirement gathering
•Requirement documents run in hundreds of pages. It is difficult to verify accurately
•The customer needs and environment is dynamic. They keep on continuously evolving
Basic belief of freezing requirement is erroneous. Particularly if one is developing the state of the art product, one has to bring in the best features; best technology and both of them keep on evolving. Change control as a means of bringing in changes leads to conflict of interest between the developer and the customer, thus the product suffers.
Contract & Requirement document is used for getting change control approved. The focus shifts from developing the best product to managing the scope and getting maximum for given contract. If I may ask how often you have seen the big four completing project in time? Answer will be rarely. At the same time we praise their capability of managing project. The whole focus shifts to project management and not the product development. In such situation one can never deliver a very good product.
We live in exponential world. Changes are happening continuously. If one wants to develop product in this situation, one has to learn to live with the evolving exponential world and its dynamics. Technology is changing continuously, Industry standards, which helps build software keeps on changing for better Customer has better understanding of needs as they progress on development. Waterfall asked to freeze requirements before we moved to design stage. The poor owner of product had no option and did something under stress. Some thinker realized that this is not good for the evolving environment and wanted to bring agility in the process. Agile was born. Agile may not be answer to all development problems but it matches with the dynamics of today’s world. It fits seamlessly with development needs.
I guess if you ask your kid to freeze his career aspirations and work on it relentlessly, I am afraid he will term it as a criminal action. They want to explore the options, understand it well before committing himself. Waterfall did not address that. It was cruel enough to ask for full commitment before confirming how the product is going to look like. Agile gives a pre-view, it provides flexibility, it gives option to change as you move.
Labels:
Agile,
Bishram,
Blog,
Life Cycle,
Process Improvement,
Waterfall
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment