How Agile Is Agile Development Really?
For quite some time now, I have heard IT guys rant and rave about how agile development has changed the landscape of software development. Now I was like, “Hmm, is it really true? Has agile development really delivered value to the enterprises? Has it really worked out the kinks of software development for them?” I know – very skeptical of me – but I had to find out.
So I decided to dig for information. I started by putting up agile development directly against traditional development and boy I was not disappointed!
Traditional Versus Agile Development
It’s no secret that the limitations of traditional development are the cradle of agile development. Agile development methods have grown out of real-life experiences of professionals who have battled the limitations of waterfall development methodologies.
For any enterprise getting software developed, three concerns top the priority charts:
(1) Adaptability to market conditions
(2) Risk related to software development
(3) Visibility of progress
Agile development directly addresses these issues through its development philosophy as well as development processes.
Compared to waterfall development methodology agile practices do not follow iterative and incremental development. Thus enterprises or more likely the product owners can keep on adapting their software to changing market conditions all through the development process.
A constant measuring and evaluating the software status replaces the frequent iterations and increments. The software undergoes periodic functional, operational, and compatibility tests giving enterprises a better visibility about the actual progress.
Agile development also involves continuous planning and feedback. This means that the value of the solution is constantly maximized and the associated risks are identified and mitigated at the earliest.
Agile Development – The Hen With Golden Eggs
Agile development holds immense value for enterprises. There are a lot of business benefits to agile practices. But let’s examine a select few that put up a good case for it.
Control: First and foremost, under agile practices the owner of the product (enterprise) constantly prioritizes development work. He can identify the features holding highest ROI for the project and get them developed first. So great is the product owner’s control that he can even go live with the beta version of the product.
Change: All the development projects experience a considerable time lag between the point of conception of a product and its launch. During this lag, the market conditions might change. Agile practices allow the owner to change course midway and gain adaptability for the product.
Communication: It is highly impossible that a development team would share the same level of understanding of business implications of the product features as the product owner himself. The agile practices encourage them to talk to the owner on regular basis and touch-base with him. This revives the communication channels.
Results: Under agile practices a development team undertakes development on a fixed set of parameters to test the waters. This is called sprint. Each successive sprint leads to expedited results.
Transparent & Productive Teams: Agile practices promote self managed teams in the sense that they reduce the complexity of bureaucratic hierarchy. They directly connect the development teams to challenges of distributed agile development and make them more “feet on the ground” people. Reduced complexity and enhanced communication means transparent development.
Agile Development – Still A Fad?
There was a time when advocates of traditional development practices dismissed agile development as a fad destined to gradually phase out. On the contrary, the agile buzz has grown steadily over the past 5 years.
Today, agile development has branched out into four major variants:
(1) Extreme Programming
(2) Dynamic System Development
(3) Crystal Method
(4) Lean Development
So, it’s best to say that the critics spoke out pretty soon – probably when the wheel was still spinning for agile development. It’s not only here to stay but also to grow and flourish!