Do you understand the value of consistency?

Last updated by Tom Bui [SSW] about 1 month ago.See history

If you need to do something more than once, then there should be a standard for it. At the heart of our philosophy on creating rules and standards is the idea of consistency. There are 4 main benefits you will get:

consitency

Say we are creating a web application. We can expect to:

  • Improved Productivity - With set standards, decision-making is streamlined. For instance, in .NET Web applications, we bypass lengthy debates on choosing between authentication frameworks for a project; the standard approach is already defined in the rule. This allows developers to focus on building upon existing foundations rather than reinventing the wheel
  • Enhanced quality - Following best practices ensures that the applications are built to a higher standard. For example, deciding on the most suitable ORM, like Entity Framework, is made simpler by adhering to pre-established guidelines
  • Improve communications - For example, when we complete a task we are clear and educate the customer by including a screenshot, the code and the time taken. We are consistent with whether we call it a bug or a feature because we define what's a bug
  • Direct Focus on Client Issues - With standards in place, developers don't waste time deliberating over architectural choices like whether to use RESTful services or gRPC. They can dive straight into solving the core issues that the client faces

You should create and follow standards for all manner of processes, from coding practices to project proposals, and how to lock the office up at night. The best example: SSW Rules.

From the developer's perspective, consistency means that they understand each other's code, and if they don't know something, a standard will often save them asking someone and spending hours investigating. No more Chinese whispers and less time wasted.

From the customer's perspective, consistency leads to a reliable and repeatable experience.

The following story illustrates these values:

The Barber (excerpt from "The E Myth")

I went to a barber who, in our first meeting, gave me one of the best haircuts I had ever had. He was a master with the scissors and used them exclusively, never resorting to electric shears as so many others do. Before cutting my hair, he insisted on washing it, explaining that the washing made cutting easier. During the haircut, one of his assistants kept my cup of coffee fresh. In all, the experience was delightful, so I made an appointment to return.

When I returned, however, everything had changed. Instead of using the scissors exclusively, he used the shears about 50 percent of the time. He not only didn't wash my hair but never even mentioned it. The assistant did bring me a cup of coffee, but only once, never to return. Nonetheless, the haircut was again excellent.

Several weeks later, I returned for a third appointment. This time, the barber did wash my hair, but after cutting it, preliminary to a final trim. This time he again used the scissors exclusively, but, unlike the first two times, no coffee was served, although he did ask if I would like a glass of wine. At first, I thought it might be the assistant's day off, but she soon appeared, busily working with the inventory near the front of the shop.

As I left, something in me decided not to go back. It certainly wasn't the haircut-he did an excellent job. It wasn't the barber. He was pleasant, affable, seemed to know his business. It was something more essential than that.

There was absolutely no consistency to the experience.

The expectations created at the first meeting were violated at each subsequent visit. I wasn't sure what to expect. And something in me wanted to be sure. I wanted an experience I could repeat by making the choice to return.

The unpredictability said nothing about the barber, other than that he was constantly - and arbitrarily - changing my experience for me. He was in control of my experience, not I. And he demonstrated little sensitivity to the impact of his behaviour on me. He was running the business for him, not for me. And by doing so, he was depriving me of the experience of making a decision to patronize his business for my own reasons, whatever they might have been.

It didn't matter what I wanted.

It didn't matter that I enjoyed the sound of scissors and somehow equated them with a professional haircut.

It didn't matter that I enjoyed being waited on by his assistant.

It didn't matter that I enjoyed the experience of having my hair washed before he set to work and that I actually believed it would improve the quality of the haircut.

I would have been embarrassed to ask for these things, let alone to give my reasons for wanting them. They were all so totally emotional, so illogical. How could I have explained them, or justified them, without appearing to be a boob?

What the barber did was to give me a delightful experience and then take it away.

What you do in your model is not nearly as important as doing what you do the same way, each and every time.

Figure: 'The Barber' describes an inconsistent experience

Standards don't need to come at the expense of creativity. Following standards means less time doing the administrative stuff and more time for the creative. Of course, standards are works in progress, and so we are always on the lookout for improvements. That's why standards should be shared with everyone.

We open source. Powered by GitHub