The top 10 points why ALM is important

The top 10 points why ALM is important

Why is an ALM tool important in todays development of embedded products

Nohau have during the past more than 25 years preached and missioned to improve the development process by using Requirement Management and ALM/PLM tools. It has been with limited success as most embedded engineers were focusing on implementation of the initial functionality, which typically were described in documents or spreadsheets. The products and applications were typically relative simple and future modifications and improvements were handled in the same documents

Now we experiences a huge request for Requirement and ALM/PLM tools. This is mainly because of the huge increase in complexity of the embedded application, which often have lifetimes of more than 15 years and the involvement of many developers.

Lets try to list 10 points why Application Lifecycle Management is so important:

  1. Smooth Development Process – Developing an application includes more of a team of developers, standardized processes, and documentation and not just only an awesome application developer. ALM tools can help you easily implant these processes and documentation in themselves by using them as a central hub for storing all the data related to the application development lifecycle. This will enable full traceability and hence, high accountability.
  2.  Preparing and Organizing the Development Process – ALM tools help manage the application development lifecycle. The planning phase begins as soon as the clients share their project requirements. With the help of ALM tools, you can draw up your plans more efficiently along with tools that fit your specific requirements. They can either support waterfall methodology or agile methodology or both.
  3.  Maintain Budgets & Productivity – The first step in any planning is to set up a financial budget. Choosing methodologies that can potentially drain budgets and productivity is simply a stupid move. ALM integration eliminates the requirements for varied environments for testing. Also, with all-in-one software, review and management become easier too.
  4.  Team Management – Communicative and coordinative workspace deeply suits an efficient and smooth software development. ALM can keep all the members on the same page with the real-time strategies, changed requirements, and regular project status. Remote jobs are highly and positively affected by this.
  5.  Speed + Quality – If the team does not collaborate appropriately, the chances for loopholes, delayed deliveries, and low product quality can increase. When you operate your project on ALM software, the integrated tools deliver the user requirements successfully, that too with high quality.
  6. Carrying the Load – There are high possibilities that the project might get stuck at some point. In case of such cases, apt choices and decisions are needed. ALM comprises the resources and processes in one tool which consequently, benefits the determination of solutions at each step.
  7. Employee Satisfaction – Employees show their dedication and interest through their productivity levels. Appreciating their efforts and choices is a must. ALM provides the freedom to the employees to use the tools and make their own choices and decisions. This keeps them motivated and satisfied enhancing their productivity.
  8. Team Productivity – Team productivity is of the utmost importance for a successful outcome in any project. ALM integrated software helps in distributing and allocating the tasks easily. Also, it helps to track productivity, quality, and progress regularly too.
  9. Fixing Bugs – Testing is done to make sure that the application has as lesser bugs as possible. ALM tools provide a platform for uniting the development and testing processes. This helps reduce the chances of loopholes and enhances the quality of the application.
  10. Customer Satisfaction – Every service by every organization strives in order to satisfy its customers. ALM tools help maintain high visibility and transparency amongst the service provider and the clients.


What is Traceability?

What is Traceability?

It’s a long journey from the initial requirements to final deliverables, and there are many things that can go wrong along the way. To ensure that deliverables maintain alignment with business requirements, project managers should identify, track, and trace requirements from its origins, through its development and specification, to its subsequent deployment and use, leveraging the power of a Requirements Traceability Matrix (RTM) and Requirements Management (RM) software.

Traceability Explained

Simply put, traceability is the ability to trace something. Across industries, including healthcare, manufacturing, supply chain, and software development, traceability ensures that final deliverables don’t stray too far away from original requirements.

The term itself is a blend of two words—trace and ability—and it underpins three critical business management processes: quality management (which enables organizations to hit quality targets/meet customer expectations), change management (which tracks changes to product during development), and risk management (which tracks and verifies vulnerabilities to product integrity).

Traceability is now more important than ever due to various government regulations and the increased pressure on organizations across industries to improve product quality and adhere to strict safety and security standards.

Traceability provides several important benefits that make it well worth the extra effort. By providing a complete, trustworthy record of all past activity, it helps investigate and troubleshoot issues during events such as recalls, allowing stakeholders to locate the source of the problem. The data generated by traceability can be used to improve critical business processes and address performance issues related to lead times, transportation costs, and inventory management, among other things.

Requirement Traceability

When most people say “traceability,” what they actually mean is requirement traceability, which is defined as the ability to describe and follow the life of a requirement in both a forward and backward direction in the development lifecycle, from its origins to deployment and beyond.

The purpose of requirement traceability is to provide visibility over requirements and make it possible to easily verify that requirements are met. Requirement traceability also helps analyze the impact of changes by revealing how a change made to one requirement impacts other requirements.

Requirements can be tracked either manually or using various requirement tracking software tools. Requirement tracking software tools make the process far less cumbersome and error-prone, and they come with a number of extra features to provide a systematic way of documenting, analyzing, and prioritizing requirements.

Standards that Requires Traceability

With traceability come many important benefits that make it a worthwhile activity, but there are also multiple standards that prescribe it for specific industries or types of products.

For example, the DO-178B guideline deals with the safety of safety-critical software used in certain airborne systems. It assures the development of safe and reliable software for airborne environments by concentrating on objectives for software life cycle processes and examining the effects of a failure condition in the system. DO-178B states that it should be possible to trace back to the origin of each requirement, which is why every change made to the requirement should be documented in order to achieve traceability. The same goes for DO-254, which is similar to DO-178B, except that it’s used for hardware instead of software.

Other standards that require traceability include ISO 26262, which is an international standard for functional safety of electrical and/or electronic systems in production automobiles defined by the International Organization for Standardization (ISO) in 2011, and IEC61508, an international standard published by the International Electrotechnical Commission consisting of methods on how to apply, design, deploy and maintain automatic protection systems, called safety-related systems.

Traceability Matrix

Traceability matrix is a very effective way of ensuring full requirements traceability. Traceability matrix establishes an audit trail by mapping artifacts of one type (such as requirements) depicted in columns to artifacts of another type (such as source code) depicted in rows, which results in a table-like representation of the traces between artifacts.

The image below shows an example of a traceability matrix generated by Visure Requirements.

A traceability matrix is a useful visual aid that makes a large amount of information visible at a glance, highlighting possible issues so they can be solved a long time before they have a chance to turn into big problems.

While easy to explain, traceability matrices can quickly become very complex and difficult to manage. For this reason, project managers seldom create them manually. Instead, they rely on requirements management tools to track changes to requirements during production, through ideation, to completion.

Traceability MatrixA well-designed traceability associates each requirement with the appropriate business objectives, making the evaluation of potential changes quick and easy, reduces project risk, promotes consistency between requirements, allows monitoring and control across the lifecycle of requirements, and more.

Ensuring Good Traceability with Visure

Visure Requirements is a feature-packed Requirements Management (RM) software tool designed to provide requirements traceability from the origins of requirements, through their development and specification, to the subsequent deployment and use of the product, and through periods of ongoing refinement and iteration in any of these phases.

Managing all requirement related information, their relationships, and their interactions with the users, Visure Requirements provides complete requirements traceability in one single tool, providing integral support to the complete requirement management process.

While the need for requirements traceability is universal, there is an infinite number of ways how to approach it because no two organizations are exactly alike. Visure Requirements is fully customizable and allows organizations to customize it according to their needs and preferences, including making changes to the available menus, toolbars, columns, buttons, and other components.

Visure Requirements can automatically generate a requirements traceability matrix, as well as other reports and dashboards, to display traceability between different levels of requirements, such as product, system, component requirements and design, and more

What is Impact Analysis? Best Practices for doing Change Impact Analysis

What is Impact Analysis? Best Practices for doing Change Impact Analysis

What is Impact Analysis?

Change is an inevitable part of the world. Hence, development is a continuous process. However, a newly introduced change might leave some impact on other areas of the application. Therefore, it is quite important to analyze the effect or impact, if you will, of the introduced change. That is what Impact analysis is all about.

Impact analysis, also known as change impact analysis, was first described in 1996 by American software engineers Robert S. Arnold and Shawn A. Bohner in their book called Software Maintenance. In the book, Arnold and Bohner stated that impact analysis is about “identifying the potential consequences of a change or estimating what needs to be modified to accomplish a change.”

Impact Analysis, as the name suggests, is about analyzing the impact of the changes in a product or application. It is one of the most integral steps in the development cycle of any product as it provides useful information about the areas of the system that might be affected by the change in any adverse way.

Types of Impact Analysis

According to Arnold and Bohner, there are three main types of impact analysis:

  1. Traceability Impact Analysis – Traceability impact analysis captures the links between requirements, specifications, design elements, and tests, analyzing their relationships to determine the scope of an initiating change. Manually determining what will be affected by a change can be extremely time-consuming in complex projects, which is where requirements management software comes in (more about it later in this article).
  2. Dependency Impact Analysis – This type of impact analysis is used to determine the depth of the impact on the system.
  3. Experiential Impact Analysis – Taking into account the prior experience of experts in the organization, experiential impact analysis studies what happened in similar situations in the past to determine what may happen in the future.

Advantages of Impact Analysis

As we mentioned earlier, Impact Analysis is one of the most integral steps in the development cycle of any product. The various advantages of impact analysis include:

  • Accuracy – Impact Analysis provides essential and accurate information regarding the changes in the modules of the application.
  • Enhanced Efficiency – Impact Analysis helps the testers plan better and more efficient test cases by providing clear and concise information about the changes and the effects of those changes.
  • Precision – Impact Analysis documents are pretty easily readable. Hence, they make it easier for the testers to understand the information and work with more precision.
  • Saves Time – With the help of impact analysis, testers can perform testing in modules or sub-modules rather than testing the whole application at once. They can properly prioritize the areas that need to be tested and thus save a lot of time.
  • Easy Bug Detection – Impact Analysis also improves bug detection as well. Impact analysis documents are quite helpful with integration testing.

Impact Analysis Document

An impact Analysis document is a document that is majorly used as a checklist. This checklist is used to evaluate the change requests before working on them. The details of an impact analysis document consist of include:

  • Description of the issue
  • Explanation of how the defect is causing failure or inefficiency
  • Estimation of the complexity
  • Estimation of the cost and time to fix the issue
  • Functionality that is to be tested
  • List of the new test cases created for the change
  • Reference document and technical specification
  • ….

Impact Analysis Procedure

There are 5 simple steps to conduct an effective impact analysis are:

  1. Prepare the team – Before we make any changes, we must prepare a team. All the team members must have an access to all the modules and attributes in the application and must also possess the required knowledge about the proposed changes.
  2. Inspect High-Level Modules – The team members will then analyze the high-level modules of the application which might be affected by the newly proposed change. This would provide them with a better knowledge of the workflow rules in the modules.
  3. Inspect Low-Level Modules – After analyzing the high-level modules, the team would move towards the low-level modules and identify the impact of the new changes. A separate document has to be prepared for all the modules.
  4. Evaluate the Impact – The documents prepared after analyzing the high and low-level modules will have all the details on the impact of the changes, both positive and negative. On the basis of this document, the testers will evaluate the identified impacts and will further get a clearer picture of the benefits and issues with the new changes.
  5. Work on Negative Impacts – When the team members have a better idea of the negative impacts, and now, they can work on them. They can consult with the team and stakeholders and discuss if the change should be implemented or not. Regression testing can also be performed in this situation.


Best Practices for Doing Change Impact Analysis

While it’s impossible to turn the experience of experts on impact analysis into just a few bullet points, there are some best practices for doing change impact analysis that everyone should know about.

doing change umpact analysis

  1. It’s useful to distinguish between quantitative (monetary) impacts and qualitative impacts.
  2. Never forget to closely define the scope of each impact analysis.
  3. Establish an impact analysis project team that represents all the areas within the scope of the impact analysis.
  4. It’s always easier to get people involved if you have obtained written executive commitment for the impact analysis.
  5. Take advantage of requirements management software tools to ensure end-to-end traceability.

Using a Requirements Management tool for Change Impact Analysis

It’s not an exaggeration to say that impact analysis is a key aspect of responsible requirements management because it provides an accurate understanding of the implications of a proposed change, helping everyone involved make informed decisions.

management tool for change impact analysisThe problem is that manually describing and tracking the life of a requirement from its conception, through the specification and development, and down to its deployment is nearly impossible on complex projects with thousands of artifacts. Requirements management tools such as Visure Requirements make it easy to identify the source of each requirement and track all changes affecting them, ensuring end-to-end traceability and providing accurate and documented information for impact analysis.

Original post by Visure Solutions can be read here

TRACE32® from Lauterbach Provides Support for Telechips’ Dolphin+, Dolphin3 SoCs and VCP MCU for Automotive Infotainment and ADAS

TRACE32® from Lauterbach Provides Support for Telechips’ Dolphin+, Dolphin3 SoCs and VCP MCU for Automotive Infotainment and ADAS

Lauterbach, the world’s leading supplier of debug and trace tools, announces the addition of support for Telechips’ Dolphin+ (TCC803x) and Dolphin3 (TCC805x) SoCs as well as the VCP (TCC70xx) MCU to their TRACE32® development system. TRACE32® is an out-of-the-box debug and trace solution, which covers all the needs of a modern embedded software development, like multicore debugging and tracing for symmetric (SMP) and asymmetric (AMP) multiprocessing, hypervisor and operating system-awareness, or code coverage analysis.

“Telechips’ Dolphin+ and Dophin3 SOCs have been targeting IVI and Automotive Cockpit system such as Digital Cluster, HUD (Head Up Display) and AVM (Around View Monitoring). Dolphin+ and Dolphin3 are designed based on ARM® Cortex® multi-cores and a powerful GPU bringing excellent 3D Graphics.” said Stanley Kim, VP of Business Unit at Telechips. “Telechips’ recently launched MCU product line called VCP (Vehicle Control Processor) MCU having capabilities of handling whole the automotive smart functional systems supporting various applications such as Telematics, Digital Cluster, CID (Central Information Display), Wireless Charger as well as IVI and can be operated with extremely low power consumptions over a wide scalability and an advanced functional safety.”

Role of SAST and SCA in ISO/SAE 21434

Role of SAST and SCA in ISO/SAE 21434 – Road Vehicles Cybersecurity Engineering

As a leading developer of software-assurance and advanced cybersecurity solutions, GrammaTech helps its customers and partners solve the most challenging software issues and safeguards mission-critical software and devices from failure and cyberattack.

As cars become more connected and complex, the amount of software needed is staggering. With 100 million lines of code being standard for current vehicles and up to 300 million for autonomous vehicles. Along with this connectivity and  complexity is an ever-increasing cyber-attack surface. Battling this security threat and improving the cybersecurity engineering of automotive software is the goal of ISO/SAE 21434.

This relatively new standard is a descendant of the existing ISO 26262 standard for automotive safety with the intended goal of defining objectives, requirements and guidelines for securing electrical and electronic systems in automobiles.

Rather than evaluating each major clause of ISO/SAE 21434 and analyzing how it applies to tools like SAST and SCA, this post looks at what the standard says about key areas of security and where these tools apply.

Lauterbach Offers Full Debug Support for 32-bit TriCore™ AURIX™ TC4x

Lauterbach Offers Full Debug Support for 32-bit TriCore™ AURIX™ TC4x

The TriCore™ AURIX™ TC4x is designed for the next-generation eMobility, ADAS, automotive E/E architectures and affordable artificial intelligence (AI) applications. To meet these goals, a heterogeneous architecture was deployed. TRACE32, the expert tool for heterogeneous multicore debugging, is supporting all core architectures of the TC4x with mature debuggers: TriCore™, CSRM (TriCore™), SCR (XC800), PPU (ARC®), GTM.

According to Norbert Weiss, Managing Director at Lauterbach, “Lauterbach has always worked very closely with Infineon and this relationship has allowed us to consistently provide high quality tools for when our customers want to start their next generation automotive project.”

TRACE32 community project

TRACE32 community project

Many developers and testers are passionate TRACE32 users. To provide a platform where like-minded people can share their expertise, Lauterbach is curating an awesome TRACE32 GitLab repository since March 1, 2022.

Lauterbach invites all its TRACE32 users to share scripts in Python or PRACTICE and to contribute tutorials and technical articles. The intention is to create a platform through which passionate users, but also newcomers, can inspire or learn from each other.

TRACE32® supports GTM on Arm® Cortex® based SoCs

TRACE32® supports GTM on Arm® Cortex® based SoCs

The Generic Timer Module (GTM) ensures accurate multi-input data acquisition and multi-output signal generation. It serves in many automotive applications as a coprocessor. Lauterbach is proud to extend support for GTM debug and trace support to include SoCs based on Cortex-A/-R/-M. The TRACE32 debug support provides all the standard debug features which includes the recently added GTM on-chip breakpoints. TRACE32 GTM tracing offers MCS, ARU and I/O recording and profiling.

According to Stephan Lauterbach, General Manager, “Our mission has always been to provide complete debug support for all cores in an SoC. With the addition of GTM to the Arm Cortex platform, it was natural that Lauterbach would continue this trend, providing world leading debug and trace tools to our customers.”

TRACE32® supports PikeOS for MPU

TRACE32® supports PikeOS for MPU

Lauterbach, the world’s leading supplier of debug tools, and SYSGO, the leading European provider of real-time operating systems for critical embedded applications, are pleased to announce the support of SYSGO’s brand new product, PikeOS for MPU, within Lauterbach’s TRACE32 debug environment. The support includes debugging and tracing PikeOS for MPU applications as well as combined debugging of MMU and MPU based systems.

Lauterbach and SYSGO enjoy a long-standing cooperation with TRACE32 supporting PikeOS for more than 15 years. The PikeOS awareness has always provided easy access to PikeOS objects, such as partitions, tasks and threads. TRACE32 gives the user concurrent access to all partitions and tasks. Developers can view variables and set breakpoints on any task (or several of them) at any time, whether the task is currently active or not. As a result, developers using PikeOS for MPU are now able to debug their applications and systems on TRACE32 just the same way as they are used to do it with the classic PikeOS. This also includes tracing the system as a whole, covering all partitions and tasks. Using the sampled trace, TRACE32 can create comprehensive performance analysis and code coverage metrics.

TRACE32 helps MATLAB/Simulink developers from model to target

TRACE32 helps MATLAB/Simulink developers from model to target

Lauterbach, the World’s leading supplier of debug and trace tools, is pleased to announce an update to their integration with MathWorks MATLAB® and Simulink®. Scientist and engineers around the world have come to rely upon MATLAB for designing and testing complex models. Now, using the embedded coder, these models can be automatically converted into C or C++ code and compiled using an industry standard cross-compiler to run on a variety of embedded targets.

The integration with TRACE32 provides the capability to download this code to the target, execute it under user control and report back to the MATLAB environment to compare the model against real-world code. This feature works with all embedded devices supported by TRACE32 and with the TRACE32 Instruction Set Simulators, allowing early software development before the arrival of the final target hardware. TRACE32 leverages both the rtIOStream API and the new MATLAB Debugger Abstraction Interface to provide a tight integration between models and PIL targets. By taking advantage of TRACE32’s open APIs and unparalleled support for targets and third-party tools, developers are not tied into a specific ecosystem or even target device and remain free to choose the best tools for each stage in the development.

Please contact us for more information!

Don't wait, call us now!