Monthly E-letter

Latest edition | Subscribe

Advanced designs require new strategies in product development

Innovative companies must focus on software development to deliver smarter products.

Business trends dictate innovative products that incorporate advances in software and hardware to deliver a customizable experience for users. As straightforward as that may sound, this trend is creating significant shifts in the way organizations operate. Companies are forced to rethink the very nature of their products. These increasingly smarter products demand more from manufacturers who want to deliver a new experience to consumers, and these demands present themselves in a number of ways:

  • Systems of systems: No longer isolated within individual products, features are now delivered by integrating what are often multiple physical products, IT applications, and back-office business processes (see Figure 1).
  • Shrinking product life cycles: Consumer demand is hastening products into production faster than ever, with upgrades following closely behind, often forcing manufacturers to prioritize features over quality.
  • Product value shifting to software: The hardware that previously differentiated products has largely become a commodity, with innovation moving to software.

Today’s products increasingly exist as a system of systems, which demands a new level of intelligence and integration.
Figure 1: Today’s products increasingly exist as a system of systems, which demands a new level of intelligence and integration.
(click graphic to zoom by 1.9x)

The reality is that product manufacturers are becoming software companies, infusing the technological capabilities of electrical, mechanical, and software components into a new generation of innovation. To deliver smarter products, innovative companies will put as much focus on software development as they did on mechanical and electronic development in the past. Systems engineering provides the framework for integrating these key engineering disciplines to design and deliver smarter products.

The following set of best practices can help companies with this significant transition.

Requirements engineering

Understanding the product in the context of a system will produce a set of user requirements that will determine what the system does and how it does it. To design for requirements correctly, marketing must be able to specify the intent behind product functions and capabilities to guide development decisions in advance, rather than as checkpoints after the design is complete. To avoid confusion and miscommunication, all business disciplines across the enterprise – engineering, quality assurance, and internal legal teams, as well as other peripheral stakeholders such as suppliers and customers – should have a single, shared view of all product requirements.

System modeling

Modeling can help navigate complexity. By modeling the entire system in the beginning phases of development, businesses can simulate various product and architectural alternatives early in the development process when changes are much less expensive.

From these system models, businesses can perform trade studies to determine which design choices make the most sense and predict how the system and its structures will behave. The system Model provides a synchronization point across these disciplines, allowing each to create its own set of models and then coordinating these through the system model. The ability to model relationships between requirements statements and system-level capabilities (including, but not limited to, software capabilities) helps businesses:

  • Ensure that requirements, along with their intent, are met.
  • Devise and automate tests for software development.
  • Generate software code automatically to implement specific functionality.

Integrated change management

Changes to product design inevitably occur, and understanding the effect of a change within the design of today’s smarter products can be challenging. In the past, finding which mechanical components were affected by a change to another mechanical component involved nothing more than simply traversing the product structure.

But with complex products, a change to a mechanical component can affect one or more electrical components, each of which, in turn, could be controlled by software. These dependencies and potential for communications gaps are shown in Figure 2. The key is understanding the significance of a change by identifying what modifications need to be made, determining costs, and so on. This requires integration across engineering disciplines, tools, and applications, as well as back-office processes that touch on the product development process.

The gaps between vertical development silos can undermine project visibility, reaction to change, and requirements mapping.
Figure 2: The gaps between vertical development silos can undermine project visibility, reaction to change, and requirements mapping.
(click graphic to zoom by 1.9x)

Product and portfolio management

Product managers are frequently acting as the CEO of a product, bearing responsibility for the strategic and tactical decisions that position a product in the marketplace and deciding when to retire it.

A successful product delivers value to its customers and revenue to the business that creates it. This means that product managers must define their target customer segment and intimately understand its needs. Likewise, product managers must understand the value of different product features to different subsets of the customer base. By providing the right features to the right group of customers at the right time, a product can create value and generate sustainable revenue.

With such a fine line between success and failure, management and executive teams must make product portfolio decisions based on facts, not guesswork or political agendas.

Software development: Strategic business initiative

Companies well-versed in mechanical and electronics engineering technologies have not necessarily adjusted to the increase in software content within their products. In particular, they have not adopted good software development methodologies. Three critical aspects need attention.

Model-driven software development

Just like hardware development, software development should be model-driven. Software engineers can more clearly analyze requirements, define specifications, and automatically generate code for direct deployment on the target hardware. Using model-driven development, telecommunications companies have seen productivity improvements, including 46 percent fewer designs behind schedule and 49 percent fewer designs cancelled.[1]

Collaboration between development groups for increased visibility, removing silos

As software development has evolved from centrally located development facilities to globally distributed development, visibility of various teams’ activities has decreased. Today’s development teams must leverage Internet connectivity as well as a unified software development platform to establish virtual colocation. Developers have found they can reduce duplicated efforts by 25 to 50 percent by collaborating on work items, defects, and build errors.

Governance and measurement

An often-overlooked aspect of software development is the ability to measure how well the process is performing and use the feedback to improve process governance. By eliciting and setting objectives based on the business value or “payback” to the company, organizations can gain higher productivity. The best approach is to focus on areas providing the most immediate payback, such as requirements or change management, rather than attempting a full, near-term adoption of frameworks that require changes across every aspect of the product life cycle.

More than process improvement

The need to reinvent oneself is often perceived as a challenge. However, experience shows that organizations that adopt best practices and solutions to integrate disparate design disciplines often reap benefits well beyond simply streamlining complex product development, including increased productivity, lower cost of business, and reduced risk in bringing innovative products to market.

References

[1] “Gaining a Competitive Design Advantage in the New Telecom/Datacom Marketplace,” Embedded Market Forecasters, Dr. Jerry Krasner, June 2008.

Greg Gorman is the program director of systems engineering product delivery at IBM Rational, where he is responsible for setting the direction of Rational’s Systems Engineering portfolio of products and ensuring they meet the needs of Rational’s customers. He wrote the DoDAF profile implementation for Rational Tau and is active in the International Council on Systems Engineering. Greg has been working in real-time software modeling and systems engineering for 25 years. He has acted as a consultant on structured and object-oriented methods at McDonnell Douglas and Honeywell, including Yourdon, Hatley-Pirbhai, Shlaer-Mellor, OMT, and UML.

IBM Rational

602-770-7878

Greg.Gorman@us.ibm.com

www.ibm.com/rational

Advanced designs require new strategies in product development

Silicon, software, and strategies for embedded devices
©MMX Embedded Computing Design.
An OpenSystems Media publication.