Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Software Quality

Software Quality

This is a set of questions (and tool recommendations) to set up a minimum of tool and technologies to achieve at least minimum software development quality standards.

Awesome Incremented

June 30, 2016
Tweet

More Decks by Awesome Incremented

Other Decks in Programming

Transcript

  1. Kaizen vs. Kaikaku •Kaizen •Small increments of improvement •Faster iterations,

    small steps •Kaikaku •fundamental and radical changes •One huge step and one big improvement
  2. Git •Is the source code checked in? •Which branching concept

    is used? (GitFlow, GitHubFlow) •Does a readme.md describe the build process? •Does a readme.md describe the required tools?
  3. Jenkins •Does an automated build ‘on check-in’ exist? •Was the

    latest ‘master’ build successful? •Was the latest ‘develop’ build successful? •Does each build get a unique version number? •Are the latest master/develop builds published? (file server)
  4. Unit Tests (nunit, junit, xunit, ...) •Does the project contain

    unit tests? •Is the unit test execution integrated into and tracked by the automated build process? •Do master/develop have no failing unit tests? •KPIs used to measure the progress (so far) •Test coverage •Number of tests
  5. SonarQube •Does a weekly automated code analysis exist? (master or

    preferable develop) •KPIs used to measure the progress (so far) •lines of code •technical debts, technical debts per line of code •issues, issues per lines of code •Todo: Define ruleset (Same for IDE and SonarQube)
  6. Automated integration tests •Does the project contain integration tests? •Is

    the integration test execution automated after deployment? •Do master/develop have no failing integration tests? •KPIs used to measure the progress (so far) •Number of tests
  7. Upcoming: Code reviews •Are one (better two) code review pals

    defined? •Does a code review checklist exist? •KPIs used to measure the progress (so far) •Number of reviews
  8. Summary •Think “kaizen”, not “kaikaku” •There should be a progress

    every review •Review should be at least every two month
  9. Awesome Software Quality Talks •Code Reviews (http://bit.ly/296cEJy) •Coding Guidelines (http://bit.ly/29heBlZ)

    •Clean Code Developer (http://bit.ly/2948P5k) •Git (http://bit.ly/297DjVa) •GitVersion (http://bit.ly/297DjVa)