The development cycle is divided into one or more sprints. Each sprint is split into doable requirement chunks: Tasks. We rely on Jira and plug-ins for the Agile infrastructure and project management. Each task requires one or more commits to the code repository (SVN, GIT) to implement the actual task requirement.
Each commit triggers a job on our Continuous Integration (CI). Each CI job runs the complete project build and checks if the build is destabilized, i.e. if the commit contains some code that cannot compile, or if there are failing tests.
An unstable build triggers a red alert and CI sends an email to the team demanding build stabilization ASAP. This feature protects against commits with non-compiling code, and code that is not passing existing tests.
If the build is stable, the next step is the Sonar code quality check. Sonar with plug-ins performs a series of tests. The most important one is the coverage test.
If the code is not covered with tests at least 50%, the build will fail. This feature forces developers to cover their new code with tests immediately.
Contact us to get your project organized