Today’s engineered products, and the development processes that contribute to their delivery are getting unbelievably complex. A type of product that just 10 years ago consisted merely of hardware elements today combines hardware, software, and service components in an IoT-connected system-of-systems architecture. There may be several geographically dispersed teams, departments, and suppliers involved in the development of a single end product.
In the meantime, development processes are also changing. Iterative and incremental development has emerged and conquered the software world, and we’ve seen the quality aspect shift left in the product lifecycle. QA & Testing evolved from an ex-post process to a guiding principle that drives the development of new products right from the concept phase.
In this fragmented context of product delivery, integration is becoming a key concern. In order to ensure the high quality of end products, traceability (a clearly linked chain of work items) from requirements to testing and release has to be established. Methods such as requirements-based testing aim to guarantee product quality by showing and taking advantage of an interlinked trail of artifacts from idea to delivered product. In safety-critical industries, tightening regulatory scrutiny demands end-to-end traceability across the development lifecycle. Regardless of the number of processes, tools, teams, and suppliers involved, traceability is a prerequisite to compliance with standards, and an enabler of high product quality.
The Integration Dilemma
Realizing the crucial value of traceability for both product quality and the application of mature and transparent management practices, companies are struggling to integrate their processes, tools, and stakeholders across the product development lifecycle. Their toolchains consisting of isolated software solutions along the lifecycle make it difficult to achieve end-to-end traceability.
The time and effort costs of building manual interfaces across tools limits the efficiency of this approach. The fact that more and more companies come to understand this has enabled integration-as-a-service providers and their tools to gain traction in several industries. These solutions create an integration hub to ensure the integrity of data and processes across tools – but the investment they require can be significant and often prohibitive.
In the frantic effort to integrate tools in a disunited toolchain, we tend to forget that tool integration is no more than a necessary evil. It is, ultimately, the unification of processes and data that we're after, and integrations came to be regarded as the only way to get there. But creating interfaces between isolated software tools, whether manually or via costly integration hubs, is by definition a vulnerable, difficult, and resource-intensive process. The more cross-tool integrations you have, the more problems you’re likely to face and the more effort (both time and money) you’ll spend making it all work.
Therefore, mature product developers are now understanding the advantages of unification over integration. To drive down the number of costly integrations while maintaining traceability, they now rely on less rather than more integrations. But how do they achieve this unification of tools, data, and processes?
Integrating Main Value Processes
Mature best practices emerging in safety-critical product development take advantage of unified Application Lifecycle Management platforms. These solutions enable developers to manage a set of main value processes in a single tool, relying on a single central database. Therefore, traceability is guaranteed across these core operations, while non-core processes may be simply integrated via lightweight, manually built integrations.
These lightweight integrations are less sophisticated because non-core processes don't require the same degree of traceability. For instance, reported bugs need to be linked to the requirements and test cases verifying that they have been addressed adequately. But the details of non-critical issues may be simply managed in third party solutions without jeopardizing the traceability required in traditional or even safety-critical markets.
Intland Software identifies the main value delivery processes of modern product development as follows:
Main value processes across the lifecycle:
- Requirement/user story definition
- Classification of requirements
- Breaking down development tasks
- Release planning
- Development task assignment and follow-up
- Software development process monitoring down to code level
- Test definition based on requirements
- Manual and automated test execution
- Analysis of test coverage, historical traceability of changes
Ensuring gapless traceability across these core processes is vital as it enables product developers to maintain high standards of product quality, and to apply transparent and efficient management practices. All these main value processes may be simply managed in a shared central unified ALM platform such as our own codeBeamer ALM. Combining these under one platform helps avoid the cost and effort-intensive integration of processes across several tools.
Maintaining a clear and gapless trail of items across processes that are not considered core value processes is less crucial. Development teams may continue to manage them using their legacy tools, without disrupting their tried-and-tested processes and channels of collaboration across groups of stakeholders. Due to their limited complexity and number, it is reasonable to rely on manual or out-of-the-box interfaces to ensure the degree of data integrity necessary for the mature management of these non-core processes:
Non-core lifecycle processes:
- Modelling of processes
- Analysis of safety with HARA and FMEA
- Automated deployment
- Bug/issue reporting
As evidenced by Intland Software’s fast-growing user base (especially in safety-critical markets such as medical device development, avionics or automotive systems engineering), avoiding the creation of ex-post integrations by using organically unified tools is both a cost saver and an enabler of true maturity in product development. To learn more about the capabilities of codeBeamer ALM to support core value processes, visit the Application Lifecycle Management page on our website, contact us with your questions, or start a free trial of our fully integrated ALM platform right away.