So you have this fresh idea of a software project that could possibly solve world hunger and you have been hearing about this Agile buzz word from the tech scene that promises to bring your vision into reality.
You are not new to the world of technology.
In fact you have had numerous software projects built.
Some good. Some bad.
Pondering on your way home you wondered what this mumbo-jumbo is all about.
Agile is just a software development methodology that is no rocket science.
In a nutshell, it’s a successful combination of some of the best software development practices over the years, some of which are as old as programming itself, under one umbrella while reinforcing and compensating each other’s strengths and weaknesses.
The end result?
Happy clients due to best bang for the buck and happy developers due to successfully delivering work that matters, all that while working in the most open and humane conditions.
As crazy as that may sound, it is possible!
Here are a few reasons:
1. Upclose and personal
Quick feedbacks and frequent communication are some of the keys that makes an Agile project successful. In fact, you (or your representative) as the client get to be part of the development team. Preferably on-site! This way, the developers can quickly gain feedback from you so you know that both of you are in-sync and movement is fast and in the right track.
2. Incremental evolution
So you heard that software sometimes costs an arm and a leg. The Agile way says no.
One of Agile’s promises is to deliver “Needed just in time software”. Out of all the stories (Agile’s friendly way of calling features) you think of, just pick which of them combined would make a good first public release. Then just further group the rest of the stories into other release phases. This way, you minimize initial costs while reaping maximum benefits from public usage and feedback the soonest time possible.
You just made your first public release and let’s say people think your software is so-so.
From their feedback and your observation, you realized what you should have done instead. Then you were reminded of the distaste in having to make changes in the middle of a project. So with a heavy heart you go back to your development team to tell them. Surprisingly, they were enthusiastic in listening and even shared their technical points of view as you shape the new path of the project.
Yes, that actually happens.
4. Quality assured
Agile is popular among serial testers; for it is in these tests that confidence and trust are forged. Some developers won’t even code a feature until a unit test is made. No code is kept in development for more than a couple hours that isn’t tested to work with the rest of the latest build. You are even required to write tests yourself to make sure that the feature aligns with the story.
5. Sane work hours
Agile won’t be so agile if developers are overworked. Sure there are times when they have to go overtime but that shouldn’t happen a couple of weeks in a row. If that happens, it’s probably high time to meet with the team and reassess deliverables, and be realistic.
Obviously, this short list doesn’t cover all of Agile’s pros (and cons). Nonetheless, I hope that this gives you a good idea of how Agile can help you realize your world hunger solving vision!