Agile development is for better or worse, the way to go with software development. Because of great competition in the space, and the fact that any small group of startups can even compete with large industry leaders, Agile development has become the weapon of choice to beat the competition in terms of time to market. But Agile is a double-edged sword and its methods are not really for everyone and not really for every project. Agile requires the right team, the right business philosophy, and of course the right project. There is no one solution for everything, so here are a few ways to determine if that Cloud project you are looking into is Agile-ready, or in fact, to determine if your organization is Agile-ready.
Determine the kind of project you have. Is that project a carryover from previous work that has a lot of old code probably done using the old waterfall methodology? Is it tied to old tools and dated infrastructure that could be hard or take a lot of work to modernize? If so then Agile is not probably for that project. Now if it is a straight forward “from the ground-up” project then you may be able to apply Agile on it, assuming that your organization and team are ready for Agile.
Is the interface or UI development schedule reasonable for an Agile method? Agile needs room for some processes more than others, and even though it literally means fast, you have to take time for what is more important for a project. Agile is very user-centric, and what could be more user-related than the UI?
Are your development team and internal stakeholders ready for Agile? Agile requires team members “who ARE, but not SO.” This means that members have to be something in between, like flexible yet consistent, or willing to learn new methods and processes yet can still hold the best practices of the old, or even energetic and excited yet knows how to hold back and stick to their parts rather than throw themselves around in the guise of helpfulness and urgency. Agile is all about getting things done quickly because of a proper process, not just for the sake of doing things quickly.
Does upper management understand Agile and are willing to step back to make it happen? If there is anything consistent between different companies, is that managers, especially higher ones can be control freaks. It’s like the single most prominent requirement for becoming a manager, and of course it is literally their job to be. But the important thing for Agile to happen is that people are given freedom to work on their part without the constant scrutiny and scope change that often happen when managers micromanage.
Is this the right project for Agile? Again? Yes, again. Sometimes people simply associate Agile with fast, this is true somewhat but it requires control. That is something you don’t have when a project s already underway and has been falling short of expectations. In other words, delayed. Agile is not meant to salvage sinking projects in the hopes of getting it out the door and still gain profit. Agile hinges on consistency also, and without that from the start, it would be doomed to fail.
Can your Cloud infrastructure leverage Agile? The biggest question for Cloud computing here, are the services you have able to handle Agile processes and methodologies and do you have the budget for it? You might see a spike in resource consumption when Agile development teams start provisioning those staging and testing servers of theirs.
These would cover the basics whether your Cloud organization and project is prepared to dive into the world of Agile.
By Abdul Salam