5 min read

This Is Not The Solution You're Looking For

This Is Not The Solution You're Looking For
I still remember watching this on VHS at a cousins house. All credit to Lucasfilm? Disney?

When you're responsible for an internal platform, it's not uncommon for other parts of the business to come to you wanting a new platform capability that would allow them to accomplish some greater goal.

This is a good thing!

It means that your platform is actually being used and is delivering at least some meaningful value, because if it wasn't, no-one would come to you asking for it to do more things.

That doesn't mean you should always agree to do what they ask though.

Let Me See Your Identification

One of the most challenging things to deal with in software development is when someone comes to you with a solution already in mind.

They've had an idea, they've given it a bunch of thought, and they've sketched out how they want that idea to be resolved and how you can help them to make that happen.

Sometimes you get lucky and whatever they have sketched out makes perfect sense. You do the thing, the outcome is achieved and everyone is happy.

Other times not so much.

Maybe their solution is misaligned with your direction or maybe it falls apart when you get into the details, but regardless, the point is that it's not going to work.

The first and most important step is to clearly and unambiguously let them know that you're not going to do exactly what they want.

The goal is to set expectations as soon as possible, because the last thing you want to do is string someone along with a bunch of non-committal responses, leaving them in a weird purgatory where they don't really know what they need to do and can't really start executing on all of the plans that they have no doubt built up around their solution being delivered.

Sometimes that's where things end and that's okay. Not all ideas are worth doing and you have to be pragmatic about these things because you don't have infinite time and money to chase every single lead.

Not always though.

Wait, I Don't Need To See Identification

There are times when someone comes to you with a solution and while the solution itself might not be something that you can help with, you get the sense that the underlying problem might be.

In this case, there is value in taking a step back and helping the person to reframe their thinking. To encourage them to step away from their solution and to instead consider why they want that solution and why they thought you were the best person to deliver that solution.

This generally involves analysis of some sort, digging into the nature of the problem itself and trying to figure out why it's a problem, how much of a problem it is and how much of an impact that problem is having on the business.

Ideally you do this with real data, but even going through this process from a qualitative perspective still has value.

The goal is to get everyone involved, all of the stakeholders, to understand the whole situation more deeply, so that they don't get stuck on one small aspect of it (i.e. the originally proposed solution).

Facilitating this sort of thing is also fundamentally a more collaborative approach than just rejecting someone outright because it doesn't fit into your current perspective, which is only going to help create better outcomes across the board in the long run.

Interestingly enough, once you go through this sort of activity with the requestee, you may realise that while their originally proposed solution wasn't something that you could help with, there are potentially other solutions that you can help with.

Or it might reinforce that they were right in the first place, and you were wrong, and while that is a bitter pill to swallow, it's still a good outcome.

Time To Go About My Business

As is often the case, this blog post was inspired by something that I actually experienced. Or, more accurately, something I am still experiencing.

I can't go into details, but the general shape of the thing was that another team within Atlassian had some problems with a process they were using to support a specific company initiative.

In short, it was slow and unreliable, which was making customers unhappy, which was having a knock-on effect on the success of the company initiative that they were using it for.

They came to us with a solution in mind; to leverage our platform to replace their current process, ideally fixing all of the issues they were experiencing in one fell swoop. They targeted us because at first glance what their current process was doing looked similar to one of the existing capabilities of our platform, and that similarity implied an expeditious path forward.

Unfortunately, reality disagreed, because while what they wanted looked similar to other things we did, it was actually much more complicated and didn't really align with our platform vision and strategy.

So we said no, which in itself was a bit of a journey, because not everyone was completely aligned as to if we should say no or how we should say no.

We still did it though and not wanting to leave them in the lurch, we tried to find a platform within Atlassian that could help them, which we did, but that's where things have stagnated a bit.

To continue the theme of collaboration, I've been working with the original requestees to try and qualify the problem they are experiencing with their current process, to see if there are any short or medium-term solutions that could help. The idea being to reduce the pressure on the long-term platform aligned solution which they originally came to us with.

No real outcomes yet, but hopefully that real world experience helps to clarify the points I was trying to make above.

Move Along!

At the end of the day, I think the main thing I'm trying to say here is that you don't need to do what people ask you to do. It's often far better to understand the problem they are trying to solve and to try and find a way to help with that instead.

If you are the right person to help, that sort of approach is going to give you a lot more flexibility than laser focusing on a specific solution that someone happened to come up with.

If you aren't the right person to help, at least you've helped them to frame the problem a bit better, which is likely to increase the chances that they are going to get some sort of help.

Be careful though, this sort of thing can be expensive from a time and effort perspective, and you can easily get embroiled in stuff that may very well have nothing to do with the things that you are actually responsible for.

Still, I think it's better to help than to just say no and walk away.