Motivation
Software development in the automotive industry has been marred with heavy weight tooling or tooling with a lot of breaks or less automation possibilities. This leads to a lot of inefficiency in software development, resulting in delayed releases and thereby significant loss on competitiveness.
Technical Description
docs-as-code in simple terms means, using the same tools and workflows for creating engineering artifacts, as developers use for writing and maintaining code. This means,
- writing as much of documentation (requirements, architecture, design etc.) as human readable plain-text as possible,
- versioning and baselining them using popular version control systems like Git together with code,
- doing reviews using state-of-the-art platforms supporting pull-requests,
- testing the documentation and its semantic consistency in the same way as is done for code as part of Continuous Integration and
- deploying the artifacts using Continuous Deployment infrastructure.
Relevance for Automotive
docs-as-code methodology is already proven in software intensive companies like Google, Spotify etc. This however has not been tested for safety critical environments like automotive where a lot of semantic information needs to be carefully handled.
Applying docs-as-code to automotive software development helps solve a lot of the problems faced by this industry. The methodology helps to,
- use the same IDE (eg., Microsoft VsCode) for all needs within a product development,
- have a common baseline for all artifacts (in Git),
- ensure data consistency,
- do easier reviews with diff/ merge of versions,
- have high automation possibilities,
- have self-contained development and delivery,
- reduce costs, mainly due to open-source tools and infrastructure reuse,
- increase collaboration among developers,
- easily achieve process conformance and above all
- have motivated developers at the organisation.
Using several open-source tools like Sphinx/ Sphinx-Needs, we created an eco-system that can be used in any ASPICE/ ISO26262 based system/software development setup to do docs-as-code based system/software development.
Takeaways
By attending this session,
- you will understand what docs-as-code in the automotive context means,
- you will see a demo of its usage in a real automotive context using open-source tools,
- you will understand how it shall improve the developer efficiency (in comparison to classical automotive tools and its workflows) and
- you will understand challenges in implementing such a methdology in big organizations.