10 min read · 1,876 words
A Pivot? In this Economy?
Starting off, I’m abandoning the idea of the off the cuff Tuesday article followed by a detailed analysis on Thursdays.
There’s two main reasons:
- I was heavily using AI for the evidence and analysis for Thursday’s articles and honestly felt kinda icky about it and just don’t wanna do that anymore
- I’m not a “heavily researched and backed by statistics” kinda guy lol - I’m more a “you’ve seen this movie before you know how it ends” kinda guy
So with that, I’m making a pivot and doing whatever I feel like writing whenever I feel like writing it (as long as it’s published on Tuesdays and Thursdays lol) and sometimes it’ll be tech related, sometimes it won’t. Sometimes it’ll be practical sometimes it won’t. Sometimes it’ll be well written and sometimes it won’t. It’s like a box of chocolates - you never know what you’re going to get (because you lost the little guide that tells you what they all are and now you’re looking it up online but they look slightly different from the ones online so even though you have a rubric to tell you what you’re looking at it’s still unknown. Like this thing.).
So what do I wanna talk about today? Success definitions!
Why success definitions? Because I feel like it’s under estimated overall in the tech industry and the general world.
I probably should clarify my definition of success definition because a part of my reason to want to talk about this is specifically that we don’t do a good enough job defining what success looks like. Success definitions are just that: detailing out what success looks like — how you’re going to know you’ve achieved “success” and what it looks like in the end if you’ve accomplished your goals.
This has been a huge sticking point for me for years.
My wife and I have a running joke; when watching TV shows and movies invariably there’s a moment where something happens and if the protagonist and the antagonist just talked to one another and were clear about what they’re thinking and feeling and hoping for, all of the conflict would disappear and the entertainment would go away.
And the same exact thing happens when you’re at work, ESPECIALLY in the technology industry, but literally everywhere you see this in action.
The problem ends up being that everyone simply has different expectations for the end state of what we’re trying to build. We’ve done tons of work to try and mitigate this as an industry, through wireframes, design systems, user stories, massive requirements docs, we’ve done a ton to mitigate the risk.
But the problem persists… and the question I want to answer is why, because I think the answer is really simple: it’s hard.
This is going to be shocking to you, but I’m going to talk about AI for a second lol. The allure of AI is that it makes some of the hard things easy. And that’s a great allure! What if AI could just write all my user stories! What if it could create my design system! What if it could generate wireframes based on our design system and our user stories!
It’d be so great if we just didn’t have to do all the expository work that lets the people building the thing know what thing we want them to build. Funny enough, this has been a joke from the early days of technology. Think of Office Space! There was an entire joke around the guy who made the jump to conclusions mat, because his job… was to take the specs from the client and give them to the developer. And we rightfully laughed at how audacious that role is. Like your entire job is to translate the language your clients use to make it legible for your developers? What kind of world are we living in. That’s so stupid.
But then you get into the real world… and realize that it’s not stupid or ridiculous in any way. It’s actually crucial.
Because when you hear from clients they say things like “Make it pop”, “make it fun!”, “can’t we make this more engaging?”, “it’s a little bright”, “that’s not at all what we asked for”. And all of the other buzz word things you hear from clients. Remember the video of the guy being asked to draw red lines using green ink?!?!
This video is funny because we have been through it before.
I’m having PTSD from watching this video lol. It is illustrative of the larger problem though.
There’s two main reasons we lack consistent definitions of success:
- Lack of documentation and communication (assumptions trump requirements in this case)
- Lack of understanding of how solutions will work (people asking for things that are technically impossible or infeasible)
Sometimes they happen alone, and sometimes, these come with one another. In any of those situations though, we’re staring down the barrel of a problem.
When we’re confronting number 1, we’re normally confronting a combination of a lack of specified processes that keep us aligned (whether that’s user stories in an agile world, or it’s a detailed requirements doc in a waterfall process) and lack of clarity on what we’re actually trying to accomplish. Think of the times you’ve gotten your requirements in the form of an excel doc. Or in the form of a figma. Or the form of JUST wireframes. Or JUST a design system.
You might be able to get somewhere with it, you can build a bit and get it close visually. You might even get some flows right! But you’re not all working from the same set of requirements. You’re building into your process that you have to make assumptions in order to build products. And those assumptions are inherently going to end with misalignment and someone telling you to redo a lot of hard work you already did!
When we’re confronting number 2, it’s normally more that you have people who haven’t thought through all the pieces required to make a product actually work. I’ve seen this over and over again when getting designs without any technical resource involved. “Hey this says that we’re going to tell you about the weather… but we don’t have a weather API built into the system, so how are we getting that data?” is the type of thing you’ll hear in these situations! Or something like, “we’re going to make this so personalized it’s going to allow everyone to have their own environment!” … cool… so are we going to do that personalization on device? Does it need to be stored in a database? Is there sensitive information we need to think about how we store it? Is there portability required when we move from device to device?
How do we get ourselves in these situations, and more importantly, how do we break the cycle?
Typically, this cycle comes back to the original point — it could all be solved by talking. But there’s a limited amount of time in everyone’s day. And as we continue to commoditize everything, and move toward tracking more and more and more in order to identify “productivity” we end up stopping the organic conversations in favor of “do you have a bucket for me to bill this conversation to?”
And so why would you go enlist a developer to review your designs when you’re going to have to pay them for that time? You could just let the designers do their thing and bring in dev when it’s time to build! And why would you spend all this time writing documentation, doesn’t the agile manifesto say that we value working software over documentation and process?!
I mean, yes all those things are… sure statements you can make lol. But they also all miss the point. The reason you have to pay the developer is because they’re a professional and they’re needing to have their input represented financially. But It’s hard because there are always roadblocks, whether they’re technical (takes forever to assign a bucket) or financial (the time taken to log your various hours of helping takes longer than just doing the helping, we don’t have budget for even a few hours of someone’s time). But you need to get that help and need to represent it somehow.
Which is why we should be less worried about productivity. I know that sounds crazy. But this is my pitch… if you stopped putting all sorts of restrictions on people, needing to know what they’re doing with every 15 min block of their day, you’re just micromanaging your people instead of letting them do the job you hired them to do. It feels like it’s not a big deal, but let’s say it takes an hour to do your timesheet every week because you’re logging to 15 different buckets or something silly like that.
If that’s the case for all of your 250 person dev team, and their cost rate is something like $100/hr… you’re looking at $25k per week you’re wasting. That’s $1.3 million per year. And if your budget is only 10 million, that’s 10% of your budget on a totally worthless task. What’re you getting out of it? Just let the people have the damn conversations and take that time to do something productive! I know it’s not that easy, but it’s for sure easier than we’re making it.
Add onto that one where it usually takes 2-3 people doing an hour or two at a clip just to ASSIGN a bucket to log your time to, we’re just spending so much money on nonsense, and encouraging the idea that this is how time SHOULD be spent.
Some of this is due to just how we log our finances. Which again is an arbitrary decision. We can always change our methodology… if we just make the decision to do so.
How do we just start making those decisions though — it comes back once again to communication. You need to sit down and literally call out the things that are blocking you from doing what’s best for your employees and your business. Only once you’ve addressed that you have a problem, can you start to solve that problem! There’s all sorts of ways to then have those conversations and that can be determined by the people involved, the problem we’re solving, or any number of other factors.
The key is to admit that there’s an issue and it needs to be addressed. Which is super hard. It took me weeks of using AI to build this newsletter before I could admit to myself that it was an issue and I needed to address it. We all go through things where we just don’t want to admit that we have a problem. Avoidance FEELS easy. And addressing your problems feels SO hard.
That’s because it IS easy to avoid and it IS hard to address. If it wasn’t hard to do, it probably wouldn’t be worth doing!
So, buckle down. Be honest. Look at your situation. What’s wrong? Say it out loud. Write it down. It’s the first step to making the change you want to see.