
going to be about coding it’s going to
be about leadership therefore I will be
putting on my management consulting
jacket that’s better
super corporates today I would like to
talk about mission clarity what I mean
by mission clarity is the importance of
every single person on your team
understanding the why behind your what
every person on your team needs to
understand not only what they are
supposed to do but also the what the
intended outcome of doing that is
basically why you’re doing things so
we’re not talking about mission
statements or anything fluffy like that
we’re simply talking about leading with
a clear what and why mission clarity is
important in all organizations but I’m
going to make a case that it is
especially important in software
development because in software
development it’s often very hard to tell
whether a given task is going to be hard
or easy and quite often the software
developer at the keyboard is going to be
the only one who knows this video is
valuable to watch even if you don’t
technically have and it’s subordinates a
lot of what I’m going to talk about
today is inspired by the book extreme
ownership it’s a book on leadership
written by two Navy SEALs which are now
retired and work as management
consultants it’s one of the most clear
and OnPoint books about leadership that
I have ever read and I super recommend
it I have linked it in the episode
description there are many lessons to
learn from extreme ownership but mission
clarity is the one that I want to focus
on today because it’s one that I feel
very strongly about personally it’s one
that I have had a lot of experience with
in my workplaces and I also feel that it
is especially applicable to software
development the most important aspect
about mission clarity is that everybody
knows
why you’re doing something not only what
in the book they stress that the leader
is responsible for making sure that
everybody understands the what and the
why of the plan and also believes in it
that is easy to say and hard to do when
you are a leader in an official capacity
and you have actual subordinates which
would probably be fired or at least
reprimanded if they don’t do what you
say then it is of course very tempting
to actually make use of that power and
just tell people what to do especially
if you you’re having a bad day you’re
tired and the employee is asking in a
very rude way and that’s a frustrating
situation because you already know that
the task is the right thing to do you
have done your homework and not only
that you have already convinced a lot of
other people higher up in the
organization that it is the right thing
to do so that they have funded your
project or if you’re a start-up you have
convinced investors you have done all
that work now you just need the
programmers to do it it feels like
explaining what to do should be enough
you shouldn’t spend time explaining why
to yet another group of people when the
project is already as pressed for time
as it is however in reality if you do
not manage to successfully convince your
team about the why of your what that is
going to end up being a very costly
mistake and I’m going to tell you why
first the motivation of your team is
going to be reduced to basically not
getting fired but a much bigger problem
is that your what the tasks that you are
delegating your plan is wrong or in more
nicer terms it’s incomplete non-perfect
it’s flawed I’m going to talk about that
but let’s let’s let’s talk about
motivation first in the last decades
there have been quite a bit of studies
done on human motivation and there is an
overwhelming amount of evidence
suggesting that external incentives such
as
performs very badly at motivating humans
to perform tasks that are complex and
require lots of problem solving and
creative thinking like software
development for example however one
thing that has been shown to motivate
people in such situations is
connectedness connectedness it’s often
also labeled purpose in literature about
this topic is that you feel that your
task and yourself is connected to a
larger whole the sense that you are a
contributor to something greater that
you are a part of so if you want your
team to be motivated beyond just
performing their tasks and going home
then you need to convince them about the
why behind what you’re asking them to do
and you need that because your plan is
wrong so everybody has heard about the
expression no battle plan survives
contact with the enemy so you have this
nice and structured plan about what to
do in the mission but a land mine blows
up half your squad including your team
leader and you lose radio contact
similar disconnects happen in software
development – it’s just that you get
delays instead of casualties let’s
imagine a small group of developers that
they are given a task but once I get
into development a little they realize
that this task is going to be very very
complicated and risky to do inside of
the system and now we’re getting to why
mission clarity is so important in
software development you cannot really
tell upfront how hard a task is going to
be there’s actually an xkcd comic that
talks about exactly this person on the
Left says when a user takes a photo the
app should check whether they’re in a
national park
sure ECG is lookup give me a few hours
and check whether the photo is of a bird
oh I’ll need a research team and five
years and on the bottom it says
in computer science it can be hard to
explain the difference between the EC
and virtually impossible and this comic
is bang-on well it’s actually outdated
because it’s now super easy to recognize
birds in photos with Google’s imaging
machine learning libraries but I think
that that only makes the if point even
further and what is worse is that you
often don’t discover how hard things are
until you are a bit into development and
let’s imagine that that is just what
happened to our group of developers that
we talked about before they have
discovered and bit into the development
process something that surprised them
about how incredibly hard this was it’s
something that both they and the leader
thought was something that was very easy
to do however the way things are looking
now is that this is probably gonna be at
least a hundred times harder than the
leader expect it’s just ludicrous
the developers know that we should
probably do something else here because
this doesn’t seem cost-effective but
since developers don’t really know why
they are doing it they can’t they are
not able to figure that out on their own
and you might ask here oh well what’s
the problem the developers can just
bring this up with the leader or the
customer and they will make a call well
first of all the leader is a person and
they are not perfectly available the
developers might be working late at
night they might be in another time zone
the leader might be on sick leave on an
airplane or they might just be busy in
meetings with other teams however let’s
let’s assume that the leader is
available even then the developers might
not bring it up because if you are the
kind of leader who mainly deals in what
and not with wise you are going to
overtime and up with a team that is
trained but not as
why you have asked for this to get done
and they are gonna do it and again you
might ask what’s the problem they will
start doing it and the leader will see
that the task takes a lot longer than
expected and they are going to talk with
the developers and and course-correct
well again the leader is a person if
they manage a lot of projects or if they
were distracted by this other crisis
somewhere they might simply not notice
that some tasks that they had delegated
took that they expected to take ten
minutes to three days for two developers
but let’s assume that the team does have
an attentive leader and the team knows
the developers know that a sprawling
time schedule would not go unnoticed so
think about this now you have developers
that feel like they cannot challenge the
task and they want to deliver it within
the given time frame but they don’t have
enough time to do that how do they solve
that you solve it with hack hacking
hacking you add tech depth you do the
software equivalent of duct tape and
glue and sticks and gum of course this
tech depth just like real depth will end
up adding lots bigger problems later
down the line but the most important
thing at this point is that the task
gets done because that is what was asked
of us to do that was our objective going
back and saying that we can do this that
would be failure because we only know
the what we don’t know why and because
all of this is culturally systemic it
will be repeated over and over and over
again and eventually you will end up
with a system that is so slow to develop
in that it might as well not be moving
at all and like with all groups
psychology and cognitive bias and you
tend to fall into the trap and thinking
that yeah this doesn’t happen to me this
doesn’t happen to ask this huh this
doesn’t happen to adults this possibly
happens to junior developers and junior
leadership but don’t fall into that trap
I have seen this happen with the best of
leaders and the best of developers
what’s really nasty about it is how
easily and quickly it happens it’s just
some meeting where a developer asks a
leader about like why we’re doing this
and the leader of the project they’re
having a bad day they they they didn’t
sleep so well and their dog is at the
vet and they don’t do a very good job at
convincing the developer about the why
of the task and the developer is also
having a bad day so and they don’t want
to feel like a nuisance to the leader so
they they don’t ask for clarification
even though they don’t understand why
they’re doing this and you now have
poison in your project and this crap
also worsens in an organization where
you have multiple layers your leader
might not be able to explain and
convince you about why because their
leader had a bad day when they asked
them and it becomes this chain of
disconnectedness and confusion and which
just breeds resentment in your
organization so in summary invest time
in mission clarity I promise that it’s
going to be worth it if you are in any
kind of leadership situation take the
time to explain the why behind your
directives and ask and encourage your
team members to challenge you and the
responsibility also goes both ways if
you have a leader and you don’t
understand the why behind a task that
you were given then ask questions of
your leader until you understand it in
some teams this has gone so far that you
might actually find yourself in a
situation where you actually feel like
you you’re not allowed
to challenge the the directives and if
your culture is like that you should
really try to bring that to the team or
your manager in a constructive way and
have a discussion about heart like how
can we how can we solve this because
that is that is very destructive and
harmful to the entire organization if
you have a culture like that and if you
feel like you would be punished for
bringing even that discussion to the
table then you should probably look at
switching teams or even switching
organization because you are valuable
and you are loved and you deserve better
mission clarity it’s importantly to
spend time on it that’s my opinion but
what are yours you have an interesting
story to tell about this do you have any
reflections do you think I’m years full
of please post a positive or
negative comment down below you have
just watched an episode of fun fun
function I release is every Monday
morning oh wait hundred GMT but you will
forget that I miss it if you want an
annoying notification when it gets
released there is a little bell next to
the subscribe button in the YouTube app
that you can put press if you do not
want to wait that long you can check out
this episode that the YouTube Terminator
cyborg machine learning drones have
picked out for your enjoyment
I am mvj until next Monday morning stay
tuned [Music]