A Tale of Two Software Development Approaches

BrandPost By Dilshad Simons
Apr 12, 2018
Enterprise Applications

It’s not necessarily the case that you have to choose between one or the otherrn

Modern product management has its roots in the 1920s, when Proctor & Gamble researchers sought to better sell products by better understanding how they were actually used by consumers. As the computer industry emerged, product management and product development became increasingly entwined, with the development of software necessitating a development process model to move the product lifecycle from customer need to market success.

For most companies involved in software development, that process followed the highly regimented “waterfall” model. For large, predictable organizations, waterfall provides a centralized, standardized approach to development across the enterprise. But as companies become more and more dependent on digital business and services, many are opting for agile development methodologies and technology to speed up time to market.

Proponents of the two approaches can be rigid in their preference. But it’s not necessarily the case that companies have to choose rigidly between one or the other.

Aligning with business agility

Agile development fits comfortably under the umbrella driving business agility. Business agility means evolving faster. It’s a way of being, a way of weaving resiliency and adaptability into the fabric of an enterprise. It’s the new way—the modern way—to do business. Failure to evolve can mean failure to compete.  According to a Forbes and Project Management Institute survey of more than 500 senior executives around the world, “A staggering 92 percent of executives believe that organizational agility, or the ability to rapidly respond to market conditions and external factors, is critical to business success. Eighty-two percent of respondents report that proficiency in agile approaches is important for the implementation of strategic initiatives. And 84 percent agree that organizational agility is necessary to succeed in digital transformation.”

Those aspirations map well to the principles of the Agile Manifesto, which in 2001 articulated goals of the burgeoning movement driving adoption of lightweight, iterative software development: customer satisfaction, harnessing change, entrusting in motivated individuals, frequent evaluation and adjustment to fine-tune behavior.

Leveraging the Best of Both Worlds

But it’s not always the case that organizations have to drop their investments in traditional waterfall tools and process in an effort to move wholescale to agile – many organizations successfully operate with hybrid models. There are places in the enterprise where waterfall still has an important role to play, from annual financial planning to quarterly investment. The magic happens when we’re able to provide the agility for software development while connecting the business value that results from agile, to the seasonal or waterfall style management within the enterprise. “Waterfall still has its moments, but you must build into a waterfall plan a way to show value in 90 days or sooner—one of the hallmarks of agile,” writes Chris Collins, general manager of CA services and education.

The beauty of agile is that it can be implemented in pockets across the organization, focused on specific opportunities for rapid development. But on large-scale projects, many organizations may not yet support the solutions and processes to ensure visibility of the progress of many independent agile development teams; in those cases, the structure and governance inherent in established waterfall development may be critical, particularly for established products needing relatively predictable updates and enhancements.

But for initiatives like mobility and e-commerce, or impending regulatory changes, an organization may need faster responses than some teams can typically deliver. The key challenge today is how to unify portfolio investment decisions across all delivery methodologies—agile, waterfall, and hybrid—to ensure fast, predictable execution across the development organization in a manner that aligns with top business priorities.

Learn more.