Tuesday, 30 July 2019

Tactics for maintaining quality under pressure

7 tactics to maintain quality under pressure

Yesterday, I had great time joining some of my friends at Endava and their guests for the presentation of “Tactics for maintaining quality under pressure” by Eoin Woods (CTO at Endava).
Liked Eion’s straightforward style and fast-speed-talk. The presented tactics are somewhat common-sense, and at the same time critical for successful delivery, so I decided to drop my 2 cents on each of those.

1. Understand the context
Context is the king... I would stress on understanding the business value and the underlying business needs and pain-points behind the technical requirements. Those needs could probably be satisfied in innovative and creative way, and in order to inspire those we need to present to the techies why do we have such requirements and what in the end we try to achieve ...and again: WHY?

2. Make implications clear
Any workarounds and cutting-edges approach costs should be clearly communicated. If in the future we need to refactor or even redesign and redevelop entirely services just because of today’s decisions – those should be clearly explained and agreed on with the product folks on client’s side. Those are even worse if the consequences are on architecture’s side.

3. Track and cost technical debt
Another great tactic… with my teams we regularly follow. Putting the technical debt as backlog items and roughly estimating them helps us backing up decisions to force any of the most critical items, prioritized and tackled in future iterations.

4. Make quality visible
Another important one. I would say even critical for iteration review. Visibility over functional and performance tests increases trust and shows everybody that quality matters!

5. Simplify
Simplicity is a favorite principle of mine. Less complexity often leads to better quality and maintainability. 

6. Automate everything
Another obvious one; I would only disagree that it depends on the project size and context. Sometimes the overhead could be too much, trying to automate everything possible. Also, we should not forget automation requires maintenance too. Do we want to spend a lot of our team’s time and effort in maintaining automation? Balance is the key.

7. Enforce valuable process, discard the rest
Processes, just for the sake of doing them, should be discarded. Nevertheless, I work mostly on creating and inspiring the healthy culture of delivery, respect and learning within everybody in the company. As we all are aware – 'healthy culture will handle broken processes'. Yes, it is more difficult and time-consuming to influence and change the company's culture, but in the end it’s more beneficial for everyone too.

--
Kudos to Eion for inspiring my thoughts on the topic.

No comments:

Post a Comment