Balancing Outcomes: A Holistic Approach to Software Leadership.
Effective software leadership goes beyond delivering products — it’s about ensuring outcomes benefit customers, the business, and the team. When done well, technology should feel magical, I often start with emotions, a concept I call “Emotional Driven Design/Development.”
In my experience, effective leadership in software development is about more than just delivering products and code — it’s about ensuring that the outcomes benefit customers, the business, and the team. I like to start by considering the outcome and that doesn't necessarily mean any form of designing first, I often start with emotions, a term I sometimes call ‘Emotional Driven Design/Development’. Technology, when done well should feel magical, Arthur C Clarke famously wrote 3 laws, of which, the last is the most well known:
“Any sufficiently advanced technology is indistinguishable from magic”
I have my own issues with this statement, technology isn't magic no matter how advanced it is but what I do believe to be true is that when it works well it should feel magical. In product circles there are measures for this, if it works really well we often, excitedly, tell our friends. Equally we all reserve a special kind of rage for technology that lets us down, review bombs can be a good indication of this sentiment!. Spending time with the team considering what might help our customers feel magical is worth it, it helps people consider the end result. I've yet to find a team that doesn’t like the idea of bringing genuine joy to customers. A small workshop with the team to map out the emotions of delight and rage helps to define what areas of the product and what metrics we can focus on. Remember there are many customers for a product engineering team, the business, and the board/investors, third parties, risk/security/data and other internal teams and of course the paying customer! - Staying agile as you move through a project means sometimes asking if the current priorities are aligned to this and maximising the work not done! Here’s some ideas on how you can apply this approach to your work:
1. Start with the End in Mind:
Before diving into a project, define what success looks like for your customers, your business, and your team. Beginning with what good might feel like. What would make the customer feel awesome? How can we create a ‘Mic Drop’ moment that creates a sense of WOW? For example, in a recent project focused on helping a scaling business gain insight from their usage data, we set some clear goals: Reducing frustration, bringing down the time required to access a defined set of critical business data by 90%, centralising access in one place, reducing pipeline failures by 80% and introducing a reliable indication of when the data last update. Not ‘rocket science’ but these targets helped to ensure that consumers had context of what the data represented before doing analysis, and created confidence and consistency across the business.
Actionable Tip: Start your next project by setting specific, measurable outcomes for each of these customers and test with hypotheses. Use these as a North Star to keep your team aligned.
2. Align Actions with Outcomes:
Every feature, task, and sprint should be directly linked to one or more of your defined outcomes. For instance, in the data project I mentioned above, we didn’t just focus on gathering and presenting information — we tied it directly to our goal of increasing customer engagement by enhancing product features that customers actually wanted and reducing frustration that the data had been inaccurate and inconsistent. Pipelines do fail, people understand that, they just don't want to find out after hours of work, giving context up front helps to set expectations. Rory Sutherland in his talks often describes the value that the dot matrix screens brought to the Underground network, they didn't make the trains run faster or more reliably they improved customer satisfaction by just helping us all know when the next train will arrive.
Actionable Tip: Map out your current project tasks and identify which outcome they support and how they help. If a task doesn’t align with your key outcomes, reconsider its priority.
3. Regularly Review and Adjust:
Outcomes aren’t static, and neither are emotions, consider when good enough works and when it’s worth going the extra mile. Regularly review your progress against your goals and be ready to pivot if needed.
Actionable Tip: Schedule regular checkpoints in your project timeline to review progress against your outcomes. Be flexible and willing to make adjustments as new information arises and get feedback from customers!.
It’s never this easy, but in my experience, if you have processes in place to do some of these things it’s likely you’ll get closer to ‘magic’ quicker.