We start by considering what success means in this context, before looking at what best ‘strategic’ practice could look like.
Pulling it all together, Joe Patel, our Head of Product and Client Relations, provides his own guidance. He draws on his experience to provide several practical takeaways that could make a significant difference to your approach.
In recent articles, we’ve discussed why software projects can fail and the importance of strategy to achieve effective development. We’ve also considered how roadmaps and clear communication can help.
Joe Patel is Head of Product and Client Relations at Redox. Rounding off our focus on strategy, we asked him what he considered important when strategically planning software projects. Packed with practical takeaways, Joe illustrates his response with personal experience.
Over to Joe…
Harvard Business School highlights two levels of strategy for business. Corporate level strategy and business unit strategy. They define the first as ‘what’. What set of businesses should we compete in? They then summarise the second level as ‘how’.
This distinction feels important to me. Strategy can be practical as well as insightful. And a strategic approach to software development is very much business unit level.
How are we going to get from A to B? How will we achieve our goals?
At this level, we mustn’t get bogged down with day-to-day tasks. We must take time to consider how we will get to the desired outcome.
Drawing from my experience, I want to highlight six areas that I believe can improve your strategic approach to ‘how’.
#1 Beware your thinking biases.
Earlier in my career I worked for Ecotricity. Whilst my role focused on product development, it also exposed me to software development. At that time, I was independently studying psychology – first an introduction to cognitive behavioural therapy (CBT), then a Certificate in Psychodynamic Counselling. I saw how these principles worked in all walks of life. In fact, much comes down to how people think about things.
A thinking bias is a thought inside your head that impacts your action. You might have ‘black and white’ thinking or be prone to mindreading. These are thinking biases and they impact decisions in every workplace.
When you’re being strategic, don’t react impulsively to thinking biases. Allow yourself time to see what’s going on in your environment and compare it to what you’re thinking in your head. Personally, I find this approach incredibly helpful and remarkably empowering.
So, don’t let your biases influence your strategy. Instead, be open-minded and avoid past experiences restricting your vision.
Know when to seek advice or find more information too. Because nobody knows everything, and strategy development is more effective when you collaborate.
#2 The value of sharing.
Personally, I find huge value in reading and listening to other peoples’ perspectives. I have a pile of books on the go and follow many experts on social media. Podcasts and blogs also help me to broaden my thinking.
As I discover new ideas and fresh thinking, I look at things from many perspectives. And my skills develop as others share their knowledge with me.
There’s a micro level of sharing to embrace too: collaborating with peers and pooling ideas from your different experiences. Everyone should ask questions to understand or challenge thinking. This collective approach helps businesses develop their best strategic plans.
Collaboration and team thinking provides another benefit – you bring others along with you. They buy into your logic from the outset and help you make it work.
#3 Inform your strategy.
In my opinion, it’s impossible to have an effective strategy without a good understanding of your data. But beware data overload or data that serves no purpose.
You don’t have to look far to find data. Take LinkedIn. It’s buzzing about the opportunity of AI tools like Chat GPT. Advice, thoughts, and ideas flow into your feed daily. But that doesn’t mean you should rush to embrace all the tools within your strategy.
Data shouldn’t fuel your strategy. Your strategy should fuel your specific data needs.
And if the data you need to shape your strategy doesn’t exist, seek it out.
A client asked us to help with exactly this. They wanted to track car park spaces at sites they managed. Keen to offer more services, they wanted to understand the potential for electric vehicle charging points. But they needed accurate data to fuel their strategy. Redox created a mechanism for them to achieve this.
Pay attention to your data quality too because poor data leads to poor decisions.
Merging different data sources can be problematic, as can cleaning legacy data. But it’s vital when you’re using that data to make strategic decisions. And as your business grows, ensure your data sources can still serve your strategy. Data-driven decisions are not a one-off exercise.
Many businesses try to do everything, only discovering how ineffective that is later.
I experienced this when involved in launching a mobile phone business. Initially, we created a SIM-only product. The business then went on to launch related services such as contracts, broadband, and devices. But we were spreading our resources too thinly and product quality suffered.
So, we decided to strip back our offer and focus on the SIM-only product. Had we not done this, the entire business could have failed. Instead, it remains a success today.
I love using the ‘Good, better, best’ approach to prioritisation. You can apply it in almost any scenario. Is it good? Could it be better? What would be best?
In my opinion, we should spend our time doing more of the best things. Less is always more.
Taking this to another level, consider questions such as:
- Who is it best for?
- What is best for the user – and for our business?
- Do we need to be the best?
- Is the best relevant to our strategy?
By prioritising, you develop software features that deliver the greatest returns – for your users and your business.
But remember it’s ok to change your priorities if circumstances demand this.
#5 Embrace change.
New data and changing circumstances can mean you need to do something different. Covid was a perfect example. So, it’s important to recognise when your strategy must change.
To manage this in software development, we use an agile approach. Delivering value in short increments of time means we’re always flexible when projects must adapt.
In a previous role, we retired a community-based forum product because it wasn’t performing well. But when we were later working on a new product, the opportunity to create a community was clear. It hadn’t worked before, so we felt reluctant.
We decided to use the Kano Model to measure user feedback about desire for a community. Whilst not an essential feature, we learnt they’d welcome it.
Based on this new information, we launched a refreshed community format. Had we not been open to change, we’d have missed this opportunity to try something that now had potential to succeed.
#6 Measure success in milestones.
To implement an effective software strategy you must break it down into smaller actions. You can delegate this task once the strategy is clear.
Ensure team focus and discipline. Document the task order and who’s involved at each stage.
Follow up too. As the gatekeeper to your strategy, monitor how well you’re following it. If goalposts must change, that’s ok. Just communicate your new scope clearly to avoid misunderstanding.
A strategy won’t achieve itself, so be proactive with your execution, and monitor progress to ensure you reach your intended outcome.
Mindset and discipline.
My advice draws from years of experience in various businesses. I hope you’ve found some helpful takeaways.
To me, developing software strategically comes down to maintaining the right mindset and being disciplined. You must be open to ideas and avoid personal biases.
And you must consistently apply your strategic approach, communicating at every level.
This isn’t complex to achieve. Everyone can do it. That’s why I love working with our clients, empowering people to become better at what they do. Because better software development creates better products. And that means better value for your users and your business.