Talk of digital transformation and the promise it holds for organizations has dominated conversations for nearly a decade. But over the past year, these conversations have taken a startling turn.
Consider the following: In June 2018, IDC announced that 58% of organizations are at a digital deadlock, and in March 2018, HBR wrote about high profile digital transformation failures from the likes of GE, Nike, Procter & Gamble and Ford.
And the bad news doesn’t stop there. In 2017, Fujitsu found that one in four organizations have experienced a digital transformation failure — at the average cost of $655,000 — while a Wipro Digital survey revealed that 20% of executives secretly believe digital transformations are a waste of time. Perhaps that’s because only 10% of respondents were able to successfully execute at least 75% of their digital transformation strategy.
What exactly is going on that so many organizations are hitting a wall when it comes to digital transformation? And what can you do to buck the trend? To answer these questions, let’s take a look at four common reasons why digital transformations in software development and testing organizations stall and what you can do about it.
1) Testing is Not Optimized for Agile Development
If your development efforts are moving toward agile development and DevOps release processes, your testing efforts need to match. Far too often, testing gets left behind, but this mismatch is exactly what can cause your digital transformation to stall.
Failing to optimize testing for this environment typically comes down to two key factors:
- Lack of automation: If at least some of your testing isn’t automated, it becomes almost impossible to keep pace with the increasing frequency of software deployments. When software deployments start to become a daily or even hourly occurrence, there has to be some automated checking to make sure that each new change to the code works.
- Limited accessibility: There’s a trend among agile teams that everything should be accessible to everyone so that the entire team can understand and contribute to the team’s efforts. However, many teams use testing tools that developers can’t access or understand. To optimize for agile development and accelerate digital transformation, you need a testing tool that developers can access as well as adopt, so that they can understand what’s happening and help make improvements.
Removing these roadblocks around automation and accessibility will go a long way toward embedding testing in the entire software development process rather than having it operate in a silo. This integration is critical for both DevOps success and digital transformation success.
2) Culture & Communication Roadblocks
Often times as organizations transition to modern development and deployment practices, leaders struggle to distribute decision-making. However, enabling key players across departments to make decisions is essential if you want to move quickly and deliver products at a faster rate. That’s because if the organization can’t make decisions and plan quickly, digital transformation efforts will fail.
Many organizations have a very agile approach for building new products quickly once they make a decision, but their overall approach for determining strategy at a high level, including what to build and what the business’s top priorities are, is indicative of a management team that’s not ready to let go of top-down decision-making – i.e. waterfall. This setup can prove troublesome though, as it creates a significant bottleneck and isolates the people building your products from the business strategy, leading to a disconnect between what the business wants and what engineering can deliver. That disconnect can cause delays both before the product is built, as teams wait for clearer direction, and during development, when there are discrepancies between management’s expectations and reality.
To overcome this disconnect and keep digital transformation efforts running smoothly, the business and engineering need to be in lockstep. Most often, achieving that goal comes down to decentralizing decision-making and ensuring each member of the team clearly understands the common goal, so strategic decisions can be made quickly in smaller increments.
3) Application Architecture is Not Ready for Digital Optimization
When it comes to digital optimization for software, we typically mean omnichannel accessibility that gives end users the ability to engage with the software on any channel, be that mobile, web or anywhere else. Achieving that desired omnichannel state often comes down to having good APIs as the foundation for your application architecture.
Getting the right architecture in place has proven difficult for many organizations because they have yet to build APIs for their software. Instead, they still have monolithic applications that run on one giant codebase. With this type of setup, the software must stay on a strict release pattern because a change in one area can easily break something in another area of the shared codebase.
To get your application architecture primed for a true digital transformation, you need the proper APIs in place – which often means starting at the ground level with the proper architecture. Once you have that, your development and testing teams can work in independent groups on different areas of the application without worrying about breaking something in another area. This setup will allow you to migrate services into the cloud one at a time for improved scalability. It will also help achieve a faster speed to market, since you can operate on a more agile release cycle in which new releases go to market as soon as they’re ready, regardless of what’s happening in other areas of the application.
4) Skills Gaps Among Testers
For development and testing teams who want to achieve a true digital transformation, agile testing is one key to success. However, two key skills gaps exist that often hinder progress.
First, many testers are too specialized to operate effectively in an agile environment. Not too long ago, organizations wanted testing specialists who could focus on one type of testing. The structure of an agile organization, which typically includes multiple, small teams, each with one or two testers, requires testing generalists who can handle multiple types of testing (e.g. automated, performance, load, API, etc.). That way, testers can do any type of testing the agile team of which they’re a part needs. This shift in team structure has left many testers who spent years developing specialized skills on very specific testing tools with a major skills gap. As a result, many organizations need to help testers broaden their skill sets. The good news is that there are several modern testing tools available that make once specialized areas, such as load testing, performance testing and test automation, easier for testers to learn and implement.
Second, agile environments highlight any gaps in communication skills. On an agile team, people need to communicate cross-functionally and make decisions quickly in order to succeed. When you add in the facts that many of today’s teams are distributed globally, meaning they must rely on virtual communications, any roadblocks in communication become even more pronounced. Addressing this skills gap requires teaching people to explain ideas and decisions (including very technical concepts) quickly to people with different backgrounds and skillsets, in person as well as over chat and email. Doing so isn’t easy, but it’s one of the most worthwhile investments you can make to keep operations running smoothly.
Get Your Digital Transformation Effort Back on Track
If your digital transformation stalls, you’re not alone, but there are several steps you can take to get your efforts back on track. It all starts by diagnosing the reason you’re experiencing challenges in the first place, and for most software development and testing teams that comes down to one of the four roadblocks outlined here: Failure to optimize testing for agile, culture and communication challenges, outdated application architecture and skills gaps among testers.