Sunday, November 18, 2007

Positive sides of Agile

As I am developing in my career I am drifting towards the Agile Engineering. More or less, it follows the process of traditional Engineering, from analysis to design to coding to testing. The granularity which we deal in the Agile is much more compared to the Waterfall. This gives us the more number of checkpoints in our development cycle.
Agile process is customer or end user centric, prioritize the stories of 3x5 cards in order of the customer’s demand and follow them in-orderly as we go to address all these cards. This makes the easier fulfillment of the business needs as and when requires. At the end of the iteration, we have a working set of binaries, with the most priority customer stories addressed; this allows us to deploy our miniature application developed in the iteration to the production environment. This offers the customer, a kind of satisfaction, as something is happening over his requirement list. The R&D divisions also are not over burdened at the end of the release, making their job much relaxed.
We were talking of the granularity in the Agile Engineering. Agile says to break down your complete release in to modules. The modules are then has be subdivided into what we call the stories, with the acceptance of every story showing a slight drift in the positive direction of the Software Development. These stories are broken down into tasks, with each task assigned to a different individual. Acceptance of all the tasks for a story confirms the acceptance of the story. The granularity of such a level and with each story having the weight age associated any slippage can be caught at a very early stage; and the corrective measures can be taken appropriately.
In the primitive Engineering a release was thought of the end-to-end process of n number of things. This doesn’t let to have the scope categorizing various subunits on the basis of their need. The result, can be a disaster; we can be left with a product with all the features addressed but not the one which was most important of the release. Or, to accommodate it we will need to stretch the due date. This is not accepted in today’s market driven world.
Some says, the shorter cycles and the stories definition in Agile are very much specific to your project needs. This doesn’t give an individual enough chances to groom his creation or innovation. But then, creation are to be made for the customers, and if at the end of rigorous research you come at a conclusion of either your research is substandard or customer doesn’t need it. Then what? A loosened heart J. There I would say there should be checks in your development process, to get the feedback of the surroundings around as if you are going in the right direction. The other point I would mention is AGILE IS NEED BASIS, AND NEED IS THE BASIS OF ALL INVENTIONS, hence Agile should be taken in positive sense of creativity.

No comments: