Alec, a young sprog in Firm A, hits upon a brilliant concept that could revolutionize the way his firm handles clients. The idea needs extensive web solutions to make sure it takes off and succeeds. He approaches his seniors and gets the nod to go look for a professional firm that’ll give them what they want.
Before leaving, Alec is mildly apprehensive about the idea. Although it looks grand, its details are foggy. “I’d better find someone good who know their craft”, he muses.
Firm Acme, well established and reputed in web solutions, accept Alec’s project and promise to deliver within a time-line of 4 months. Acme prides itself on its methodical, no nonsense or deviation approach to completing projects. And they have their stellar record of their past to back them up. So Acme proceeds with the project overflowing with self assurance , convinced it has understood Alec’s concept better than he could ever do himself. Alec is hesitant about voicing his concerns. “They’ve not earned a good name for nothing. Maybe they can grasp the unsaid as well”. “You’ll hear from us in 3 months, Sir” is all he is told.
Weeks later, with the project very close to completion, Alex and his boss are called for a demonstration. Acme wasn’t keen on this, knowing they were good with their work. But company policies stipulated it so they had to.
The demonstration proceeds and progresses well, until Alec’s boss comes up with an innocuous query. Innocuous to him, that is. Acme professionals look flabbergasted. “ Why would you want to do that?” they retort. “Why not ?” goes Alec’s boss. “Well if that’s what it is, you should have told us about this before !” Alec squirms in his seat, uneasiness dripping from his face. “You never even let us talk to you about the project while it was being drafted. You guys were so smug about your abilities you didn’t think it would be advisable to keep us in the loop!” was all he manages, afraid those were the last words he’d get to speak for his firm before being thrown out.
The whole debacle inflicts major financial losses on everyone, and a blow on the head for Acme’s tested work ethics.
Alec approaches a relatively inexperienced firm, The Upstarts, a young group of web solution experts. What draws him to them is their willingness to listen to him pour his heart out, allowing him to understand and define his idea even better.
“We’ll see it through in a month , Sir, and we’d like you to be in constant touch with us till we have it ready”. “Okay, that sounds fine” says Alec. “Infact I like it”.
Work at The Upstarts proceeds with gusto, with their small team of developers, designers, managers, technical writers and testers working simultaneously. What Alec notices surprises him. Instead of going for the whole idea at once, The Upstarts fragment his brainchild into small chunks. “We like it small”, they wink. They all sit together, with Alec in the middle, each one voicing his opinions and ideas, until everyone present knows precisely what is wanted and which way the spurt of action is to be directed.
This goes on everyday, with the testers rounding up each day’s produce with a thumbs up or a thumbs down. Thumbs up, they hit the next chunk. Thumbs down, The Upstarts dash back to the drawing board. Finally, with a lot of re-working and intuitive improvisation, the whole project is pieced together, chunk by perfected chunk falling into place. On D-Day, exactly one-month from the start, the project is complete and comes out sparkling. It works flawlessly.
Alec comes up to his boss smelling like roses. Firm A has got its money’s worth (and how !), and hits industry folklore for revolutionizing client management. Needless to say, Alec does not remain a sprog in the firm for much longer.
For all you lesser mortals who haven’t already figured out what made The Upstarts beat Acme, it’s a dynamic web development approach called Agile Web Development.
What makes Agile web development successful is the way it goes about a project. Here are the aspects:
1) Manageable chunks: Agile web development breaks a project into fragments, each small but essential, and works on its every aspect, from designing to development to de-bugging to documentation, until it is fail safe and ready to be a part of the big picture.
2) Multiple Iterations: Each fragment is taken through multiple test sequences to make sure it is fault free. Every time a fault is encountered, it is re-worked, its guidelines altered, and its process of development re-visited to make sure it is improved upon.
3) Constant Interaction with the source: Having the originator of the idea in the loop at all times enables the developers to make sure their progress meets his approval and is headed in the way he’d want it to. This eliminates any last minute surprises and blame gaming, which could potentially cripple a project at the very last stage and ruin weeks of effort.
4) Extreme Flexibility: Rather than walking along a fixed path of pre-agreed steps, the key to Agile Web Development is its constant leeway to improvisation as and when needed. This effectively takes into account any sudden changes that might have to be incorporated into the scheme of things. Without this, crippling setbacks are an ever present threat.
Having arrived on the scenes almost a decade ago in the mid 1990s, Agile web Development has had its fair share of followers who swear by its practicality and resilience. Some of the well known Agile Software Development methods are :
i) Adaptive Software Development (ASD)
ii) Feature Driven Development (FDD)
iii) Agile Unified Process (AUP)
iv) Extreme Programming (XP)
Criticism about Agile:
Puritans have nonetheless greeted Agile gruffly. Agile for them is equivalent to “Cowboy Coding”, signifying a lack of discipline, and the absence of a systematic, well defined approach to possibly complex assignments. Many argue Agile to be unsuitable for large projects, calling its methodology too shaky to encompass all the aspects of a complex task on the go.
Also, Agile’s minimal documentation, made so by constant actual contact with the client, has also drawn flak.
Whether arguments put up by skeptics are valid remains to be proved or proved otherwise. But for now, web development solutions have a radical tool to help them along. So as long as Agile delivers, the only complaining will be from the ones who don’t get the contracts.
Great post! We have found that developing a fully clickable prototype at the beginning of the project eliminates drastic changes down the road and allows us to efficiently complete the functionality pieces and the design separately in any order we choose. This also gives the client something to play with during development time and usually think of future additions which translates into more revenue for us! 🙂
you could have done some comparisons between languages for developing agile for web.
maybe next post ;D
Wonderful post, have learnt a lot here.