Reimagining your software factory for the road ahead

Software is increasingly the answer to every question in the technologist’s “guide to the galaxy.” How do you retool your software factory to deliver superior customer service?

road ahead future
Thinkstock

One of the old expressions for frustration with every day design begins like this: “If they can put a man on the moon, then why can’t they….” Fill in the blank. Make bike tires that don’t go flat. Cure the common cold. Make remodeling projects finish on time. Make dogs that walk themselves.  If you’re a technologist, it’s deeply interesting to talk about quantum computing, augmented reality, autonomous vehicles, robots everywhere, computer-based intelligence, and drone delivery services. We can’t resist it. Since the dawn of time, human beings have been fascinated with tools that can improve our lives.

Amazing inventions will be one technology story in 2017. But, in fact, the biggest story will be behind the scenes: the story of how businesses will transform themselves to be able to realize the full potential of all these remarkable ideas and devices. The key to that transformation is, of course, software.  In fact, software is increasingly the answer to every question in the technologist’s “guide to the galaxy”.

So, if we sit back and put our feet up — let our kitchen robot make us dinner while our self-driving butler/car goes to get the groceries — what are the real, do-or-die enterprise software challenges for 2017 that will keep our amazing, imagined future coming to us?

One thing is for certain. Every company is now also in the software business, and all eyes will be on building and modernizing the “software factory” that every company needs in today’s digitally-connected world. One prediction that is already coming true is that those businesses who can map their software factories, identify key gaps and close them, and learn how to successfully automate to shift resources to innovation and incubation will lead the pack in delivering superior experiences to their customers.  Here are a few more predictions under that heading for 2017:

1. A reboot on requirements

As the number of stakeholders with a vested interest in the features, functionality, and performance of software continues to rise, planning and getting requirements right gets way more complicated. First of all, there is no distinct beginning and end to software development where the goal is continuous engagement with customers through a stream of new software experiences.  Bi-directional feedback loops allow precise measurement and analysis of delivered software experiences and a deep understanding of customers. Traditional planning needs to be rethought. Who determines what? Do customer feedback and insights dictate requirements? Is it the business stakeholders who tend to think of themselves as the customer? Or is it the agile development teams themselves — now collaborating across the business with sales, marketing, and other functions — who understand the full picture of what customers and what the business needs, drive requirements, and continuously turn them into real software at speed? The adoption of agile methodologies and customer-focused development is giving rise to a revolution in requirements planning.

2. Architecture revisited

Historically, the architectures of back-end software services and systems have been mostly static. After the initial design and implementation, the underlying architecture remained unchanged, often for long periods, until a complete redesign. Implementations were monolithic, and even small changes risked destabilizing the entire system with unintended consequences. Containers and microservices have given us new tools to enable a far more dynamic approach.  Microservice-based architectures allow rapid and continuous architectural evolution by allowing granular partitioning of small units of functionality interoperating through well-defined interfaces. These individual building blocks can be modified with far lower risk of introducing new problems. Look for new tools and design patterns that enable a fully agile approach to architecture and continuous improvement.

3. Intelligent, high-velocity tool chain

For some time, the software world has been moving away from vendor-provided suites of tools to a grow/assemble-your-own strategy. There is a now an increasing realization that a bespoke approach to software development can create complexity and fragility that takes time away from what really matters: efficiently building new software. This has created a renewed focus on “opinionated” workflows and processes utilizing proven, off-the-shelf tools and technologies. The new goal is end-to-end velocity and predictability focusing on standardization and seamless integration. Along with speed of execution, a modern tool chain must also provide insights to be able to fuel continuous improvement. The tools themselves will become more intelligent using machine learning and A.I. techniques to help automate and accelerate software development from design to delivery. 

Whatever part of your software factory you focus on in 2017, you will see the benefits add up quickly. Building your dev shop for success is all about building it for continuous change. In fact, 2017 may be the year when we start understanding the broad concept of “digital transformation” much more concretely, by realizing that renovation and renewal of business all comes back to how quickly and how well an organization can adapt to design, build and deliver software experiences that unlock its full potential.

This article is published as part of the IDG Contributor Network. Want to Join?