Every team faces unique technical waste; however, there are common fundamental practices. As such, each team starts in the same place. The Validated Software Mender I (VSM-I) addresses some universal problems and teaches the core technique that everything will build on: Disciplined Refactoring.

The certification process is a DevOps dojo experience that provides four modules introducing Disciplined Refactoring. A total of 16 precise techniques are taught in the developer’s everyday coding work. The ultimate outcome is that developers learn how to safely refactor risky code and get it under test.

Organization Benefit: Improve productivity. Reduce story cost, immediate bugs, and future bugs.

Engineer Benefit: Reading code is easier. Changing designs is easier and creates fewer bugs. Spend more time on stories and less time on bugs.

Talk to us about certifying your team!

VSM-I Certification

Module 1: Become Risk Aware
Tagging as a Process (TaaP)

  • Review code in minutes instead of a day.
  • Know which code reviews require attention.
  • Introduce fewer bugs on the most common refactorings.
  • Become more aware of the risks that lead to bugs.

Module 2: Refactor with Less Risk
Naming as a Process (NaaP)

  • Trust the names in your team’s code.
  • Spend less time coming up with names.
  • Waste less time hunting for experts on code you don’t understand.
  • Less code to read and understand for each story.

Module 3: Refactor Iteratively and Quickly
The Insight Loop

  • Finish code reviews more quickly.
  • Be less impacted by interruptions.
  • Complete stories more quickly.
  • Establish trust with your product owner that you are refactoring the right amount.
  • Find it safer and easier to work with code you do not understand.
  • Find yourself struggling less to keep everything in mind.

Module 4: Refactor to Test
The Legacy Testing Loop

  • Unit test spaghetti code.
  • Find and safely eliminate near duplicate code.
  • TDD new features even when they touch old code.
  • Deliver features in less time.
  • Reduce dependencies with other teams and code.