Should software developers pursue agile continuous deployment?

Insight Main Image

If not handled correctly, a continuous deployment approach to software release may have some adverse effects.

Since it first burst on the software development scene, agile has quickly usurped waterfall as the go-to method for creating, testing and releasing products. Many organizations have credited a switch to agile for reducing the amount of time and resources needed to complete a development cycle. In addition, the concept of continuous deployment which lies at the heart of agile methods often allows businesses to release more engaging products that better meet the demands of end users. This is because agile developers are continually looking to incorporate feedback from consumers, employees and upper management. When implemented correctly, agile methods can vastly improve an organization's performance, output and bottom line.

Forbes contributor Steve Blank recently cautioned organizations about some of the unfortunate consequences that can result when a business incorporates agile software development principles in a haphazard manner. Under the right circumstances, continuous deployment allows businesses to eliminate the long stretches of time that separate new and upgraded iterations of their software products, reducing the financial stake in any single project. However, if not handled correctly, this approach to software releases may have some adverse effects.

The case of Adobe's subscription service
Blank cited the example of Adobe, which has traditionally released its popular software in standalone versions releasing upgraded iterations intermittently. Recently, the company has begun distributing its products through the cloud via a subscription service. This way, when Adobe officials want to improve their commercial programs, those upgrades can be easily incorporated with end user software through the hosted network. From a business perspective, annual subscriptions provided a more reliable source of revenue and decreased the amount of risk involved when investing in major projects.

The company's new continuous delivery model did not gain traction with all demographics, however. While users who required the extensive set of features offered by Adobe's products bought into the subscription service, those with less intensive needs balked. Small business owners, students and other casual users spurned Adobe's subscription plan in favor of more cost-effective alternatives that would meet their basic expectations. This could have even further repercussions down the road.

"The consequence of discarding low margin customers and optimizing revenue and margin in the short-term, Adobe risks enabling future competitors," Blank wrote. "In fact, this revenue model feels awfully close to the strategy of the U.S. integrated steel business when they abandoned their low margin business of the mini-mills."

Introducing agile concepts
Other concerns regarding agile development processes may emerge internally as well. These issues tend to crop up because quality assurance officials overlooked the managerial changes that need to occur within test teams to optimize agile methods. According to InformationWeek contributor Scott Staples, businesses should resist the urge to make an abrupt switch to agile. He recommended that QA management take a slow approach to incorporating these principles instead of simply flicking a switch.

The first step is to test the agile waters. Integrate a few new practices and note how the team reacts and how production is either improved or impeded. From there, QA management can make the necessary changes to enhance agile methods and implement more resources such as enterprise test management software. 

Related Articles:

  • Aligning continuous delivery with agile projects
  • Combining continuous delivery with automated testing
  • Overcoming common challenges of continuous delivery