Organizations that depend on software to drive their businesses are recognizing that the old ways of adding new features can’t keep up with their user’s needs. These decision-makers have come to the conclusion that software development is a journey rather than a destination. Those who have embraced this reality are adopting agile methods or rapid feedback cycles to short circuit long lead times and deliver features faster to their users.
Traditional Software Development Methods
Traditionally, the ‘waterfall’ method required a comprehensive effort to fully document a set of specifications which were then assigned to a development team. Depending on the size and scope of the project, the developers could disappear for months only to reappear if a question came up.
Once the project was finished, they resurfaced, delivered the project for user testing, and disappeared to work on the next project. This approach was basically an all or nothing affair which meant that from idea to conception could take a long time. And… if you’ve ever been involved with a project like this, you’re aware that as soon as the solution was delivered, the first comment heard was “Wouldn’t it be great if it could……?”
There Is A Better Way
There is a better way. Agile or rapid feedback cycles gives you the power to deliver new features and answer the “Wouldn’t it be great if it could……?” question positively.
According to Wikipedia, “agile software development is a group of software development methods in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development, early delivery, continuous improvement, and encourages rapid and flexible response to change.”[1]
Agile methods break down the big project into smaller bite-sized chunks. Ever mindful of the overall vision, developers and users work closely together to prioritize which features should be built first. Once they’re built the rapid feedback cycle assures that the development team and the end-users are in sync with the overall goal and objectives.
This rapid feedback cycle puts a premium on collaboration and input from the user which results in an end product that often exceeds initial expectations. The cycle is repeated over and over again so that with each iteration existing features are refined and new ones added.
With an agile approach, one can get 20% of the software that 80% of users need most into production faster. Agile also results in minimizing wasted effort and increasing user satisfaction.
Impact
The impact of agile adoption throughout the organization is palpable. Users and developers work side by side which results in an alignment of business with technology. The rapid feedback cycle also provides a structure that if and when the original vision for a feature shifts, it can be addressed in a timely manner.
Summary
For the most part, technologists understand the value of rapid feedback cycles. The biggest challenge of unlocking the potential is educating decision-makers on the reality that software is a journey. Since our reliance on software will only grow and business demands will evolve, it makes sense to have a structure in place that takes advantage of new opportunities while encouraging innovation.
[1] http://en.wikipedia.org/wiki/Agile_software_development