For manufacturing companies software is an increasingly important aspect of their product’s value proposition. From consumer to industrial products, nearly every industry is affected. Incorporating software presents greater challenges to companies whose products have traditionally been hardware oriented.
Consider an example from the automotive industry. A recent article on Manufacturing.net reports a sharp increase in the number of recalls due to software related issues over the last five years, rising from 5% in 2011 to 15% in 2015 (1). New vehicles can contain more than 10 times the amount of software code as compared to an F-35 fighter jet.
This example illustrates one of the challenges: incorporating software can potentially lead to declining product quality. Other issues that traditional hardware oriented companies face is learning how to define customer needs and managing the software development process.
From a technical perspective there are generally two aspects to software development: the “user interface” and “embedded” software. The user interface is how the customer interacts with the product via a touchscreen or a computer. Design of the user interface requires an understanding of how the customer will interact with the product and then implementing an “elegantly simple” design.
Embedded software is not visible to the customer. It is the underlying software that controls the hardware. Much of the requirements for the embedded software are driven by the functional requirements.
Both the user interface and the embedded software can influence product quality. The user interface directly impacts
ease-of-use and can lead to positive or negative perceptions of quality. Embedded software will more likely influence functional product quality. “Bugs” in either case will impact perceptions of quality.
Why is the transition from a traditional hardware oriented product to one where software is more important so difficult? Figure 1 helps explain it.
As the number of elements in a system goes up (x-axis), the system complexity goes up but at an increasing rate (y-axis). Software tends to interact with every sub-system and suddenly drives project schedules and impacts product quality, as illustrated by the automotive example. Adding additional software functionality can challenge the organization in other ways. Let’s consider some of them.
A New Mindset
Senior management in particular must realize that managing software development is not the same as managing hardware development. As Figure 1 illustrates, project complexity and risk goes up. Meeting project schedules becomes more challenging, since the organization will have little experience managing software development. Pressure from senior management to meet the schedule increases and project teams might be tempted to cut corners in testing. Initial product quality problems often result, with all the negative consequences.
Human Resource Management
Organizations will be challenged to recruit and hire software engineers for the first time. Hiring the wrong skill sets will result in significance development problems. An especially important first hire is the engineer responsible for system architecture. An effective architecture is a strategic decision and has a major influence on product quality and time-to-market.
Project managers skilled at managing hardware projects will require new skill sets to manage the software aspect of development. Don’t assume they will immediately have those skills. That might mean hiring new project managers or additional training.
An extremely effective software project management tool is one of the agile techniques called “scrum”. This tool is based on iterate-and-learn cycles, also employed in the popular lean methodologies. Iterate-and-learn is the perfect project management tool when faced with high uncertainty, but many hardware companies will have a steep learning curve to embrace this powerful tool.
The technique starts with the premise that it is virtually impossible to fully define what customers want in software, especially the user interface. Rather than wasting time developing a “specification”, scrum uses a product backlog that consists of a number of “user stories”. These are written from the standpoint of the customer, not in engineering terms. The team iterates in short 2-4 week “sprints” to design, develop and test the code, getting feedback continuously along the way. The best product “emerges” through the process.
Managing Customer Requests
Once software becomes more important to the product, there will be a dramatic increase in the number of customer requests for new features or changes to existing features. Many small to mid-sized companies will find managing these requests challenging, which leads to overloading of resources. The organization will need to implement new processes to manage the requests and learn to say no to customers in some cases.
In summary, companies who have traditionally developed hardware products will face many challenges incorporating software into their products. Senior management will require a new mindset. Human resource management will also be impacted, and the organization must embrace new project management tools such as agile. Finally, a better process to manage customer requests will be necessary.
- Szal, Andy. June, 2016. “Report: Software Issues Have Tripled Auto Recalls in The Past Five Years”. Manufacturing.net.
Jeff Groh is President of New Product Visions (newproductvisions.com) located in Flat Rock, NC. New Product Visions helps companies drive revenue and earnings growth by improving their innovation management practices. We focus on processes, organization, management engagement and culture. Services include consulting, Innovation Coach™ Workshops (newproductvisions.com/workshops) and software enablers. Mr. Groh spent 30+ years in industry in a variety of management roles in sales, manufacturing and new product development prior to starting New Product Visions. For additional information or to join our mailing list, contact us. Available for select speaking engagements.