Written by Mark Slater, Regional Director, Serena Software
To read the latest issue of Manufacturing Digital, click here
When people think about product development in the manufacturing sector, the most common thing that comes to mind is the physical development side. What materials should something be made out of? How are they put together? What processes will be involved? How will this scale?
However, as products of all kinds get more complex, the digital and software sides are also becoming issues for manufacturers to consider. Software resides within a huge range of products on the market today and plays an increasingly important role in those items offering value to customers.
Growth of software
The growth of computing resources within products of all kinds has been massive. One of the most high-profile projects of its day, the Apollo 11 space mission ran on computing resources and code that was less powerful than a standard pocket calculator.
In comparison, today’s cars and aeroplanes are powerhouses of computing: a car like the Mercedes Benz S-Class can contain more than 100 million lines of code spread across 70 different electronic management systems, while airplanes like the Boeing Dreamliner rely on software made up of 14 million lines of code.
Not all products will have this degree of complexity and code. However, this shift in the product development and design process means manufacturers have to consider software development as one of their core competencies in future.
The sheer amount of code involved also means that there are more updates and patches required after any physical product is released. How can manufacturers deal with these challenges while still keeping product development timescales on-track?
PLM and ALM
For manufacturing companies, the growth of software within products means that they now have to consider life-cycles across two different areas: the complete product itself and the software that runs within it.
The overall product life-cycle management (PLM) side is concerned with managing all the steps up to the official release of a product, while application life-cycle management (ALM) requires its own distinct skill-set and management approach.
As the role of software within products evolves, ALM and PLM are beginning to overlap. However, there are no single toolsets available that can cope with the whole product and software development approach as yet.
For product and software teams, this means that collaboration around the whole process of bringing something to market is essential. This means bringing ALM and PLM solutions together so that there is greater visibility over what is being created at any point in time. Getting this visibility in place helps companies to manage their development process so that all the dependencies can be mapped out.
Examples of dependencies that can be managed include making sure that physical prototyping is completed at or just before the first delivery of any software, so that testing can be started; or alternatively that coding is completed at a set time ahead of full-scale production starting.
The important point is to see where these timescales overlap, and then plan workloads back from these points so that delivery schedules can be met.
One of the biggest changes in software development for manufacturers is that software code has to continue after the release date. Rather than simply completing the final code sign-off and then that code remaining static, updates and patches may be required after a launch has taken place.
In the automotive sector, for example, code updates may be required to add support for new functionality or to fix an issue that arises after product release. In this vein, the Tesla range of electric sports cars has already seen several software updates to deal with problems linked to charging levels and in-car displays.
This shift extends the requirement for ALM onwards throughout the life-cycle of a product, as change requests and software releases have to be managed.
For many businesses in the manufacturing sector, this involves significant additional workload to consider and factor into both the product planning process and into the selling cost of any product as well.
For embedded software development, the ability to track and audit any changes round development requirements and configuration changes is critical as the impact of a failed change can be massive. This is especially necessary in Automotive and Aerospace / Defence markets.
In the future, product manufacturing will continue to develop as the role of software becomes more critical within all sorts of products. The growth of the ‘Internet of Things’ where many more devices will get connected to the network will mean that more long-term management of software will be essential.
This may be limited to checking for security holes or bugs and making sure that they are fixed, through to adding functionality to a device and prolonging its useful life for owners. However manufacturers aim to address their customers’ requirements, the need for an integrated approach to managing product and software development will only continue to grow as well.