Software delivery in the age of disruption

The 2018 theme of the Management Association of the Philippines (MAP)—“Competing in the Age of Disruption”—is aptly relevant in the coming years for businesses and industries.

The impact of technologies, such as AI, blockchain, e-Sports arenas, and the like continue to threaten the relevance and survival of existing businesses.

The widescale changes brought about by these technologies make it important to understand them and prepare for possibilities. We have seen how software has transformed businesses and industries like Uber, Grab, AirBnB, Amazon, Facebook and Google.

We see, hear and experience what the digital world is and that software can give companies the competitive edge. Board level discussions continue on software delivery as a key element in the age of disruption. It is no longer the time to just leave ICT to technical people but key executives need to gain mastery of this because it is their business.

Having spent the last 35 years in software delivery, I obsess with the goal of ICT to deliver software projects on time and within budget. Statistics have not been encouraging on successful software delivery.

High risk

A McKinsey & Co research, conducted in collaboration with the University of Oxford, reports that half of large IT projects—large being with initial price tags over $15 million—massively blow their budgets. On average, large IT projects run 45 percent over budget and 7 percent over time, while delivering 56 percent less value than predicted.

The study finds software projects run the highest risk of cost and schedule overruns. More recently, the Enterprise Project Management Hub reports that the failure rates of IT projects are as high as 70 percent.

If we consider software as a complex product, then the use of management processes and work techniques, radically different from software development that failed to deliver, should be at the top of any Board’s agenda. What can address the complex adaptive problems of businesses and effectively deliver products of the highest value? How can we enhance customer experience that provide for a disruption-proof business and leave competitors scrambling to catch up?

There can be no room for complacency in an increasingly complex and competitive world; business must be open to new ways of software delivery and be one step ahead of disruption.

In the agile software community, the manifesto is to uncover better ways of developing software by doing it and helping others do it. The community has come to value individuals and interactions over processes and tools, value working software over comprehensive documentation, value customer collaboration over contract negotiation, and value responding to change over following a plan.

Organizations expect quality software delivered on time and within budget; but requirements keep changing. So instead of getting stuck with requirements defined months before, an agile ICT embraces the change and delivers product with the greatest business value first, while costs, time and scope are still managed.

Software delivery in this age of disruption can be managed by specifying small, usable features of the product, avoiding costly yearlong project surprises, for a working software to be delivered in weeks rather than months or years.

It is no surprise that organizations are embracing new ways like Scrum, a process framework within which management can address complex adaptive problems while delivering products, like software, of the highest possible value.

In traditional waterfall software delivery, the project manager is responsible for scope, cost, quality, risk, and requirements. In the Scrum framework, these responsibilities are shared in different roles: Scrum Master—guides the team in handling their tasks, makes sure there are no impediments; Product Owner—responsible for maximizing the value of the product by setting priorities for features; and the Development Team—professionals who do the work of delivering a releasable increment of the product, progress reporting and quality control. Scrum is widely used for products, services and the management of organizations.

Opportunities

Scrum teams deliver products iteratively and incrementally to maximize opportunities for feedback. This ensures that a potential useful version of a working product is always available.

Organizations need not stick to slow and tedious ways when there are possibilities for flexibility to respond quickly to changes in requirements. Users can see a working software in days—not months or years. Agile firms keep software delivery moving. If some features have not been fleshed out, software is immediately adjusted. The Scrum Master, the Product Owner and the Development Team work together as a team every day. Other management processes can also be integrated with the Scrum framework to generate the productivity and much-awaited value from software.

It is clear then—agile software delivery is exciting and can prepare us for the age of disruption. Business can gain mastery so it can continuously improve the product, the team and the working environment.

Read more...