By Joe Tobolski
A decade ago, enterprise software and application development was a painstaking and expensive endeavor orchestrated by hundreds of engineers and programmers coding long days from so-called "cubicle farms." The cost and risk of deploying hardware and software made such approaches necessary.
Lead times were long — sometimes 18 to 24 months — between major software releases or the launch of new applications. For the largest of these monolithic applications, entire company divisions were formed just to support and maintain the software. Companies developing custom software followed a similar route.
Most businesses embraced the waterfall model, a software development methodology introduced several decades ago to develop these applications. In recent years, however, waterfall development has been supplanted by agile development practices.
While effective at the time, waterfall development practices are way too ponderous for our digital age, where businesses must pivot instantaneously, adopt new technologies, fix bugs and roll out application enhancements in real-time. For digital native technology companies in particular, calendars have given way to stopwatches as a measure of time in the digital age.
Just look at Apple’s experience introducing the latest version of its iPhone and iPad software, iOS 13. The software's introduction was marred by bugs affecting thousands of users worldwide, which led to near-daily updates by Apple engineers. The cascade of far-reaching iOS issues quickly led to Apple leaders revamping how it develops all future iOS releases.
The Rise of DevOps and Agile Development
Most businesses don't operate at the scale and intensity of Apple or Google when it comes to creating digital products — yet the same principles that underlie the processes still apply. Like most companies engaged in innovative digital product development, we've built our IT culture at Nerdery around the principles of DevOps — a neologism coined from the words, development and operations.
Gartner defines DevOps as "A change in IT culture, focusing on rapid IT service delivery through the adoption of agile, lean practices in the context of a system-oriented approach." Regardless of how it's defined, DevOps is driving about 90 percent of today's IT projects, an abrupt turn compared to 10 years ago.
With that change, large developer groups have been replaced with what is known as two-pizza teams — or a nimble squad of developers. Furthermore, we wouldn't have today's DevOps-driven projects without pervasive and inexpensive compute and storage services in the form of cloud computing.
Where Customer Experience Intersects the Cloud
Yes, the rise of DevOps and the cloud have transformed application development practices, but another equally stark change has been how we've evolved our view of the customer's role in the process. To be sure, older software development methods were more centered on a disciplined methodology and cutting-edge tech than seeking customer feedback. Oddly, customer feedback wasn't prioritized or valued, instead leaving it to the purview of the engineers.
But as computing power has migrated from the enterprise to desktops to laptops and handheld devices, individual software users have gained new-found prominence. Today, companies that marginalize customer experience while developing digital products do so at their own peril.
Gaining customer feedback early and often to enhance experiences is now considered essential to remaining competitive, regardless of the industry. In fact, according to CIO, “Enhancing customer experience is the most important business issue that boards want IT to work on.” Improving overall customer experiences is also another way companies can differentiate offerings, particularly with commodity-like products and services. In other words, superior customer experiences have evolved into a brand differentiator for many businesses.
It’s no surprise then that a 2019 survey by IDG Communications revealed that 67 percent of companies cite improving customer experience as the principal driver behind digital transformation initiatives. Accordingly, with more companies moving applications to the cloud, improving customer experiences has become a top priority.
How Business Develops Software in the Digital Age
Just as the rise of DevOps has accelerated the mass acceptance of agile practices in the software development world, the rocket-like expansion of the cloud is rendering past software creation methodologies obsolete. It’s also true that enterprise-wide digital transformation and platform modernization can’t happen without inexpensive cloud capabilities. Cloud-based applications give companies the ability to deftly deliver personalized customer experiences without the weight and limitations of legacy systems. And finally, global teams in multiple time zones can easily collaborate, iterate quickly and pivot at will.
Published on 03.02.20