DEV Community

CΓ©dric Teyton for Promyze

Posted on • Updated on

Create a learning culture to improve code quality

πŸš€ DORA and Accelerate

The DORA (DevOps Research and Assessment), part of Google since 2018, releases a yearly report on the State of DevOps in the IT industry. The latest 2021 Accelerate State of DevOps report has been recently unveiled if you're interested in their new findings. The first six-year study results were the raw material for the excellent Accelerate book, with a growing impact in our Industry on the DevOps culture and the goal for performance.

The DORA came with an initial set of 24 capabilities observed in companies with high performance in their DevOps culture (measured mainly with the 4 Key metrics). These capabilities target technical practices, processes, or even the culture. In the latest version in December 2021, 27 capabilities are in the catalog.

πŸ“š The Learning Culture Capability

The DORA states that performant organizations have settled a culture that values learning and observed stronger team cohesion, increased deployment frequency, and reduced lead time for changes, time to restore services, and change failure rate.

For organizations, that implies to:

  • Plan training budgets ;
  • Make sure that everyone has access to knowledge ;
  • Create a climate and spaces where knowledge can be shared among teams ;
  • Ensure teams' psychological safety: try things; it's safe to fail: this is part of the learning process
  • Provide logistics resources (e.g., physical rooms) for learning sessions.

πŸ‘©β€πŸ« A diversity of learning resources

In practice, a learning culture may have the following form:

  • Regular meetings such as BBL (Brown bags lunches) where one person (internal or external to the company) talks about a topic they recently worked on, to share their feedback and how it could be helpful for the organizations ;
  • Technical meetings such as Coding Dojo (Kata or Randori, for instance) ;
  • A shared library with books that everyone could borrow. Anyone can suggest new content to add to the shelves ;
  • E-learning resources, usually a collection of short videos that developers can watch whenever they want to depend on their schedule ;

Practices such as pair/mob programming and code reviews also help developers to learn from each other every day.

πŸ‘¨πŸ½β€πŸ’» Improve our technical skills to reduce technical debt

This learning culture helps developers to improve their technical skills on various topics: programming languages and frameworks, algorithms, clean code, testing, architecture, design, and many others.

Improving our technical skills fosters developers' capacities to write high-quality source code, preventing risks of accidental technical debt and reducing time spent in code reviews and more generally on source code maintenance (a high-consuming task for developers).

This idea is summarized as follow:

Β«Don't spend more time on code quality. The real powermore is growing the skills and habits that give you quality in the same timeframe Β» (Mathias Verraes)

The concept is straightforward: instead of continuously spending half a day every month to refactor some bad code, invest this time to teach developers how to avoid these mistakes.

πŸ’¬ An efficient technical collective workshop

Promyze is a platform for sharing the best coding practices within a company. These best practices emerge from developers as they can identify some examples or counter-examples in their source code every day thanks to Promyze extensions for IDE (Visual Studio, VS Code, JetBrains suite, and Eclipse)and Web browsers (Chrome, Firefox, Edge & Opera).

All these contributions are stacked to Promyze, and the team then gathers regularly (every two weeks, for instance) for a Craft Workshop. This is a one-hour session where contributions are reviewed, discussed altogether, and either accepted or discarded. If they are accepted, we ensure everyone understands the practice and configure the Promyze algorithm for its automatic suggestions.

Promyze

Interested to know more? Get started for free on promyze.com πŸ˜‰

Discussion (0)