Many philosophies have been employed in software development over the years, including lightweight methodology, test double, lean integration, rule of least power and the waterfall model, to mention a few. However, one type of software development is resulting in an impressive increase in the success of software development projects: the Agile group of software development methods.
The philosophy of agile software development targets complex systems and projects with development that’s adaptive and iterative as well as evolutionary.
Principles Of Agile Software Development
Some purport that the 12 principles on which the Agile philosophy is based are the reasons for its success. These principles include:
- The welcoming of changes in requirements, however late in development
- The close and daily cooperation between developers and business people
- Teams that are self-organizing
- Frequent delivery of working software
- Building projects around motivated and trusted individuals
- The ability to adapt regularly to changing circumstances
The above principles form the basis for the popular prediction that agile software development will be the dominant method in future.
Why Agile, Why Now?
The idea that agile software development will or should be the dominant method is due to several factors.
First, in today’s world, constant development must take place to manage the pace of change. However, even constant development is having trouble keeping up. One example of this is the mobile phone, which is often obsolete by the time it’s removed from its packaging.
Personal information is another struggle, as we are now processing large volumes of information on a daily basis. Whether from email, text messages or the internet, information overload is ubiquitous.
Information overload is also becoming a struggle for businesses as they are increasingly pressured to increase their response to internal demands, data-driven requirements and market drivers.
What do all of the above challenges have in common? None of them involve adapting quickly to change. Neither does any of them have an environment that allows for the handling of rapid changes. The Agile method allows for products to be placed on the market as early as possible, but with a number of users testing the products. As users provide feedback, changes are made. The result is a constant circuit of feedback and changes.
The Shift To The Individual
Agile development shifts the organisational focus from tools and processes to interactions and individuals. Instead of negotiating, parties collaborate and respond to change instead of "sticking to the plan".
What Agile Does For Teams
In a group scenario, the Agile method is really able to shine. Teams using Agile collaborate closely at each and every stage of software development. This not only makes the development process more enjoyable, but it also provides a constant pool of fresh eyes, which is critical to problem solving.
The high quality work that Agile allows for is very rewarding for developers. In addition, high quality products mean fewer bugs, which mean fewer headaches for consumers and developers alike.
Barriers To Using Agile In A Project
For agencies that work using the Agile methodology, some issues can arise on the client side. First, it can be difficult to convince customers to go beyond a fixed scope, cost and deadline. This can also be true of the agency that is just beginning to adapt to the Agile methodology.
Another barrier can be charging a client for the hours a team has spent on a project. Again, this non-fixed element has been known to strike fear in the hearts of clients who are used to and trust a fixed pricing model.
Despite the potential barriers and sometimes steep learning curve of adopting the Agile software development method, there is no doubt that it makes a tangible difference to the quality of work created.
Beata GREEN is Managing Director of HeadChannel Ltd., London based bespoke software development company. She is responsible for overall strategic direction and overseeing the company’s continuing growth, building closer client relationships and maintaining best working practices. She enjoys brisk country walks with her red fox labrador and then relaxing in front of a TV crime drama with a glass of red wine.
Picture Attribution: “Successful Smiling Man With Laptop” by stockimages/Freedigitalphotos.net