Can you measure quality?

Can you put your finger on the pulse of a project and tell right then and there that they have a product where quality is embedded in the team’s grey matter and not just a fancy word?

It’s definitely a hard task to achieve, but not impossible.

Quality is not a role. There isn’t a person ‘gatekeeping’ the features that get released. Having a Quality Assurance (QA) column on your Agile wall doesn’t mean you are building a quality product. Quality is a mindset, one I believe can be taught and applied.

I got into software development when I was 13 years old – yeah, it’s been a while. A friend taught me a couple of things and I liked so much that I quickly started learning other languages and building things.

Skip a few years to the point where the Systems Development Life Cycle was king and we’d simply handover our developed solution to the testing team – yes, that old chestnut, we’ve all been there. I’m sure you remember the frustration when, after a while, you got a bug ticket with something that wasn’t implemented properly for whatever reason.

A few more years on and I’m pairing, doing automated testing, implementing continuous integration pipelines – doing my part to ensure quality is applied. This change is key because now I’m not part of a developer team. I’m part of the team.

Like any professional, I grew and so did my level of communication, experience and exposure to different aspects of my job and other people’s jobs. The natural instinct in humans to grow and develop sparked an interest and created a trigger to explore different avenues of thinking, thus modifying my behaviour towards problem solving and building something that I’m proud of.

This interest brings along two key things to consider:

  1. as part of this growth you will naturally start challenging accepted concepts and ideas as your understanding of them evolves; and
  2. with it, mindset changes are unavoidable as answers to your challenges potentially lead to behavioural changes.

At DiUS, we often mix and match skills – usually through pairing – contributing to one another’s professional development. The knowledge acquired over the years by each of us is repurposed and some aspects of it work very well together; driving innovation through newfound ways of collaboration, leading to better outcomes.

The interesting aspect of pairing is that it works best when executed by people with different roles and/or completely different ways to approach a problem. This approach triggers a constant conversation on how things get done by each person in the pair, which drives them to talk out loud their ideas and express themselves better.

Here’s the catch though, it is intimidating! When I first paired, I was excited and scared at the same time.

“Oh man, what will this guy think if I misplace a semicolon?”

Pairing is a quality skill. Through pairing you open yourself to criticism of your ideas and allow new ideas to come in; fueling your brain cells and potentially leading you to a much better place than where you started. It is however, a tough skill to learn – your emotions play a big role in how you pair and how your ideas get shared. Plus, as an activity, it takes time. Time to get used to your pair. Time to arrive at a solution. Time to learn how to pair.

As you get better, you learn to control these things and all seem to flow more naturally. Then you start to appreciate ideas bouncing off your head and your pair’s head, and allow yourself space to explore your approach towards pairing. This is a maturation process – everyone goes through it and is challenging, frustrating and absolutely rewarding. Pairing encourages learning and collaboration. People engaged in pairing usually produce higher quality output, and that’s one of the main benefits as it positively affects your project’s budget.

Regardless of the financial benefits, for individuals, the collaboration aspect is priceless. Pairing is about improvement, learning new things, learning about how people think and behave, and ultimately learning how quality is perceived by the person you just paired with and making those little refinements to be a little better on what you do everyday.

Change your mindset, pair more, learn about your team’s quality level and improve on it. Infect other team members by spreading the pairing bug and make them understand where your levels are.

Don’t measure quality through pairing alone, but understand that collaboration is key in any project. Teams deliver, they don’t handover.