Editor’s Note: This blog was originally published through IEEE Innovation at Work, “Managing Complexity in Systems Engineering for Product Development with Live Traceability,” by author Nikhil Rai, IEEE Senior Member, Senior Director of Product and Solutions Marketing at Jama Software.
Systems Engineering for Product Development with Live Traceability
Complexity of Product Development is Exploding
In today’s world, technological innovations across embedded systems, the Internet of Things (IoT), and artificial intelligence (AI) are aggressively pushing the envelope on product complexity and accelerating digital transformation. The next generation of autonomous cars, electric vehicles, robots, and space shuttles are all complex systems that need to seamlessly interact with multiple layers of software, hardware, and humans across different environments.
Because complex technology products require intricate interfaces with various systems or sub systems, there is an inherent challenge of coordinating the multiple development teams, who are often geographically spread across the world. Furthermore, large teams typically work on different stages of product development within their own silos. The different development tools, architecture, and IT environments used across various teams and organizations can significantly add to the challenges of developing new technologies.
Manufacturing sectors will reap the AI technology benefits of enhanced monitoring and supply chain optimization. In financial institutions, AI techniques can be used to identify which transactions are likely to be fraudulent. Through AI, the industry could also adopt fast and accurate credit scoring while automating manually intense data management tasks. Disruptions in the transport and logistics realm could include autonomous trucking and delivery on the roads and automated picking in warehouses.
RELATED: Systems Engineers Career Path – How to Elevate
Reality of Today’s Complex Systems Development
Most complex system development starts with defining user needs and requirements, which involves design, software, and hardware teams developing deliverables that ultimately get tested and integrated for delivering the product. Given the disparate nature of these teams, there is an inherent need to optimize and continuously keep track of systems information from concept to development and delivery. However, there is often a gap in terms of how information is consumed across engineering departments, as well as its availability and traceability. The digital thread in engineering today is still a collection of different tools, which means traceability is usually accomplished in a cumbersome and manual fashion via time-consuming meetings and disconnected documents.
Challenges in Traceability
Traceability is a key both to product development and software engineering for tracking the systems development lifecycle. Helpful in achieving regulatory compliance, traceability can also be used within software engineering for running test cases and gaining valuable insights.
While some organizations make it a point to map product development stages and improve traceability to gain these benefits, traceability is often considered after-the-fact by others. This means that once an issue is identified, there is effort required to trace back where the error originally occurred to prevent that same failure from occurring in the future. This approach can cause multiple cost overruns, product delays, and inefficient management of change impacts. Think of addressing a car recall or fixing a complex medical device or industrial equipment— the costs can be enormous. By emphasizing the importance of traceability from the start, organizations can avoid the extra effort and cost associated with implementing it after an error has been made.
RELATED: Requirements Traceability – How to Go Live
Live Traceability™
The solution lies in bringing a practical approach of Live Traceability™ to the systems engineering world. Optimizing and measuring the systems development process with Live Traceability is a crucial competitive advantage that companies can leverage. For any complex product, systems, or software development, the requirements and user needs form the first level of abstraction. Live Traceability can be measured and monitored by using systems requirements as an anchor to manage information used in different stages of the systems development lifecycle.
At Jama Software, we define live requirements traceability as the ability for any engineer at any time to see the most up-to-date and complete upstream and downstream information for any requirement— no matter the stage of systems development or how many siloed tools and teams it spans. Live Traceability of system requirements is required by industry standards to ensure product safety and forms the foundation for digital engineering and model-based systems engineering. This enables the engineering process to be managed through data and its performance improved in real time.
Through better requirements management and a focus on traceability, companies can improve their systems development performance with higher quality products and improved cycle times. The industry is now embracing the idea that to improve engineering efficiency within the systems development process, we need to continuously monitor and measure traceability.