Automate your build
Description:
Start any (software development) project by setting up a build pipeline that automatically builds (and probably even tests) your software on every change (of the main trunk). Make the dev team aware of this pipeline and the build results. This will greatly increase the overal quality of the software and ensures, that there is an executable result from start on.
Links:
https://en.wikipedia.org/wiki/Build_automation
https://docs.github.com/en/actions
https://docs.gitlab.com/ee/ci/
Keywords:
Continuous Integration, Continuous Delivery, Build Automation, Build Pipeline
Motivation:
Software development is not just producing code - code itself is useless if it is not executable at the customer's place. So every development team should make sure to be able to always show/run the latest version of their product to be able to discuss it with stakeholders.
Requirements/Prerequisities:
A code repository, code that compiles and is buildable
Level:
concret: specific best practice (e.g. use microservice)
Application domain:
Software engineering
Main phase:
Development: Implementation/Code/Build
Related literature:
https://docs.github.com/en/actions/automating-builds-and-tests
In which projects do/did you use this practice?
PROFI.neo (DGR), InfoWIN-Touch (Windhager), HuSEIA (ENGEL), SmartMatch (TIGER), FDI (RUBBLEMASTER)
Software Engineer / Project Manager / Researcher
>10 years of experiences
Software Competence Center Hagenberg
1. How do you rate the potential benefit for your projects? | 5 |
2. How often are you using that practice? | 5 |
3. What is the effort to introduce the practice in your project upfront? | 2 |
4. What is the effort to apply the best practice in your project daily basis? | 1 |
Questions 1, 3 and 4 (1 = Low, 5 = High)
Question 2 (1 = Never, 5 = Always)