Home > Research > Seven Things You Need to Build a Digital Software Factory That Works

Seven Things You Need to Build a Digital Software Factory That Works

The concept of a software factory is not a new one. Hitachi pioneered the concept in 1969 (coincidentally the year I was born) with Hitachi Software Works. The model was so successful that its consulting arm, Hitachi Vantara, continues to advise companies on how to build their own to this day.

It’s important to understand that a software factory is a disciplined application of manufacturing principles and practices to software development. This is a major shift from the still common model of requirements – code – test – deploy paradigm that lies at the heart of a traditional project-centric development shop.

Here in the Applications Practice at Info-Tech we have taken these principles to heart, and they are embedded in our research. Here are the seven things you need to do to build a digital software factory that works and the research that will help you do it right.

Start With Strategy

A digital software factory represents a significant transformation for most organizations. It requires a shift from project- to product-centric delivery, with robust product management, disciplined engineering teams dedicated to a delivery line, and continuous funding for as long as the line is active. These are just a few elements of the change. Accelerate Digital Transformation With a Digital Factory is a great introduction to just what you’re getting yourself into. Couple it with Build an Application Department Strategy and apply the client-side developer or internal builder persona to create the strategic foundations of your digital software factory.

Product Management Is Not an Option

This is a key differentiator between a digital software factory and traditional project-centric delivery. Product managers or owners define and continually refine the strategy for the product throughout its life. Organizationally, Transition From Project to Product Delivery guides you on how to make the shift work. Deliver on Your Digital Product Vision helps product managers and owners build the robust backlog and roadmap for delivery and drive effective release management to ensure you deliver a quality software product every time.

Quality Is Job One

Ford dropped its famous tagline in 1998. However, quality problems that had a material effect on its bottom line brought it back to the fore in its hardware and software delivery practices. The same is true for every digital software factory. Quality standards such as those embodied on ISO and other manufacturing have been repeatedly demonstrated to drive delivery of a quality product AND the speed of production. Our research has demonstrated that the same is true in software, where quality is the number-one driver of throughput in application delivery (n=1,287 organizations from Info-Tech’s Management & Governance Diagnostic). Build a Software Quality Assurance Program uses product-centric quality practices to guide your team on how to build quality into every step of a product line in your digital software factory.

Software Engineers Design the Process AND Tools

If you’ve ever looked at the engineering specs for a product you know that they include the process (often called a recipe) and the tools required to build the product. You will have also seen that these vary from product to product. This breaks with more traditional software development practices, which are based on the premise that your SDLC is a generic process that can be applied repeatedly across projects. The result is that before a line of product code is written the software engineering team designs the leanest process enabled by an integrated chain of tools that support the build of the product. Modernize Your SDLC has a step-by-step guide to support the definition of a product-centric delivery process for your digital software factory. Look in Appendix B for the model of a fully integrated product SDLC to get you started.

Factories Are Automated

Developers and testers have been the shoemaker’s children of IT departments throughout history. If all you giving them to work with is an IDE and a compiler you don’t have a factory, you have a workshop that will churn out bespoke code … at bespoke prices. The toolchain in a software factory must be integrated end-to-end with robust automation that allows your software engineers to focus on the critical knowledge work that will really make the line hum along smartly. Automate Your Software Delivery Lifecycle will help your engineers design the right production line for your factory. Despite rapid testing guru Michael Bolton’s rap rant on why you can’t automate testing, a key area to focus is on automated testing. Automate Testing to Get More Done will help your engineers eliminate low-value activities at every step on the line so that they can focus on the high-value activities Bolton rightly recommends.

Build the Line Before You Build the Product

The software factory model breaks with the sense of urgency to “get coding” in traditional project-centric delivery models. In manufacturing you need to build and test the line before you can produce your product. The same is true in a digital software factory. Every product backlog item that enters the line may require new tooling, new test cases, new reusable code modules to accelerate delivery, and so forth. This requires a feedback loop into the previous stages where teams prioritize enabling product backlog items to build the line and continually improve its performance as described in Deliver on Your Digital Product VisionBuild a Better Backlog.

Your SDLC Is Lean, Agile, and Fully Integrated

Lean has its roots in Toyota’s 1930 break from Taylorian models of efficiency. Its principles, as coined by autonomous vehicle pioneer John Krafcik in 1988, remain true for your digital software factory, “Precisely specify value by specific product, identify the value stream for each product, make value flow without interruptions, let customer pull value from the producer, and pursue perfection.” Wherever you are in your journey towards the Lean, Agile, and fully integrated product delivery model required for a successful digital software factory, Info-Tech’s Agile Resource Center has the tools you need.

Our Take

Building a digital software factory is daunting proposition for many organizations. A pilot implementation for a single product team represents a solid first step in the think big and build in many steps vein. Deliver on Your Digital Product Vision will create the vision and goals for your pilot team, and Build Your BizDevOps Playbook guides them on how to build an integrated delivery practice.


Want to Know More?

Click the link in any of the blueprints above to book a call and start to build a digital software factory that works for your organization!