Five whys: The startup immune system, Part 1
venturehacks.com
venturehacks.com
Problem: Applying the drug to the latest version of the device in the usual way gives a messy coating.
- Why is the coating messy on this design? Because the device's surface can't hold this much drug.
- Why are we applying so much drug? Because the previous products used the same dosage.
- Why was that dosage chosen? Because, in an animal study using sample size N=1-3 for each of three different dosages, this did slightly better than the other two. No further investigation was ever done. EOF
- Why can't this device cleanly carry as much drug as previous designs? Because the surface properties and geometries are different.
- Why did we change the design? What properties did the other design have that resulted in a clean coating? Because a partner company wanted out of the biz, created a durability test no existing product could pass, and used that to torpedo our product. And, wait, that design had a problem with the coating, too.
- Why didn't we catch these coating problems in previous products? Because quality is fucked in this pilot facility, and our other manufacturing facility is still trying to get up to speed with the first product made with this manufacturing method, and unable to duplicate our allegedly flawless results from two years ago.
- Why are we unable/unwilling to do serious QC work here? Or even basic science? We think the CEO doesn't intend to pass regulatory requirements or even launch most of these newer products, so it doesn't matter. These projects are window-dressing for investors. Yes, of course we're all looking for new jobs on the side.
As it turned out, the real benefit to asking all of these whys was that I was able to abandon ship at just the right time. Shortly before I left for another job, having challenged the CTO about the scientific feasibility of his latest escapade during a meeting, a senior engineer showed me some years-old pictures of a device with exactly the same physical design as our flagship product. This young engineer was enlightened.
Beware that if you work for BigCorp this will make you unpopular.
For example, the amount of hoops I had to jump through to be allowed to fix some old code at my last job was astounding, even though the bugs had literally caused man-years of lost work, and eventually took me about 2 weeks to sort out.
Suppose now you were hired in to this position and you actually do a lot about databases. Now, your company gets a call one day from your biggest customer that while they've been putting up with your product getting slower and slower over time (without telling you of course), it's finally gotten to the point where "queries take over an hour and we really need them in less than 5 minutes"/"our daily reporting process now requires more than a day to complete" (which means the system clogs up with nothing but reporting processes, eventually)/"we've been sued and the court has mandated that we turn over some data by next week and we compute it'll take two months"/"the CEO just tried a query that took an hour and now he wants to cancel the contract"... or so on, you get the idea.
This critical problem comes back down to you, and you realize that the only way to fix it is to entirely restructure the databases using better practices. Conceptually, this is trivial. However, since every single part of the system is built around this data system (and of course, there's no abstraction, everything uses the key/value store directly), the combination of the amount of time it would take to write the new schema, modify every program file in source control to use this new schema, write the migration script, and potentially even the time to run the migration script for the customer (during which time they will be off-line, which could be days, and which could be anything from unacceptable to impossible), oh, and testing, don't forget testing, could in fact be longer than your company can survive with a pissed-off major customer.
And if one customer is pissy now, it means every single other customer you have is a ticking time bomb.
(Everything in this message comes from things I've seen more than once in my professional career, except the hypothetical about getting sued (thank goodness). I'm not providing details because there are thousands of companies that could fill in the above!)
Your technical debt margin just got called. You couldn't cover it. It wasn't even your technical debt, but who cares? Buh-bye!
Why?
It demonstrates a desire to improve and understand, both toward yourself and toward those who you ask "why?". Superficially, improvement is a good thing, and worth the devoting of a lot of rhetoric. But it comes with a lot of extra work, and with the admission that the way things are done now aren't optimal. So, it rubs people who are either lazy, apathetic, or egotistical entirely the wrong way. You'll also chaff indirectly those who are authoritarian in nature, and put faith in the management above; it's the same reason people get irritated when you question their deity's righteousness. If they're coworkers, they'll get spiteful; you're making more work for them now, and it either doesn't occur or doesn't matter that it means less drudgery later. If they're up the management chain, they'll wave authority in your face; it's the easiest way to short-term tranquility and an ability not to adopt a similar change ready attitude.
This is not an endorsement; just a reflection. This is the way it seems to be, but it doesn't have to be a truism you just begrudgingly accept. Being unpopular doesn't mean you're doing the wrong things, and jeopardizing your future and well-being. Maybe at BigCorp, but how long before misery and desire to do better would drive you away anyway?
Long reflection, sorry. But I hope this helps answer the why, and I hope your question was not rhetorical. ;-)
however, myself being one of those at the bottom, I definitely like stirring things up in the bigco where i'm currently employed.
I really try to get along with everyone and see each side of a story. that said, there are times when people can be unreasonable and I figure I can't please all people all of the time.
I believe my colleagues and even upper management understand where i'm coming from when I tend to disrupt their plans a bit. my manager even reminds the execs who I am saying, "that's just the way tom is". I haven't figured out if this is a good or bad thing as of yet - good. I guess.
I think the people I work with value my opinion and I understand that once my voice has been heard there's nothing really more I can do that moment to push my ideas and get them implemented with management's blessing. sometimes, some things still go forward without their approval but this is not the norm with me.
I take the oportunity whenever it avails itself to remind them of my ideas, gently nudging them in my direction. I follow up with research i've done which makes it's way into their inboxes. from what I can tell, a little persuasion and a lot of repetition has it's advantages.
one thing is for sure. there is definitely a give and take in any dealings with people. I guess one must be prepared to lose a battle which can lighten the initial blow of rejection. just don't think the war (your cause) is lost due to one conversation across a conference room table.
I guess if the five why's don't work you can use the one big bye.
i really like discussing the personality of bigco management and simply wanted some more input than just 'beware'.
thanks.
That sounds like a defensive statement to a negative impression, to be honest.