Agile and DevOps methodologies speed up the continuous development and delivery of workable software, and verbal communication is critical for these processes. But verbal communication alone is not sufficient. These methodologies also need to be supported by robust communication and collaboration tools. Let’s look at how and why Unified Communication and Collaboration (UCC) is crucial to success.
Rapid prototyping through events like hackathons, design jams and maker labs—gatherings designed to foster fast-paced group creativity in design—are being seen not just as effective problem solving, but as a way to engage citizenry differently, and to transform commercial organisations for the better. The ultimate manifestation of lean business, they are being used to prove to organisations that agile development (a collaborative, self-organizing development approach) and DevOps practice (a software engineering practice that unifies software development and software operation) should be used in every organisation, all the time, to maximise productivity.
These are all forms of iterative development, which happens over very short sprints of production and generates minimum viable products, meaning sites or software with enough features to appeal to early adopters that can be tested and improved over subsequent sprints. This means you have a product that is ready for market in just a few weeks, rather than the months of ponderous progress that is typical in traditional research and development (R&D) environments.
It can all sound too good to be true, and here’s the thing: most of the time it is too good to be true.
That’s because most of the time, products created and pitched in agile, rapidly developed conditions will fail. And that’s actually intended. That’s the point. According to Fortune.com, the ratio of innovations that meet market expectations and projections is about one in ten. Harvard Business Review says that even forward-thinking companies aren’t likely to ever get much better than 40% to 50% success rates for their innovative products and services.
But that doesn’t necessarily mean that agile and DevOps processes don’t have value. Quite the contrary; if you can improve your innovation success rate, you have the opportunity to dramatically improve both competitive positioning and profitability. So, if you can churn through the failures quickly, and still get out profitable products within regular business cycles, you are likely to be in a much better place than your competitors, and survive the rapidly changing commercial climate in which we operate.
The challenge, then, is to determine how best to support agile and DevOps approaches so that the innovation success rate can be improved.
The DevOps Weak Spot
For all the advances in technology we have experienced in the digital age, improved communication still reigns supreme in terms of improving productivity and the likelihood of success for agile and DevOps projects.
DevOps requires robust development reporting, issue escalation and collaborative problem-solving in order to be efficient. There’s no point coming to a daily standing meeting with a problem that needed to be solved ten minutes after the previous day’s meeting. It needs to be addressed on the fly. Otherwise, you lose a day’s work. To be efficient in DevOps, you need to respond to changes as they happen, and you need the infrastructure to support that design process. As such, unified communication and collaboration (UCC) tools are the lifeblood of DevOps; they’re even more crucial here than for agile processes.
But the implementation of UCC is just as subject to failure. Teams need to be appropriately trained on platforms and follow a ritual of checking reporting systems to ensure that their tasks are being properly monitored and resolved on an hourly basis. If that doesn’t happen the risk is that rapid deployment strategies may be compromised, and a deployment might actually break the network—precisely what DevOps processes are supposed to prevent.
Pikkarainen et al (2008) note that agile development processes can actually increase the chasm between the actors in software development, and that the ensuing lack of communication can result in project failure. While verbal communication is still apparently the most successful means of solving problems in agile teams, we still need to support direct meetings between collocated teams (meaning teams that work together in the same physical space) by creating a record of interactions and issues on collaborative platforms. This hybridisation of engagement processes makes it possible to communicate more efficiently in face-to-face meetings.
How to Hack DevOps
The fundamental mechanism to improve DevOps, then, is to improve communication across collocated teams. But it’s not enough just to provide them with communications technology and think that’s going to solve the problem. You have to use such communication platforms intelligently.
Seeding content on UCC platforms can help drive adoption, as well as training users to use UCC systems for regular reporting activities, such as announcing that a milestone has been achieved or recording the problems and solutions explored during agile development activities. Further, engaging actors outside the scope of the software development team (involving clients, user experience teams, supply chain representatives and so on) can further add value to the implementation, both inspiring better product development and ensuring that experts are on hand to respond to problems as they arise.
UCC can also be used as a performance management tracking tool, where the actors’ execution of activities in an agile project can be measured against anticipated delivery plans. It can also log the speed of problem solving and encourage effective engagement with stakeholders.
Finally, UCC can be used to communicate about core business production to inspire productivity. Where agile projects are designed to augment core business activities or create new markets, the economic and productivity performance of core business activities can in turn reinforce the need for agile projects to be implemented. While such content needs to be put in context (usually showing the projected business productivity improvement that will arise from completing the agile project), this kind of inspiration helps communicate the shared value of the team and galvanize problem-solving efforts.
The basic value of DevOps and rapid prototyping is in reducing the cycle time of innovation production and increasing its volume. But while these approaches may generate value of their own accord, it makes sense to think about the design of DevOps environments, and their supporting infrastructure, to maximise that value.
George Bernard Shaw once said, “the single biggest problem in communication is the illusion that it has taken place.” If you don’t support communication for DevOps projects, even, and sometimes particularly, among collocated teams, then the value of your agile innovation program may also be an illusion. But it doesn’t have to be. Strong and well-supported communication, both in person and via UCC, can make the difference between failure and success.
Latest posts by Joanne Jacobs (see all)
- Optimizing communications for DevOps teams working together in the same space - May 28, 2018
- APIs and Collaboration - May 14, 2018