What Agile or Hybrid Methodology to Use for Building Autonomous Cars
How does the need for human safety modify the agile methodology to use?
Join the DZone community and get the full member experience.Join For Free
When planning an Agile software development project for a hardware product design, project design strategy can be greatly simplified by choosing a development environment that is designed for use with your industry standards (the first box to tick). It is even more important when the product safety is a key concern, requiring compliance with a range of strict safety related standards. This embedded systems development environment requires not only product lifecycle management (PLM) software but also Agile Lifecycle Management (ALM) software, to manage the complexity of software development. More than this, these two systems should be integrated.
Of course, project requirements vary from project to project so therefore, – so do the requirements of the development environment. Stakeholders must answer certain project requirement questions before any decision can be made regarding development framework and development environment. Of course, in many cases, the answers are pretty obvious.
Agile or Hybrid Methodology: An Automotive Industry Example
For example, an automotive manufacturer is building an autonomous car, here it is clear that automotive safety is going to be an issue and development will need to be guided by automotive standards. Standards that might apply:
- ISO 26262
- IEC 61508
- ISO 15504 (ASPICE)
One thing all these standards require is transparency and traceability of absolutely everything, one area that most ALM software solutions fail to deliver.
On top of that is the question of what Agile or Hybrid methodology to use, what is the management familiar with, can the ALM software manage the preferred option? There is the issue of scalability; can the development environment scale up to deal with 100s or 1000s of users?
ALM Software provides the backbone of the development environment so it is essential that the right one is picked that can meet the demands of the project. The scale of things (size of the project in terms of numbers of teams) and familiarity of development methods will also determine what development framework to use. In the case of Automotive development, – by a large automotive manufacturer an Agile ALM software that can work with SAFe 4.0 would be a sensible choice since it is designed with complex embedded systems in mind.
What Software Modeling Technique Should Be Used?
Software modeling plays an essential part in autonomous car design, necessary to simulate and verify system behavior. Today’s car software is of compostable design, with parts that are built to meet the needed functionality and no longer based on a static environment, adapting to the surroundings through intelligent use of radar, GPS, and camera data. The modern car is a cyber-physical system, IoT-ready, connected to the world via the internet, which poses all kinds of security and safety questions.
The need to simulate and verify behavior of all these interconnected components is extreme, – essential because it is safety critical. Various design techniques and modeling languages such as Unified Modelling Language (UML) can be used. Frameworks such as Model-Driven Architecture (MDA) and processes such as Enterprise Unified Process. Typically, in automotive manufacture UML is used. Which raises the question of what modeling tools should be used (that can handle UML). The key question here is what options does the ALM Software provide for integration not only in terms of modeling but also in terms of automated testing?
Automotive Template especially Designed for Automotive Developers
codeBeamer ALM provides clear answers for Automotive developers, don’t just take our word for it, check out our customers, automotive manufacturers such as Daimler, Mercedes, and Kia all use codeBeamer ALM for software development as do component providers such as Continental, Harman and Hirschmann Car Communication GmbH.
We developed an Automotive Template specifically to meet the requirements of automotive development providing assistance for standards such as those mentioned above. codeBeamer ALM provides integration with Enterprise Architect, MATLAB Simulink and Netbeans for those UML modelling requirements. For continuous integration and automated testing, options include Jenkins, Junit and Jmeter as well as Selenium, HP-QC and BMW-QC.
Only the most advanced of ALM software can manage all the above, and is why Ovum recently defined codeBeamer as an ALM Software leader in a comparison of 12 ALM software solutions suitable for Embedded software development.
Published at DZone with permission of Eva Johnson. See the original article here.
Opinions expressed by DZone contributors are their own.