Engineering Management (Part IV)
What does an Engineering Manager do?
In this issue we’ll continue our series on the different aspects and responsibilities of engineering managers and talk about Effective Delivery.
If you have no idea what I’m talking about, have a look at the Engineering Management pillars below for reference to previous and future (once written) issues on the topic:
Effective Delivery (this issue)
Let’s get started.
Effective Delivery
Our number one goal is to ship a product that has a meaningful and positive impact on the lives of our users. Everything else exists in support of this goal. Therefore we need to be good at shipping.
It doesn’t matter how effective your team is if you’re not building the right product. For this last article in the EM series I’m making the assumption that you already know what that is.
EMs are in a unique position to own delivery within their teams as they are intimately familiar with the technology, business domain and their people.
Getting work done
Traditionally - and somewhat naively - we think of doing work in a simplistic way such as what is shown in the picture below:
Putting it in words, we have a bunch of work to be done. We might get into a [virtual]room, do some backlog grooming, create user stories, put them in a backlog and now we’re good to go… right?
You’re probably jumping up and down about all that I’ve left out in this picture! However don’t be surprised to learn lots of organisations plan their work in exactly this way — they assume productivity is constant, people don’t get sick and requirements don’t change — let’s call this happy path planning.
Reality is very different however. Teams are complex systems. They operate in the context of Organisations which are themselves complex systems.
This means that getting work done can be unpredictable.
Systems Thinking
The image above is known as the rework cycle. Over time, lots can go wrong. People come and go. Incidents happen. Quality dips. Requirements change. Things become obsolete and are no longer maintained.
As an Engineering Manager, how can you make sense of all this? The answer lies in Systems Thinking — more specifically, System Dynamics:
System dynamics (SD) is an approach to understanding the nonlinear behaviour of complex systems over time using stocks, flows, […] feedback loops, […] and time delays
Even without a great deal of knowledge in Systems Thinking, the rework cycle diagram can be used as a map to navigate the complex systems and interactions that make up your world — Systems Thinking then provide tools and mental models that can help with managing complex projects.
The rework cycle in practice
What if your team is falling behind on work? What can you do?
Well, you could choose to hire more people. Depending on timeframe and available budget, this can work, but we should be aware of its unintended consequences:
reduced quality, hence increasing undiscovered rework and extending the project timeline.
decreased productivity as new people often don’t hit the ground running despite what the industry tells you.
You could instead choose to ask your team to work longer hours. This can work for short periods of time. If abused however, it leads to loss of productivity, burnout and resignations, moving you further away from your goal.
These are but two non-mutually exclusive tactics. There are many more and they all have an impact on your systems - both human and technical. Whether the impact is positive or negative depends on how carefully we consider the systems inputs, outputs and interactions.
For an introduction to Systems Thinking, I can recommend Thinking in Systems, a primer. For a more hands on approach directly applicable to managing complex projects in various business domains, I recommend this MIT’s System Thinking course. (There is an incredible project management simulation in this course that, by itself, makes the course worthwhile)
Theory Of Constraints
Systems Thinking will help you zoom in and out of your projects, teams and organisation, ignoring any details that would hinder the understanding of its purpose, feedback cycles and interactions. With this clearer view, the process introduced by the Theory of Constraints (TOC) can be applied to increasing the output of a system.
M. Goldratts’s The Goal is the official reference here. Written very much like a business novel, The Goal follows Alex — a plant manager — through his journey trying to turn his plant back into a high performing system. Although it’s an old book, the lessons contained in it are still very relevant. In a nutshell, TOC uses these five focusing steps as its foundational framework:
Identify the system's constraint(s).
Decide how to exploit the system's constraint(s).
Subordinate everything else to the above decision(s).
Alleviate the system's constraint(s).
If in the previous steps a constraint has been broken, go back to step 1, but do not allow inertia to cause a system's constraint.
One way of identifying system constraints is by creating a Value Stream Map. Once you do so you might, for instance, realise your system’s bottleneck is the QA process (not uncommon, even today).
Armed with this knowledge, you then move through the framework above and decide how to exploit and then subordinate the rest of the system to your constraint:
you could hire more QA engineers, which would give you more throughput - but that makes your people costs scale linearly with throughput.
you could prevent new work from being done and have engineers help in QA processes.
you could move QA processes closer to the development cycle so that it happens continuously and doesn’t constrain the whole system in a single bottleneck.
Each time you do this, you’ll most likely discover a new constraint. Keep using Systems Thinking and TOC to optimise the flow of information through the system.
Conclusion
This brings us to the end of our series on Engineering Management. I realise each post is fairly dense but don’t let that deter you. Not all of what I’ve written about is expected all at once — or even at the same depth!
The reality is that you’ll focus on different areas depending on the size of your organisation, the business you’re in, the size of your team as well as its level of maturity.
Lastly, the goal isn’t to become a project manager but rather leverage elements of project management and Systems Thinking in running effective teams.
I hope you find this a useful reference and I look forward to hearing your feedback.
LeadBytes
Ask for feedback
We spend a lot of time learning how to provide good, productive feedback that is timely and actionable. But when was the last you asked for feedback from you direct reports?
Hopefully you are already receiving feedback from your manager but if not, you should ask for some. Even more important is asking for feedback from your people about how you’re doing as a manager and as a leader.
It’s not uncommon for your team members to feel uncomfortable giving feedback to their bosses. So much so that it doesn’t even cross their minds as a thing to do in many organisations — and it’s a massive missed opportunity.
So for this week’s LeadBytes I have a challenge for you:
Once you finish reading this issue, go and ask for feedback from all your direct reports. By doing so you are signalling to your team that (1) they’re expected to give you feedback from time to time and that (2) you value their opinion and judgement. Just make sure you follow up and act on the feedback — otherwise it will just stop coming…
TechBytes
Non-fungible what?
Surely by now you must have heard about Non-fungible Tokens. Built on the blockchain, the same digital ledger technology that powers Bitcoin, Ethereum and many other cryptocurrencies, NFTs allow its users to prove ownership and provenance of digital and physical assets without the need for a central authority.
It remains to be seen how useful and widely adopted NFTs will be. A lot of questions haven’t been answered yet such as enforceability, online vs. offline ownership, copying and many more.
However I see the ability to irrevocably assert provenance in a digital world as very powerful. In addition, curating and selling digital content through smart contracts can create a platform for artists that entirely cuts out the middle man, leaving most of the revenue to creators themselves.
For now, let’s see how far this goes - I created an NFT of a unique print of this post which you can bid for here and own it forever — or even resell it if you like! Though I have no idea why you’d do that…
What a time to be alive…
If you have a question for me or a suggestion for the newsletter , please submit it here - I’ll address as many as possible in coming issues.