Agile development is a great way to address innovating "differentiation" applications.
This is according to Forrester Research principal analyst VP, Diego Lo Giudice, who recently spoke about the development philosophy at IBM Rational's Next Generation Software Delivery forum in Sydney.
How Agile works is by breaking larger problems into smaller ones, as well as making the process easier to manage, forecast and measure.
"With Agile, 46 per cent of people have found that quality improves, and 43 per cent saw more opportunities for midcourse correction," he said.
What Agile development does it turn one large, monolithic project to multiple releases, smaller increments, fewer features, and potentially higher quality.
"It provides faster delivery by getting the 'right things' done," Giudice said.
Other Agile advantages Giudice highlights include continuous business feedback, shorter iterations, focus on minimal viable products, cross functional teams, and automation of core development and delivery steps.
While Agile adoption is in "good health," Giudice said scaling it is another story.
"To scale Agile adoption at enterprise levels, a well concerted transformation program based on Lean [development] is needed," he said.
When 2005 IT professionals from organisations that are implementing or have implemented Agile were surveyed, 27 per cent said it was mature and spread across enterprise, 25 per cent said it was mature but in silos, 19 per cent feel they are midway in adoption journey, and 24 per cent have just started.
Giudice said accelerated delivery disrupts traditional testing approaches.
"Testing in an accelerated environment without impacting agile team performance is not easy," he said.
Test of things to come
Decisions need to be made in regards to large centralised testing teams versus embedded testers, as well as when it comes to using test managers versus testing practice leaders, coaches and change agents.
"GUI automation is not enough, so much more automation is required and done in a smarter way," Giudice said.
New and modern practices such as test driven development (TDD) versus testing at the end also need to be considered
"Iterative testing increases challenges on 'non functional' complex production environments," Giudice said.
"As Agile mature, so does testing automation."
With Agile, building automatic testing becomes a software development job.
"Testing makes or breaks your Agile adoption," Giudice said.
Some of the trends Giudice is seeing with application lifecycle management is the move to smaller teams of 3 to 10 people, minimum viable product (MvP), frequent releases, and upfront quality/testing.
"This is a generational shift and you need to act now," Giudice said.
When it comes to Agile and Lean, he said "everyone I doing it and most are at a scaling point."
"The age of one size fits all application development and delivery is over, so prepare to be multidisciplinary in the way you develop, deliver and deploy apps," Giudice said.