Pragmatic Code Review driven by MoSCoW and FECE techniques

Pragmatic Code Review driven by MoSCoW and FECE techniques

How to make code review in your team useful? Various techniques can bring code review to life and some of the effective ones are FECE and MoSCoW. ... If all advices given in a code review bring value, it is worth prioritizing expectations. MoSCoW is a technique well adapted in business analysis and project management. It also works in code review process.

For the last decade, I‘ve always had the pleasure of working with development teams where code review has been practiced on daily basis. If somewhere there was no code review in a project when I was joining, I’ve just tried to introduce this process into practice. All this time, I’ve been collecting a lot of experiences, thoughts and consternations that I wish to share with you.

Let’s introduce code review

Let’s establish the code review process as soon as possible, because it’s a well-known and opinionated technique.

Such thinking often accompanies us while start with a new project. Thousands of people describe code review as good practices, and hundreds of books confirm it. What can go wrong? Experience shows that everything, because the biggest problem is ourselves and our level of mutual incomprehension.

Image for post

Photo by Jon Tyson on Unsplash

First knowledge, then action

We, software developers are usually knowledgeable and skilled people, but I notice one thing: programmers often do not have developed skills in giving and receiving feedback. No offence, it doesn’t mean we are different, specific or bad. We just don’t have enough knowledge about it. Simple, but don’t worry. After programming hours, I mentor people, not only about technical things, but about soft ones also, and I can confidently say that the problem of poor skill in providing feedback is a nuisance for all people. Unfortunately.

First and common issues

A combination of good intents for code review and poor feedback skills has nothing to do with it. Unfortunately, good intentions will not help when we have gaps in knowledge. There are many feedback techniques and I can not really say which one is the best, but for sure the ones listed are very good and you can start working with them and try on your own. Opinionated techniques that I used in past are: SBI, FECE, NVC . There is one more “opinionated” techniques so-called the sandwich feedback method, but in my opinion does not bring much value. Moreover, it can even be harmful at times.

FECE technique

As I mentioned, there are many techniques, but the most important thing is to learn at least one and start applying knowledge in practice. In the case of code review, I truly believe that the FECE technique can bring big long-term results.

FECE is an acronym from Facts, Emotions, Consequences and Expectations. Each word covers typical question about subject:

  • FactsWhat’s going on in your code? What can I observe in your code? What can I read in your code review? What can I see in your code review? What exact fact am I referring to?
  • EmotionsWhat am I feeling? What is my attitude to this observation? What breath into me that make me notice it?
  • ConsequencesWhat are the consequences of particular fact? How does it affect to project? How will affect it to project? What will it break?
  • ExpectationsWhat is the solution that I’m fine with it? How can you correct it so that I don’t have any more objections?

These four simple fact-based points can make any code review a process that delivers quality and improvements. Real quality and real improvements. Because if we write that something needs to be improved, then there is nothing to do with the quality.

software-development feedback code-review programming communication

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Offshore Software Development - Best Practices

To make the most out of the benefits of offshore software development, you should understand the crucial factors that affect offshore development.

Softagram - Making Code Reviews Humane

The story of Softagram is a long one and has many twists. Everything started in a small company long time ago, from the area of static analysis tools development. After many phases, Softagram is focusing on helping developers to get visual feedback on the code change: how is the software design evolving in the pull request under review.

5 Core Criteria for Selecting Software Development Company -

Check out these five criteria for the selection of your software vendor, and you will never regret having the wrong quality product made for you.

Best Software Development Company in Melbourne

Software Development Company in Sydney, Melbourne. Vrinsoft is Australia based Software Development Agency provides software solutions to increase your sales, reduce costs, and automates business processes with cost-effective, high-quality software development services.

How to Hire an Outsourcing Software Development Company

While outsourcing **[custom software development services]( "custom software development services")** for all your needs, you can add ample interests to the business by giving access to skilled expertise resulting in the...