How to speed up software development (without killing morale)
How to speed up software development (without killing morale)
In the wake of the pandemic, IT leaders are under increasing pressure to deliver solutions fast. But many CIOs are finding the steps they’ve taken to iterate quickly aren’t enough to support increasing business demands.
As a startup serving the highly competitive gaming industry with its 3D interactive streaming platform, Polystream needs to deliver new capabilities quickly.
Cheryl Razzell, the company’s vice president of engineering, and Simon Sparks, head of talent, call speed a competitive advantage.
“We have to use everything, including speed, to our advantage,” Sparks says.
They acknowledge that speed takes work. Otherwise, developers can get bogged down in bureaucracy or sidetracked by ideas and endless requests, both of which add precious time to coding work and delay releases and new products.
“It feels like a perfect storm for CIOs. We had the first era of COVID, where the CIO emerged as a star for enabling remote work and launching initiatives to ensure stability and connecting with customers. But now the management team has moved on. They’re thinking about 2021 and 2022, how they can catch up, make up for lost time and accelerate the business,” says Aamer Baig, who as senior partner at the management consulting firm McKinsey & Co. helps business and technology leaders transform their organizations. “So if CIOs thought the pressure was high before, it’s magnitudes higher now.”
Given that pressure, CIOs and their enterprise IT teams are finding that steps they’ve taken to iterate quickly, such as adopting agile development methodologies, may not be enough to support increasing business demands for quantity as well as velocity. Consider, for instance, that 86 percent of IT decision-makers listed too few software developers as their biggest challenge to digitally transform their business, according to the Project Management Institute.
IT leaders can rev up development work — without overworking their teams — by adopting new processes and technologies, according to Baig, IT leaders and other consultants. They offer the five following suggestions for speeding up application development — without killing morale in the process.
McKinsey research has found that “bold, tightly integrated digital strategies” deliver more value more often, finding that 47 percent of companies with such strategies in place reported organic revenue growth of 10 percent or higher.
Baig points to tech companies as examples of what to do, noting that they frequently embed tech teams within the business or vice versa, creating a joint delivery process that enables them to deliver code quickly.
Joshua Perkins, field CTO for Ahead, a cloud solutions provider, offers a similar perspective, saying teams need to be architected to align with subject matter experts and be upskilled to ensure they’re capable of delivering quality code quickly.
“If we want to deliver applications faster, we have to align resources better and attract and retain talent to maintain that alignment,” he says. “We want to create teams that span all the different functional components for that piece of software to be functional, successful, and impactful. Innovative CIOs succeed here when they bring an influx of people who weren’t traditionally involved in that process to better inform the business objectives.”
Perkins points to one insurance company that created a software development group that included developers, data scientists and business managers who understood underwriting and claims. That broad inclusion from the start expediated the coding process, with fewer sprints and iterations required to develop the right end product.
Developers have been adopting a sweeping number of tools to help them work faster, but adoption is not universal across development teams nor is it complete among those teams that have embraced automation and other technologies.
Findings in the 2020 Mapping the DevOps Landscape survey from GitLab, maker of a web-based devops lifecycle tool, show room for improvement: Only 38 percent of respondents said their devops implementations included continuous integration/continuous delivery (CI/CD), and only 29 percent said their devops implementations include test automation.
Yet respondents indicated that further adoption of technologies would help speed up their work. For example, 47 percent listed testing as a top bottleneck, even though only 12 percent said they’ve implemented full test automation.
Martin Brodbeck, CTO of online travel agency Priceline, said he has deployed more tools, such as Harness, to help speed development within his company and is continuing to roll out more technologies to support his teams.
“Our goal is to have zero humans involved to deploy code into our environment. From a deployment perspective, it can make things move a lot faster,” Brodbeck says. “We’re able to throw out more features and functions more quickly, see if they work and then if they do, we can scale them quickly. And if there are any issues, we can roll back the deployments.”
Brodbeck says he doesn’t track deployment times so he can’t quantify how any particular tool has helped increase development speed, but he says, “Anecdotally, we know we’re faster.”
Although adopting automation technologies and development tools, as well as processes and methodologies such as agile and devops, are critical to adding velocity to app development, experts caution against using too many different ones. That approach will likely slow down work in the long run.
Standardizing across development teams may take work and time, but Baig says in the end development teams will be able to work faster because they can be moved across projects and departments quickly and easily if they’re all using the same tools, processes and even languages to do their work.
Brodbeck agrees, saying that standardization provides maximum flexibility by eliminating the time it might take for developers to learn or master new tools and processes as they move within the organization.
“Being a small team, we can only afford to focus on the most important parts — what makes this different, what makes this special. Having this behind the focus is super important,” Polystream’s Sparks says.
Case in point: Developers at Polystream were recently tasked with building a single product that would let someone join a game via a link, versus downloading the entire game. Razzell says her company saw the feature as part of its strategy to stay competitive in an aggressive gaming industry.
The development team worked quickly, she says, delivering the product in just two weeks. Razzell says keeping a laser-sharp focus on the objective was the key to such speedy results.
“Sometimes it’s easy to lose track of what you’re trying to build. It’s easy to go down rabbit holes and you end up with something that wasn’t what was sought,” she says, adding that staying on a narrow track can be particularly difficult when developing new products and pursuing innovative ideas where additional elements can more easily sneak onto the to-do development list.
She speaks from experience, pointing out that her developers were distracted by some pieces of work that they came to see as unnecessary to their core objectives.
“You don’t mean to go down that rabbit hole, but the team gets caught up in something. You just get caught up in the day-to-day hustle,” Razzell says. “And in that case we kept building on it and trying to make it better but we found out we didn’t really need it. We found the extra work was hindering our development process.”
Some experts single out low-code/no-code platforms as a particularly important technology for supporting speed in app development.
They note the technology increases velocity in three interconnected ways. First, developers within the IT department can use it to more rapidly create code. Second, business users themselves can use the platform to quickly deliver apps that meet their needs, eliminating the time it takes for them to meet with IT to collaborate. And third, with users themselves handling some lower-level development work, IT can concentrate its resources on the more complex, higher-value app development and in doing so can turn around that work more quickly.
“The workflow owner understands what they’re trying to design, so with low-code/now-code, they’re able to build in real-time. They’re designing the new workflow, and the app is being designed in real time in the background,” says Sunil Prashara, president and CEO of the Project Management Institute.
Research from PMI backs up such claims: It found that one telecommunications company took 67 percent less time to develop an app using two no-code developers than it would have taken its team of six Java developers. Another telecommunications company had similar success, finding that two no-code developers delivered an app in 72 percent less time than its 6 .NET developers would have taken. A third company worked 62 percent faster using two no-code developers and a consultant than the time it would have taken two consultants and four developers in a more conventional development environment.
CIOs are taking note, increasing their investments in low-code/no-code platforms. KPMG’s 2020 Global Emerging Technology Survey Report found that CIOs in recent months have increased their investments in these platforms, with 26 percent saying they consider it the top automation investment for Q2, up from just 10 percent for Q1.
Author: Mary K. Pratt