Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Systems for issue tracking may be both integrated and standalone. Examples are github and gitlab (integrated), Jira from Atlasssian (standalone, but integrated with other Atlassian products), bugzilla (standalone), ...

Code review

When providing code for an issue, you often want to review it before allowing the code to be committed into and merged with the code repository. This is particularly relevant when code is contributed from outsiders, like in open source projects, but also relevant in more closed settings, to ensure quality. Sometimes you also want to run CI on the code, before doing the review and stamp of approval.

Examples of systems are git (supports so-called pull requests where a branch in a fork is contributed to the main project), gerrit (hosts a copy of a repo and can run CI on it before changes are merged into the main repo).

Code quality

Code quality is mostly concerned with non-functional aspects of code, and covers many aspects of code at various levels (lexical, syntactic, structural, ...). Some tools, like FindBugs, analyse (the meaning of) the code in search for typical programming errors, some, like CheckStyle check more superficial properties like adherence to a coding styles and compute metrics the may help improve the code, and some, like SonarQube integrate all of this with CI.

Proficiency levels

If we want to introduce these activities in a curriculum in a study program, we should consider a staged approach, were activities and tools are introduced gradually. Based on proficiency levels (https://hr.od.nih.gov/workingatnih/competencies/proficiencyscale.htmFundamental AwarenessNovice (limited experience), Intermediate (practical application), Advanced (applied theory), Expert (recognized authority)). For a bachelor program, we may expect students to reach a Intermediate level in some activities, and Novice in others, while a master program may lift the bar depending on the specialisation.

...

Activity/Semester12345678
Code management        
Continuous integration        
Issue tracking        
Code review        
Code quality