Firstly, what is Agile? Agile is a methodology based on an iterative cycle. Basically, a larger program or process is broken down and completed in stages by a team of capable developers. End-users are kept in the loop and changes to the program are easily and quickly performed, in theory.
But, Agile depends on three things: The skill, flexibility and motivation of the development team; the ability of the end-user to provide useful feedback; and the level of communication between the team and all other involved parties. Should any part of this triumvirate of requirements be found wanting, the entire process is doomed to fail.
The development team, for example, needs to be made up of talented individuals who work well with people and are highly flexible. They need to work well as a group and be able to adapt themselves to the task instead of the other way around. Put simply, every team member needs to be a coding genius linked into the team's collective hive mind and more than capable of handling end-users and their whims. With the global shortage of skilled developers just a few years ago, Agile was failing. There were simply too few flexible developers to help Agile's case.
All is not lost though, the rise of Generation Y (-not?) has brought forth a new wave of ambitious developers. This next-gen has produced charismatic and fast-thinking programmers who work better with the Agile principles than the traditional methods. Needless to say, Agile died years ago and has been resurrected by the flood of youthful energy that has washed over the software development field.
For business users, Agile means less formality and more result as they can almost adopt a fire-and-forget policy with their development teams and trust them to deliver the best possible solution. Agile also makes it easier to keep track of each stage of development and thus allow business users to guide the end-result closer to their vision with each iteration of development.
But, as previously stated, Agile's triumvirate of requirements demands effective communication between business and development, without becoming too technical. This creates a need for a simplified view of development for business users to refer to, a kind of dashboard that gives business users what they are looking for and little more, but still provide sufficient detail for business to make informed decisions on.
So Agile's great, if you have the right tools and team. While the teams are getting more prevalent throughout the market, technology that lends itself well to Agile is still in its teething stage. Thankfully, new technologies are cropping up all the time, leaving business users with the luxury of choice in terms of how they want to use Agile to their advantage, and how they plan to implement it in existing processes.
Share