Soft Skills Engineering - Episode 78: Endless Rewrites and Fake Deadlines
Episode Date: October 13, 2017This week Jamison and Dave answer these questions: We’ve re-written the project I’m on 10 times without launching. What should I do? I worked hard to hit a deadline, only to find out the dea...dline was moved. How do I avoid this in the future? We talked a bit about the value of deadlines way back in episode nine if you want to hear some positive things about deadlines.
Transcript
Discussion (0)
It takes more than a great curried function to be a great software engineer.
This is Soft Skills Engineering, Episode 78.
I'm your host, Dave Smith.
I'm your host, Jameson Dance.
Soft Skills Engineering is a weekly advice show for software developers about non-technical subjects.
That was so concise.
I feel like we've taken a while to hone in on a single sentence, but that's the sentence.
I can't remember what I said, though.
Oh.
We won't be able to repeat that.
Well, it'll be lost forever because this has gone straight to DevNull.
Okay, we have a couple of good questions.
I kind of want to just dive right into them.
Let's do it.
Okay, I shall read the first one.
This is from an anonymous listener.
Hello, Jameson and Dave.
I am currently stuck on a project that has been rewritten more than 10 times without any release.
Basically, every time the designer updates a mock-up, they want me to develop it, even if they have never tested the feature.
How can I make them see that they are just wasting everybody's time?
oh ouch i i don't know about you jameson but when i write code that doesn't get shipped
that is like the most demotivating thing to me as a software developer
um i feel great because my strategy of not doing anything has paid off
it's always just a gamble that's a that's a good will this actually ship
no then i'm gonna take two weeks to go learn unity
and i guess i guess it's pretty good for the pager as well like you can't get paged for
software that never shifts that's true uptime is really high oh yeah on unshipped code i sleep
great yeah i think i've had it all wrong all these years no that is a good point it is super
demotivating especially if you work hard on something and you're proud of it and especially
if you go through that like second 90 of effort to get something ready for release
where you're at the point where uh you're just like so sick of it and just so ready to get it
out in front of people yeah you're just done fixing dumb little bugs that have popped up and
you want to find the huge disgusting bugs that will pop up when real users hit it so you're
saying even a midnight pager wake up would be better than fixing these stupid bugs well not
quite that more just like you're just ready right you've you've put so much effort into it and you
want to see how people react to it and it feels like the rug gets pulled out from under you how
about we just rewrite it instead i don't know i i know some developers who i think would love that
it's like oh i've been wanting to rewrite this piece of crap code base that i developed let's
do it yeah that's the dream sometimes right this time i'll get it right the technical parts will
be perfect there will be no bad parts i'll make no mistakes yeah i worked at a company that iterated
for years on this product and got it ready for release several times only to have these giant
brainstorm vision sessions that would result in scrapping the project and starting over with a new
uh related pretty similar concepts and then building it all again
and we eventually released it and it was out for a couple months and then the company had
to pivot for financial reasons so after years of effort and probably millions of dollars in
salary and everything uh there was just nothing to show for it because it never got released
Do you think those financial problems had anything to do?
No, they couldn't.
It couldn't be related.
Well, here's the thing.
You can't raise any funding on a bad product, but you can raise funding, I guess, on a product that doesn't exist yet.
Good point.
I don't know.
I don't know all the details about why it happened.
i i heard a little bit that it might have happened because of worrying about having one chance to get
it right and and worrying it wasn't perfect so it would just get released and if it wasn't right it
would just bomb and then the company would be doomed so postponing that doom was preferable
to finding out it was doomed oh well it makes sense i guess um yeah but literally just postponing
the doom right i i don't know i don't know that it was any more likely to succeed because it got
postponed for years i had a similar thought as you like when i read this question 10 times
rewritten how is this company still in business yeah usually money makes it so you can't do that
that's right you don't if you don't do anything for the time it takes to rewrite something 10
times like i don't know how do you have maybe it's a big company and this is a rounding error
in their budget yeah maybe to pay this team of developers for years oh man yeah so that was my
first thought how how on earth is this even possible but apparently it is so i'd say if
you're stuck in this position and you're wondering how to get out of it don't worry it'll be over
soon oh but i think the thing that would be most demoralizing is thinking you know i could have
done nothing for the past two years or however long it took to rewrite it 10 times and i would
be in the same state as i am right now um yeah that's sad so there's a i think it's a pretty
common meme not in like the funny picture way but the the shared idea that spreads way
to iterate quickly and get fast feedback from customers and it's especially among startups
oh yeah so i wonder why this hasn't reached this company there there's a lot of like frothy
inspiring blog posts you can use to back up this idea of shipping quickly and getting feedback and
the only real feedback is what you get from users and i think you have a lot of ammo to
try and convince people that you should ship faster yeah or at all i guess yeah at all is
faster than not at all um definitely i mean there's even user testing right where you try
and build the bare minimum and then just show it to a bunch of users in a room and see what they
think and that's a way to iterate and get feedback without committing to fully releasing everything
so if a big release is scary you can limit the damage by making a fake release to some users
who test it yeah it can just be some html or it could be a powerpoint or i don't know there's a
million tools to do this but the idea is you need to show it to more people than the people creating
it to get real feedback so the question asker says or talks about the designer who is continually
updating a mock-up and saying now develop this i'm gonna guess that the designer is not the person
who's causing this to not be released i'm gonna guess it runs deeper than just the designer
and if i were you i would go on a mission it's like a like a safari where you're hunting big
game to try to find the root cause of this strange situation where you're not shipping new stuff
and try to figure out where the designer is getting the requirements and figure out why
this thing is just not being released yeah this i could see this being a big company bureaucracy
thing that the 10 times without release thing means there's some kind of budget that is enormous
possibly and then just arbitrary capricious things happen in big companies when when the
scales get large enough that seem really stupid on the ground um so i could see there's being some
political maneuvering or change in strategy or i don't know which might be hard to change i guess
have you have you noticed that your company has gotten 10 new ctos over the last couple of years
yeah i mean when we talked so much about money you could just tally the cost see how much i don't
know guess how much people make and multiply that by how long you've been working on this thing for
no benefit and just show that to someone and so hey we've spent x million dollars for nothing
doing nothing yeah can we please ship yeah and see if they go hmm that's not quite enough yet
yeah yeah or if they're like wow you way underestimated how much people make
you could get some interesting salary information this could be revealing no matter what
yeah you you need to be careful not to blame someone especially the designer for for ruining
everything because uh once you say the designer messes up everything they keep redesigning stuff
and making it so i have to rebuild it it's it's really easy to just start pointing fingers and
then the designer will immediately say well you build stuff too slowly if you built it faster
then we could iterate faster on the designs we'd be done faster so um i guess i'm just trying to
caution you against finding someone whose fault it is and then saying hey this person's ruining
it for everyone we need to do something about it um especially if it's coming from higher up
that's unlikely to work out well you might have to persuade instead of instead of lead a witch
hunt against somebody and that's where all this stuff about iteration i mean if you're a big
company odds are there's some amount of like startup envy that they have they want to be cool
and hip and and all those things they think startups are and so i like that i like that
catch all yeah yeah so so i think convincing people that there's a better way might be easier
than finding who is ruining it and saying hey you're ruining this for everybody that's a good
point and on the other side of that same coin you might find that there's actually a perfectly good
explanation for this you know maybe market forces are dictating that you go one direction or another
and you're just the victim of bad luck yeah if that's the case someone should be able to explain
that to you there's some someone knows that and i mean if i was leading a team that iterated for
10 cycles however long those take without releasing anything i would be like begging
with them not to quit and like explaining everything that was going on in the company
that was making this happen and just just like slaving away to give them context about why this
wasn't a horrible thing that it looks like yeah so if if the causes are benign uh you should be
able to get an answer pretty easily to that too i guess one thing that might help explain the lack
of knowledge here is that uh in some other details that we didn't share this uh listener is actually
not in the same country as the headquarters of the company and so it's possible that information
flow is a little bit restricted and you're just getting a trickle of the information and maybe if
you had access to some of the people at headquarters you might find that it's clear to them and uh it's
just hasn't reached you you need a telepresence ball pit so what it is it's a it's a ball pit to
you you jump in it and in the other office there's a ball pit with a bunch of servos and motors in
it so it like puts the impression of your body in it that is so when you lounge yeah they'll see
like your arms splayed out and be like okay frederick is is in the office ready to talk with
us i can see his body language shifted ah ball he threw a ball at us you look like the invisible man
that movie from the 90s or 80s or whatever yeah yeah um you need something to increase the
communication bandwidth and i believe you can send a lot of bits through a telepresence ball pit
absolutely and the body language is just invaluable it is i mean that's context you
don't get over slack but you do get over a telepresence ball pit oh add chat to it yeah
okay add chat to the ball pit add you add chat to every product that's right and then you add
snapchat stories to it chat is the new email it's like you have to add chat to everything
okay okay so have we answered the question i think so i think the idea is track down the
route try not to blame someone an individual and uh relax because you're not getting paged
i i think you can change it i think it's going to be a lot of effort because you're basically
trying to change the culture from the bottom up which which could be hard but i think you can do
it if you apply yourself yeah absolutely you can get that corner ball pit you got this all right
question answered yes i'll read our next question oh i took the words right out of your mouth
take them again from the question i will this comes from an anonymous listener he says he or
she says at my job we just finished a release whose deadline got pushed back several times
over the last six months due to over-aggressive schedules and feature creep i didn't know about
the deadline change so i worked longer hours and on more things than was expected compared to my
peers it didn't really get me anything other than some verbal praise and mild burnout that's a nice
that's a nice uh bonus there that mild burnout i'm always seeking that mild burnout
something very similar sorry continue it really takes the edge off
okay uh continuing something very similar happened at a previous place i worked at so
i'm wondering if it's a general thing or just me overworking myself is there a good way to
recognize or manage deadlines that aren't really deadlines hmm i mean all deadlines are fake to
some degree yeah like in in the aggregate they're real i mean they came from something real and if
you miss enough your company's gonna die but they're very rarely just actual disaster doom
and gloom very few deadlines actually put the dead in deadline yeah yeah yeah do you if i were a more
organized man i would have a little notebook and in it on one side would be all the deadlines i'd
ever been given or created for myself or assigned and on the right would be like whether i met it
or not and it would be like and i'd be able to say yeah like five percent of the time i met my
deadline or the team met a deadline or whatever i feel like it's got to be a pretty low percentage
so all the more reason you don't want to kill yourself to try to meet it right yeah on the one
hand but on the other hand you don't want to be the schmuck who causes your team to miss the
deadline right yeah i don't know that guilt is a very good long-term motivation for work though
I don't know. I've kind of built a life on it.
It's working great for me.
So how do you become, so whether the deadline is real or not,
you certainly don't want to be working toward a fake deadline.
And it would be great to know why you have the deadlines you have in the first place
so you can really understand what the repercussions are if they're missed, right?
Yeah.
So I think that's kind of the key here to this question,
which is how do you stay on top of the deadlines, especially if they change,
and especially if they're artificial in the first place and i think the answer is that you hack your
ceo's calendar and there the truth will be revealed oh i thought you're gonna say you just
move it by half an hour every hour or something the deadline slowly drifts away yeah to mimic what
is actually happening in the work you're saying hack the calendar find out that they have a
meeting penciled in with yes i don't know some some person to show it off yes or i so oh go ahead
i was gonna say write a little script that hacks the calendar pulls down the deadline information
and then emails you if it ever changes there you go have you ever been in a situation where
there's been some deadline that was causing you stress or pressure and then you have found out
it's been for the dumbest reason just arbitrary the person who made it was like i don't know i
guess this day oh and they don't need they like forgot about it and don't even care um
probably that's that's definitely happened to me where i i'm just like slaving away i'm so
stressed out about it i i might come up to them and be like i don't know if we're gonna make it
man like blood dripping from my wounds and they're like oh that old thing oh that got pushed way off
and i totally or like that wasn't the meeting i had it for got canceled what do you know
so go ahead i haven't seen it be that flippant but what i have seen is that people will put
deadlines they'll impose deadlines that are really far out so they seem just super easy
and achievable but then no one remembers to plan for that date and then the date comes
and then it's like a month away and everyone starts freaking out oh i haven't seen that as
much i've seen it more where it just filters through a lot of different layers of communication
and the urgency gets increased at each layer yeah until the people who are responsible for
implementing it are feeling a lot of pressure and the person who created it is just like
it'd be cool if it got done here because i'm gonna have this phone call and it'd be nice to
have it for the phone call turn and then it turned into like a drop dead date yeah yeah
like staying up all night swapping out punch cards in real time on the main frames so i think we
answered the second question here first which is is this common or is this just me sounds like it's
pretty common oh not knowing about it feels weird to me if it changes you mean yeah deadlines
changing is is very common in my experience but i usually know about it when they change yeah
that's been my experience too in fact it's usually such good news that everyone just can't help
themselves but spreading the news far and wide hey yeah did you hear that our deliverable date
got shipped back a month isn't that great yeah yeah it's like the water cooler it's all people
talk about yeah either that or or feature reworks have happened to make it easier to hit the
deadline or something there's always some sacrifice but it's never a surprise yeah so here's how you
know if you missed the memo somehow but you've started to notice that your co-workers are going
home like two hours earlier than usual for a week or two probably a deadline pushed back
i wonder if this could be uh i mean you mentioned going home two weeks earlier
i wonder if this could be like a underhanded tactic to motivate people and deadlines get
used to motivate a lot actually and and if you think well we just won't tell them it shipped
it's like how i get my family ready to go places and i tell them we need to be there before we need
to actually be there and then then you get there on time well sometimes depending on how long it
takes to find your kids shoes yeah usually it's me making a slate honestly so and i know the real
deadline so it doesn't help me you can't trick yourself but no i i am way too smart for myself
i'll outthink myself every time but i yeah i wonder if this is just a sneaky tactic
and it's working on you could be that would be pretty mean yeah yeah it would be so let me tell
you a little habit that i've gotten into and mostly it's because i'm just so darn stubborn
and kind of jaded and that is that anytime i get a deadline i ask where it came from
like where's what's motivating the deadline and uh this is sometimes a hard question to answer
because some people just take a deadline like your manager and just run with it they're like
we will do this yes sir you know like salute let's do it and then they come down to me and
i'm like where'd that deadline come from they're like uh well i don't know but my boss said it's
a deadline so i like to push to know like what's motivating this is it like an industry event
Is it a school calendar thing?
Like, I know you had that at one company, right, Jameson?
Yes.
Is it like a, is it a customer-driven thing?
Or did it just come from some manager's head?
Like, they're like, this is the date that I want it.
And I want to know that.
And I think a lot of times knowing the root of the deadline will help you to better track
if it changes.
Yeah, that's a really good point.
It does feel like someone is dropping the ball somewhere if you don't know about the
deadline.
I don't know.
That's real weird.
Another thing to look at is look out for heroism, I guess, individual heroics, especially in
pursuit of, of aggressive deadlines.
I think it's different if you are on a team that is committed and working really hard
and, and has chosen to commit and work really hard.
But if you're just the lone person working those extra hours and slaving away and cranking
you get stuff done that feels real bad especially when you find out the deadline which didn't get
hit oh yeah and then when you find out it just like changed and was arbitrary the whole time
it was no big deal so yeah i i i think companies are happy to take as much as you will give them
oh yeah and you don't need to give them that much especially in pursuit of unrealistic or
arbitrary deadlines. So I was thinking back over the last few years about deadlines that I've seen
and been aware of. And I don't think this has ever happened to me where the deadline got pushed back
without me knowing about it. And one of the things that I do is if you have a sprint retrospective
that you do periodically, or a sprint planning meeting, and that you do regularly, that is a
good place to review what the deadlines are that your team is delivering on at the start of each
sprint like what are we delivering for and then make the whole team aware and uh um it's a good
time to review because that's where that's where you're planning right that's where you're actually
putting together the list of tasks that you're going to be executing on and trying to decide
if you can meet that deadline so this should be like a regular discussion that happens in your
team and if you don't have a mechanism to make that discussion happen you need one and uh it
might be the fact that you didn't know about this uh due date getting pushed back might actually
just be a symptom of you not having a regular mechanism for communicating this stuff yeah yeah
that's a good point i i really like the idea of having it a part of the meeting because it if the
deadline is real it should affect what you do like yeah if you have to hit the deadline then you need
to plan on who's going to do what to finish all the stuff you have or how is this stuff you have
left to do going to change so that you can achieve it all good words those are good words good job
dave oh i thought your words were good oh well i was paraphrasing your words oh great that's good
yours were the good ones okay yours were just derivative words yes well i do i do think it's
interesting that you this listener has been just working super hard to try to meet this deadline
that turned out to be fake meanwhile the co-workers are not and did you notice like
I it must maybe it's an isolated work area or something like what I just have a hard time
imagining a scenario where I'm just busting my chops every day and my co-workers are all kicking
back in the ball pit you know and I'm like yeah I guess they're just lazy I don't know like what
happened you know I would probably do a little introspection there and try to figure out how I
you know became the hero and everyone else was just chilling well have we answered the question
more or less about as good as we ever do okay well in in two weeks we'll answer it even better
i promise okay what in a deadline well once maybe if we had a little schedule pressure we'd do a
better job yeah we did talk about 30 seconds left to do the outro oh go ahead let's see here we had
oh yeah episode nine this was a pretty good episode about deadlines and maybe it'd be worth
go back and see if we disagreed with ourselves there but it was basically that was more like
self-imposed deadlines i think i think it was the like our deadlines ever good i guess yeah like are
they effective yeah i remember talking about how they it can be tempting to not get anything done
to to iterate for 10 cycles without releasing anything without deadlines oh man worlds collide
that just happened yeah that's why i picked these two questions because they go together that's
right you're such a good planner thank you well question answered i think good luck best of luck
and we will give you a deadline of three weeks from today to write back with how our feedback
worked for you yes and we may or may not change that deadline between now and then you better
check in and see uh we'll let you know in three weeks if the deadline held or not that's right
dave where can people go if they would like to have their questions answered you can follow
the masses of people this week who went to our website and filled out the form to ask a question
we literally had like triple the people this week uh i don't know what happened in the world
a whole bunch of thank you so much a whole bunch of soft skills crises were playing out this week
i think and we heard your cries and we will respond what did yoda say when when they destroyed
that planet with the death star something something silent voices millions of voices
crying out that's what we heard yeah so anyway you can go to soft skills.audio you can that ends in
them all dying oh this will end and you feeling smarter and better that's right and knowing what
to do or not that was another setting on the death star ray i believe it was the you flip a switch
it it just like clears away your anxiety just blast the whole planet with it
i could use one of those occasionally yeah what would you call the life star the life star
it's a friendly moon that's no moon it's an anxiety washing away battle station
it's the friend star the hug star
the therapy star yeah okay enough of that silly joke that was just silly okay anyway you can go
to softskills.audio and click ask a question up there it will present you with a beautiful
on theme color-coded google form where you can give us details about your problem slash question
or and you can give us as much information as you want about yourself or you can remain
perfectly anonymous. All right. Thank you so much for listening. We'll catch you next week. Bye-bye.
