When the world took notice of Agile Software Development way back in 2001, misconception still abounds up to this day. There are still clients who think that there’s no planning done, where developers just start coding right away. In my years of experience in custom software applications, I have to tell you that coming up with solutions that will hit project goals, timeline and budget is something you do painstakingly. While the model was developed to hit goals faster, adaptive planning is in the heart of Agile in an effort to encourage flexibility and adapt to change – faster.
Agile Development: A Radical Approach
What can be a more perfect fix for businesses demanding changes that align with their schedule and budget? In the Agile model, you may see rapid iterations where new code is released multiple times. It can be as few as twice a month to coming up with something new each day or by the hour. By doing so, one can immediately get feedback needed to continuously improve the product. The team may even implement crowd testing to make sure things are working properly. In the end, the final product is almost flawless, with only a few, minor defects. At some point, the testing cycle may seem endless and developers are pushed to their limits to write that code, achieve functionality and meet deadlines. Call it the ‘Fast and the Furious‘ approach to coding.
The Price of Rapid Iterations
For the sake of speed, you might pay a higher price tag. Due to the fast nature of Agile, documentation often gets left behind. For example, there is a request to change a certain feature which could have been discussed, but may have been overlooked when rewriting this change in the user manual. Also, there is a big issue when it comes to security. Developing new codes doesn’t mean it is a secured code. While everyone will discuss about changes during a sprint, I would suggest allotting an extra time to talk about a secured framework for developers to work on. There must be some way to check for bugs as you come up with new codes – minus the risk. This task can be automated though. But, what’s important is that quality doesn’t have to suffer for innovation’s sake.
Agile: Separating Fact from Fiction
Here’s how it works in the real world: Coders code, QA tests and technical writers write. Management needs to be kept in the loop. The catch? Not everyone looks forward to daily stand-up meetings. Just check the Web about it and you’ll read lots of rants from the anti-agile crowd. Still, Agile is not a fad in revolutionizing software development. It is adopted because it simply works better for many. The only way to know though is to experience it yourself. And if you do, be reminded that like other solutions – there are pros and cons. Be warned, the risk may be higher if you’re not cautious enough.
Agile is not all about implementing new methodologies and codes, but it is a careful analysis of complex business problems.. so you can come up with an innovative solution that works.