Beauty & Software Parallels
From facials to feature releases, the trade-offs remain the same

So I have recently experimented with dermal fillers. For those of you who don't know, its a minimally invasive way to plump up areas of your face that may have succumbed to the ravages of time. Anyway, I live in San Diego close to the Mexican border. And after a year of paying a fairly high price for these fillers I decided to hop the border and try a place in Tijuana. They were highly rated and the staff had good credentials.
What I learned, or rather rediscovered in my own life, is that the program management triangle of constraints is everywhere. There is the saying, "you can have it cheap, fast, or good but you can't have all three. You gotta pick two." So in San Diego these fillers are not cheap, but they are very good and overall the process is quite fast. In Mexico, I got high quality (they did a good job ... eventually) but it wasn't fast. That said, it was a third of the cost for the same service.
Why You Can't Have It All
As I was getting hyaluronic filler injected into my face these thoughts ran through my head... and I reflected on how this same constraint triangle comes up a lot in software development. Unfortunately many business leaders and stakeholders usually want all three (fast, cheap and high quality). In a perfect world, who wouldn't!? But alas, as with my dermal filler, tis not the way it's gonna be.
You see in software development you got expensive engineers who start expensive and only get more expensive with seniority. You want something done fast and high quality you are going to pay for it. Likely you are going to have to hire people with a lot of experience that can catch issues early, make a killer architectural design that will scale appropriately, and design a user flow that people love, etc. That all takes experience. Experience is expensive.
If you can't afford all that but you still want a quality product then it's going to take time. You have to be willing for those less expensive resources to redo some stuff. To make some mistakes, fix some bugs, refactor a lot, or just simply go slower. They aren't as sure as to what they are doing. Or maybe they are but the tech stack is old, legacy stuff that is hard to deal with. Maybe you aren't willing to pay for a whole rebuild and your engineers have to use outdated technologies. Either way your limited budget is going to mean its going to take more time to build that quality product you want.
But wait! Say you don't care about quality right now. Its an MVP after all. Probably still not the best idea but let's go for it. We just want it out fast and I have budget to fix whatever happens later. Ok, we can ship a semi-working MVP lickety-split.
You Get What You Pay For
In my nearly 20 years in the industry (and more years in life) I've learned that you get what you pay for. Over and over again. If you want a quality experience then expect to fork over some cash. Or spend some time. Time is money, after all. You want that quality experience fast?! That is even more money. Want to save your bucks? Give up on some of that quality. Or expect to go the long way around. It is as true in life as it is in software.
So back to my dermal fillers. I think I'm going to try San Diego again. Here's why: Mexico did a fine job and they were much, much less expensive. But they just didn't get it perfect the first time and I had to go back for a minor touch up. I eventually got the exact results I wanted but it took a bit of time to get there. With my experience in San Diego, the Aesthetic Nurses are quite good, and obsessed with perfection. I pay a lot more, but I can virtually be guaranteed it is a one and done procedure. Maybe that's not always the case and in the future I may have to balance speed and budget accordingly but I do know one thing - they both had quality products that made my face look fresh and revitalized!