What makes a successful software factory?

Keeping up with customer demands means using DevOps and agile to power fast output.

The following is an excerpt from my book Digitally Remastered, which outlines how to successfully build a software factory to support your digital transformation efforts now and into the future.

software factoryToday, your customers may be your biggest disruptors and are increasingly your most important partners in the redesign of your business through software. If delivering a high-quality, seamless digital experience to your customers is to be the foundation of your brand, then reengineering everything with that goal in mind is your best chance for transformation success.

Your customers’ demands place new challenges on traditional IT. With its emphasis on stability rather than rapid evolution, a small-scale, old-style “custom-shop” approach simply can’t deliver the innovation that customers demand and it can’t create the scale of software output required to satisfy the needs of a digital business. The process of software development and delivery must be transformed to achieve the key attributes of any modern production operation: high throughput, consistent quality, extensive automation and resource efficiency. In other words, what you need is a modern software factory.

The business landscape has changed radically. Rather than leveraging software technology merely to do more of the same—only better, faster and cheaper—businesses now depend on a constant flow of new software services to connect and engage with customers in fundamentally different ways. To that end, building and optimizing a streamlined software delivery factory is a serious undertaking.

There are many manufacturers (teams) to keep productive, complex part-lists and components (features, software code, builds, and configurations) to coordinate, and suppliers (technology vendors) to manage. Compounding the challenge of building a new software factory is the fact that you’re not starting fresh. You have existing teams operating in traditional discrete functional silos, and processes and technology designed to deliver software on a yearly rather than weekly or daily cadence.

Both agile and DevOps methodologies can play key roles in building and optimizing your new software factory. Agile is an approach for organizing customer-focused development based on the efficiency of small, integrated teams working together. DevOps is about aligning people, process and technology to enable a leaner, more integrated approach to operating your application development and delivery pipeline. While the terminology can be confusing, both agile and DevOps are ways to remove roadblocks to rapid and continuous delivery of high-quality software.

Your software factory may be busy, but it should never be a black box or a tangled mess—it should always be well-defined and well-understood. It should include everything that it takes to get from ideation to product or service, and ultimately, brand experience. Taking a page from quality-assurance philosophies, it means ensuring anything that is implicit is made explicit and measurable.

Read the whole Digitally Remastered book today.

Otto Berkes
Otto Berkes is the Chief Technology Officer at CA Technologies. He is responsible for technical…


Modern Software Factory Hub

Your source for the tips, tools and insights to power your digital transformation.
Read more >
Low-Code Development: The Latest Killer Tool in the Agile Toolkit?What Are “Irresistible” APIs and Why Does Akamai's Kirsten Hunter Love Them?Persado's Assaf Baciu Is Engineering AI to Understand How You Feel