let’s talk about agile software
let’s talk about agile software development from the perspective of the
development from the perspective of the
development from the perspective of the product owner here’s Pat she’s a product
product owner here’s Pat she’s a product
product owner here’s Pat she’s a product owner
owner
owner she has a product vision that she’s
she has a product vision that she’s
she has a product vision that she’s really passionate about she doesn’t know
really passionate about she doesn’t know
really passionate about she doesn’t know the details of what her product is going
the details of what her product is going
the details of what her product is going to do but she knows why we’re building
to do but she knows why we’re building
to do but she knows why we’re building the product and what problem is gonna
the product and what problem is gonna
the product and what problem is gonna solve and for who she talks about it all
solve and for who she talks about it all
solve and for who she talks about it all the time
the time
the time here are the stakeholders they’re the
here are the stakeholders they’re the
here are the stakeholders they’re the people who are going to use and support
people who are going to use and support
people who are going to use and support or in any way be affected by the system
or in any way be affected by the system
or in any way be affected by the system being developed
being developed
being developed Pat’s vision is that these people here
Pat’s vision is that these people here
Pat’s vision is that these people here will love our system and use it all the
will love our system and use it all the
will love our system and use it all the time and tell their friends about it the
time and tell their friends about it the
time and tell their friends about it the stakeholder needs and Pat’s ideas are
stakeholder needs and Pat’s ideas are
stakeholder needs and Pat’s ideas are expressed as user stories here for
expressed as user stories here for
expressed as user stories here for example if this was a flight booking
example if this was a flight booking
example if this was a flight booking system people need to be able to search
system people need to be able to search
system people need to be able to search for a flight and maybe that would be one
for a flight and maybe that would be one
for a flight and maybe that would be one user story both Pat and the stakeholders
user story both Pat and the stakeholders
user story both Pat and the stakeholders have lost ideas so Pat helps turn these
have lost ideas so Pat helps turn these
have lost ideas so Pat helps turn these into concrete user stories now somebody
into concrete user stories now somebody
into concrete user stories now somebody has to actually build a system so here
has to actually build a system so here
has to actually build a system so here they are
they are
they are a small co-located cross-functional
a small co-located cross-functional
a small co-located cross-functional self-organizing development team since
self-organizing development team since
self-organizing development team since this is an agile team they don’t save up
this is an agile team they don’t save up
this is an agile team they don’t save up for a big bang release at the end
for a big bang release at the end
for a big bang release at the end instead they release early and often in
instead they release early and often in
instead they release early and often in this case they usually release about
this case they usually release about
this case they usually release about four to six stories per week so that is
four to six stories per week so that is
four to six stories per week so that is their capacity capacity is easy to
their capacity capacity is easy to
their capacity capacity is easy to measure just count the number of stories
measure just count the number of stories
measure just count the number of stories released per week some stories are big
released per week some stories are big
released per week some stories are big so they count us – some are small and
so they count us – some are small and
so they count us – some are small and count as a half but all in all it adds
count as a half but all in all it adds
count as a half but all in all it adds up to about four to six stories per week
up to about four to six stories per week
up to about four to six stories per week some people call these story points but
some people call these story points but
some people call these story points but I’m just going to call it stories per
I’m just going to call it stories per
I’m just going to call it stories per week in order to maintain this pace and
week in order to maintain this pace and
week in order to maintain this pace and not get bogged down by manual regression
not get bogged down by manual regression
not get bogged down by manual regression testing the team invests heavily in
testing the team invests heavily in
testing the team invests heavily in automated testing and continuous
automated testing and continuous
automated testing and continuous integration so every story has at least
integration so every story has at least
integration so every story has at least one automated acceptance test at the
one automated acceptance test at the
one automated acceptance test at the feature level and most of the code has
feature level and most of the code has
feature level and most of the code has automated unit tests the problem is here
automated unit tests the problem is here
automated unit tests the problem is here are a bunch of stakeholders asking for
are a bunch of stakeholders asking for
are a bunch of stakeholders asking for all kinds of stuff and they sure aren’t
all kinds of stuff and they sure aren’t
all kinds of stuff and they sure aren’t going to be limited to four to six ideas
going to be limited to four to six ideas
going to be limited to four to six ideas per week they have lots of ideas and
per week they have lots of ideas and
per week they have lots of ideas and lots of wishes and every time we deliver
lots of wishes and every time we deliver
lots of wishes and every time we deliver something to them they’ll get even more
something to them they’ll get even more
something to them they’ll get even more ideas and ask for even more stuff so
ideas and ask for even more stuff so
ideas and ask for even more stuff so what happens if we try to please don’t
what happens if we try to please don’t
what happens if we try to please don’t try to do everything to ask for will get
try to do everything to ask for will get
try to do everything to ask for will get overflow suppose the team starts working
overflow suppose the team starts working
overflow suppose the team starts working about 10 new stories per week if the
about 10 new stories per week if the
about 10 new stories per week if the input is 10 and the output is 4 to 6 the
input is 10 and the output is 4 to 6 the
input is 10 and the output is 4 to 6 the team will get overloaded that will cause
team will get overloaded that will cause
team will get overloaded that will cause multitasking demotivation and all kinds
multitasking demotivation and all kinds
multitasking demotivation and all kinds of bad stuff and ultimately it’ll lower
of bad stuff and ultimately it’ll lower
of bad stuff and ultimately it’ll lower output and lower
output and lower
output and lower quality it’s a lose-lose proposition
quality it’s a lose-lose proposition
quality it’s a lose-lose proposition it’s kind of like trying to shove more
it’s kind of like trying to shove more
it’s kind of like trying to shove more paper into a printer to make it print
paper into a printer to make it print
paper into a printer to make it print faster or shoving more cars onto an
faster or shoving more cars onto an
faster or shoving more cars onto an already crammed highways it just doesn’t
already crammed highways it just doesn’t
already crammed highways it just doesn’t work it just makes things worse so what
work it just makes things worse so what
work it just makes things worse so what do we do about this well the scrum and
do we do about this well the scrum and
do we do about this well the scrum and XP way of avoiding this problem is
XP way of avoiding this problem is
XP way of avoiding this problem is called yesterday’s weather the team says
called yesterday’s weather the team says
called yesterday’s weather the team says well the past few weeks we’ve finished
well the past few weeks we’ve finished
well the past few weeks we’ve finished four to six features per week so which
four to six features per week so which
four to six features per week so which four six features shall we build this
four six features shall we build this
four six features shall we build this week and the product owners job is to
week and the product owners job is to
week and the product owners job is to figure out out of all possible stories
figure out out of all possible stories
figure out out of all possible stories in the whole universe which four to six
in the whole universe which four to six
in the whole universe which four to six stories shall we deliver next the
stories shall we deliver next the
stories shall we deliver next the compound way is to limit work in
compound way is to limit work in
compound way is to limit work in progress or limit WIPP WIP suppose the
progress or limit WIPP WIP suppose the
progress or limit WIPP WIP suppose the team decides that five is the optimal
team decides that five is the optimal
team decides that five is the optimal number of stories to be worked on
number of stories to be worked on
number of stories to be worked on simultaneously they’ve learned that
simultaneously they’ve learned that
simultaneously they’ve learned that that’s just enough to keep everybody
that’s just enough to keep everybody
that’s just enough to keep everybody busy without causing overload so they
busy without causing overload so they
busy without causing overload so they decide that five is their whipped limit
decide that five is their whipped limit
decide that five is their whipped limit whenever they finish one story they’ll
whenever they finish one story they’ll
whenever they finish one story they’ll accept one news story thereby making
accept one news story thereby making
accept one news story thereby making sure that they never break the limit of
sure that they never break the limit of
sure that they never break the limit of five ongoing stories both of these
five ongoing stories both of these
five ongoing stories both of these approaches work fine in the sense that
approaches work fine in the sense that
approaches work fine in the sense that the team will have just enough work to
the team will have just enough work to
the team will have just enough work to do and they’ll be able to word fast and
do and they’ll be able to word fast and
do and they’ll be able to word fast and effectively a side effect though is that
effectively a side effect though is that
effectively a side effect though is that there will be a queue forming in front
there will be a queue forming in front
there will be a queue forming in front of the team and that queue in scrum is
of the team and that queue in scrum is
of the team and that queue in scrum is called a product backlog the queue needs
called a product backlog the queue needs
called a product backlog the queue needs to be managed
to be managed
to be managed suppose stakeholders keep asking for ten
suppose stakeholders keep asking for ten
suppose stakeholders keep asking for ten new stories every week and the team’s
new stories every week and the team’s
new stories every week and the team’s delivered four to six stories every week
delivered four to six stories every week
delivered four to six stories every week that means the queue will just keep
that means the queue will just keep
that means the queue will just keep getting longer and longer right so
getting longer and longer right so
getting longer and longer right so before you know it you have a six-month
before you know it you have a six-month
before you know it you have a six-month long wish list in the backlog and
long wish list in the backlog and
long wish list in the backlog and growing that means that on average every
growing that means that on average every
growing that means that on average every story that’s team delivers is something
story that’s team delivers is something
story that’s team delivers is something that somebody asked for six months ago
that somebody asked for six months ago
that somebody asked for six months ago how agile is that so there’s really only
how agile is that so there’s really only
how agile is that so there’s really only only one way to stop the queue from
only one way to stop the queue from
only one way to stop the queue from getting out of control and that word is
getting out of control and that word is
getting out of control and that word is no it is the most important word for
no it is the most important word for
no it is the most important word for product owner and Pat practices it every
product owner and Pat practices it every
product owner and Pat practices it every day in front of the mirror saying yes to
day in front of the mirror saying yes to
day in front of the mirror saying yes to a new feature request is easy especially
a new feature request is easy especially
a new feature request is easy especially if it only means adding it to an
if it only means adding it to an
if it only means adding it to an ever-growing backlog the most important
ever-growing backlog the most important
ever-growing backlog the most important job for products owner is to decide what
job for products owner is to decide what
job for products owner is to decide what not to build and take the consequences
not to build and take the consequences
not to build and take the consequences of that decision and that’s why it’s
of that decision and that’s why it’s
of that decision and that’s why it’s hard of course the product owner decides
hard of course the product owner decides
hard of course the product owner decides what goes in and what goes out the
what goes in and what goes out the
what goes in and what goes out the product owner also decides the
product owner also decides the
product owner also decides the sequencing what do we build now what we
sequencing what do we build now what we
sequencing what do we build now what we build later and how long does this list
build later and how long does this list
build later and how long does this list actually need to be that is a hard job
actually need to be that is a hard job
actually need to be that is a hard job so Pat doesn’t do it alone she does it
so Pat doesn’t do it alone she does it
so Pat doesn’t do it alone she does it in collaboration with the team
in collaboration with the team
in collaboration with the team the stakeholders to be able to
the stakeholders to be able to
the stakeholders to be able to prioritize the product owner must have
prioritize the product owner must have
prioritize the product owner must have some idea of the value of each story as
some idea of the value of each story as
some idea of the value of each story as well as the size some stories are
well as the size some stories are
well as the size some stories are critically important now these are just
critically important now these are just
critically important now these are just bonus features some stories take just a
bonus features some stories take just a
bonus features some stories take just a few hours to build and others take
few hours to build and others take
few hours to build and others take months now guess what the correlation is
months now guess what the correlation is
months now guess what the correlation is between story value and story size
between story value and story size
between story value and story size that’s right none bigger doesn’t mean
that’s right none bigger doesn’t mean
that’s right none bigger doesn’t mean better think of any system that you’ve
better think of any system that you’ve
better think of any system that you’ve used and I bet you can think of at least
used and I bet you can think of at least
used and I bet you can think of at least one really simple feature that is very
one really simple feature that is very
one really simple feature that is very important that use every day and I bet
important that use every day and I bet
important that use every day and I bet you can think of at least one huge
you can think of at least one huge
you can think of at least one huge complicated feature that is totally
complicated feature that is totally
complicated feature that is totally unimportant value and size is what helps
unimportant value and size is what helps
unimportant value and size is what helps pad prioritize intelligently like here
pad prioritize intelligently like here
pad prioritize intelligently like here these two stories are roughly the same
these two stories are roughly the same
these two stories are roughly the same size but a different value so build this
size but a different value so build this
size but a different value so build this one first and over here
one first and over here
one first and over here these two stories have roughly the same
these two stories have roughly the same
these two stories have roughly the same value but different size so build this
value but different size so build this
value but different size so build this one first and so on okay that sounds
one first and so on okay that sounds
one first and so on okay that sounds easy enough but wait a sec how does she
easy enough but wait a sec how does she
easy enough but wait a sec how does she know the value of a story and how does
know the value of a story and how does
know the value of a story and how does she know the size well here’s the bad
she know the size well here’s the bad
she know the size well here’s the bad news she doesn’t it’s a guessing game
news she doesn’t it’s a guessing game
news she doesn’t it’s a guessing game and it’s a game that everyone is
and it’s a game that everyone is
and it’s a game that everyone is involved in Pat continuously talks to
involved in Pat continuously talks to
involved in Pat continuously talks to stakeholders to find out what they value
stakeholders to find out what they value
stakeholders to find out what they value and she continuously talks to the team
and she continuously talks to the team
and she continuously talks to the team to find out what they think is big or
to find out what they think is big or
to find out what they think is big or small in terms of implementation effort
small in terms of implementation effort
small in terms of implementation effort these are relative guesses not absolute
these are relative guesses not absolute
these are relative guesses not absolute numbers I don’t know what this Apple
numbers I don’t know what this Apple
numbers I don’t know what this Apple weighs or that strawberry but I’m pretty
weighs or that strawberry but I’m pretty
weighs or that strawberry but I’m pretty sure that the Apple weighs at least five
sure that the Apple weighs at least five
sure that the Apple weighs at least five times as much and that the strawberry
times as much and that the strawberry
times as much and that the strawberry tastes better to me at least and that’s
tastes better to me at least and that’s
tastes better to me at least and that’s all Pat needs to know in order to
all Pat needs to know in order to
all Pat needs to know in order to prioritize the backlog it’s pretty cool
prioritize the backlog it’s pretty cool
prioritize the backlog it’s pretty cool that way at the beginning of a new
that way at the beginning of a new
that way at the beginning of a new project our guesses will inevitably suck
project our guesses will inevitably suck
project our guesses will inevitably suck but that’s okay the biggest value is
but that’s okay the biggest value is
but that’s okay the biggest value is really in the conversations rather than
really in the conversations rather than
really in the conversations rather than in the actual numbers and every time the
in the actual numbers and every time the
in the actual numbers and every time the team delivers something to real users we
team delivers something to real users we
team delivers something to real users we learn something and get better at
learn something and get better at
learn something and get better at guessing both value and size that’s why
guessing both value and size that’s why
guessing both value and size that’s why we continuously prioritize an estimate
we continuously prioritize an estimate
we continuously prioritize an estimate trying to get it all right from the
trying to get it all right from the
trying to get it all right from the beginning is pretty dumb because that’s
beginning is pretty dumb because that’s
beginning is pretty dumb because that’s what we know the least so the feedback
what we know the least so the feedback
what we know the least so the feedback loop is our friend prioritization is not
loop is our friend prioritization is not
loop is our friend prioritization is not enough though in order to deliver early
enough though in order to deliver early
enough though in order to deliver early and often we need to break the stories
and often we need to break the stories
and often we need to break the stories down into bite-sized pieces
down into bite-sized pieces
down into bite-sized pieces preferably just a few days of work per
preferably just a few days of work per
preferably just a few days of work per story we want this nice funnel shape
story we want this nice funnel shape
story we want this nice funnel shape with small clear stories at the front
with small clear stories at the front
with small clear stories at the front and more vague stories at the back by
and more vague stories at the back by
and more vague stories at the back by doing this breakdown in a just-in-time
doing this breakdown in a just-in-time
doing this breakdown in a just-in-time fashion we can take advantage of our
fashion we can take advantage of our
fashion we can take advantage of our latest insights about the product and
latest insights about the product and
latest insights about the product and use your needs all this stuff I’ve been
use your needs all this stuff I’ve been
use your needs all this stuff I’ve been talking about
talking about
talking about estimating the value and size of stories
estimating the value and size of stories
estimating the value and size of stories and prioritizing splitting all that is
and prioritizing splitting all that is
and prioritizing splitting all that is usually called backlog grooming Pat runs
usually called backlog grooming Pat runs
usually called backlog grooming Pat runs a backlog grooming workshop every
a backlog grooming workshop every
a backlog grooming workshop every Wednesday from 11 to 12 one hour per
Wednesday from 11 to 12 one hour per
Wednesday from 11 to 12 one hour per week the whole team is usually there and
week the whole team is usually there and
week the whole team is usually there and sometimes a few stakeholders as well the
sometimes a few stakeholders as well the
sometimes a few stakeholders as well the agenda varies a bit but sometimes it
agenda varies a bit but sometimes it
agenda varies a bit but sometimes it focuses on estimation sometimes on
focuses on estimation sometimes on
focuses on estimation sometimes on splitting stories and sometimes on
splitting stories and sometimes on
splitting stories and sometimes on writing acceptance criteria for a story
writing acceptance criteria for a story
writing acceptance criteria for a story etc so I hope you’re noticing the theme
etc so I hope you’re noticing the theme
etc so I hope you’re noticing the theme here communication product ownership is
here communication product ownership is
here communication product ownership is really all about communication when I
really all about communication when I
really all about communication when I ask experience product owners what it
ask experience product owners what it
ask experience product owners what it takes to succeed they usually emphasize
takes to succeed they usually emphasize
takes to succeed they usually emphasize passion and communication so it’s no
passion and communication so it’s no
passion and communication so it’s no coincidence that the first principle of
coincidence that the first principle of
coincidence that the first principle of an agile manifesto is individuals and
an agile manifesto is individuals and
an agile manifesto is individuals and interactions over processes and tools so
interactions over processes and tools so
interactions over processes and tools so the product owners job is not to
the product owners job is not to
the product owners job is not to spoon-feed the team with stories that’s
spoon-feed the team with stories that’s
spoon-feed the team with stories that’s boring and ineffective Pat instead makes
boring and ineffective Pat instead makes
boring and ineffective Pat instead makes sure everybody understands the vision as
sure everybody understands the vision as
sure everybody understands the vision as a team is in direct contact with
a team is in direct contact with
a team is in direct contact with stakeholders and that there is a short
stakeholders and that there is a short
stakeholders and that there is a short feedback loop in terms of frequent
feedback loop in terms of frequent
feedback loop in terms of frequent deliveries to real users that way the
deliveries to real users that way the
deliveries to real users that way the team learns and can make daily trade-off
team learns and can make daily trade-off
team learns and can make daily trade-off decisions on their own so Pat can focus
decisions on their own so Pat can focus
decisions on their own so Pat can focus on the big picture let’s take a look at
on the big picture let’s take a look at
on the big picture let’s take a look at a few of the trade-offs that need to be
a few of the trade-offs that need to be
a few of the trade-offs that need to be made by Pat and the team first of all
made by Pat and the team first of all
made by Pat and the team first of all there’s a trade-off between different
there’s a trade-off between different
there’s a trade-off between different types of value early on in a project
types of value early on in a project
types of value early on in a project uncertainty and risk is our enemy
uncertainty and risk is our enemy
uncertainty and risk is our enemy there’s business risk are we building
there’s business risk are we building
there’s business risk are we building the right thing there’s social risk can
the right thing there’s social risk can
the right thing there’s social risk can these people build it and there’s
these people build it and there’s
these people build it and there’s technical risk will it work on the
technical risk will it work on the
technical risk will it work on the platform where you want to run it on
platform where you want to run it on
platform where you want to run it on will it scale and there’s cost and
will it scale and there’s cost and
will it scale and there’s cost and schedule risk can we finish the product
schedule risk can we finish the product
schedule risk can we finish the product and a reasonable amount of time for a
and a reasonable amount of time for a
and a reasonable amount of time for a reasonable amount of money knowledge can
reasonable amount of money knowledge can
reasonable amount of money knowledge can be seen as the opposite of risk
be seen as the opposite of risk
be seen as the opposite of risk so when uncertainty is high our focus is
so when uncertainty is high our focus is
so when uncertainty is high our focus is knowledge acquisition we focus on things
knowledge acquisition we focus on things
knowledge acquisition we focus on things like a user interface prototypes and
like a user interface prototypes and
like a user interface prototypes and technical spikes or experiments maybe
technical spikes or experiments maybe
technical spikes or experiments maybe not too exciting for their customers but
not too exciting for their customers but
not too exciting for their customers but still valuable because we are reducing
still valuable because we are reducing
still valuable because we are reducing risk from a customer value perspective
risk from a customer value perspective
risk from a customer value perspective the curve looks like this in the
the curve looks like this in the
the curve looks like this in the beginning as uncertainty is reduced we
beginning as uncertainty is reduced we
beginning as uncertainty is reduced we gradually focus more and more on
gradually focus more and more on
gradually focus more and more on customer value we know what we’re going
customer value we know what we’re going
customer value we know what we’re going to build at how so just do it and by
to build at how so just do it and by
to build at how so just do it and by doing the highest value stores first we
doing the highest value stores first we
doing the highest value stores first we get this nice steep value curve and then
get this nice steep value curve and then
get this nice steep value curve and then gradually the value curve starts
gradually the value curve starts
gradually the value curve starts flattening out we’ve built the most
flattening out we’ve built the most
flattening out we’ve built the most important stuff and now we’re just
important stuff and now we’re just
important stuff and now we’re just adding the bonus features the toppings
adding the bonus features the toppings
adding the bonus features the toppings and ice cream
and ice cream
and ice cream this is a nice place to be because at
this is a nice place to be because at
this is a nice place to be because at any point Pat and the team may decide to
any point Pat and the team may decide to
any point Pat and the team may decide to trim the tail to cut right here and move
trim the tail to cut right here and move
trim the tail to cut right here and move on to another more important project or
on to another more important project or
on to another more important project or maybe start a whole new feature area
maybe start a whole new feature area
maybe start a whole new feature area within the same product that is business
within the same product that is business
within the same product that is business agility so when I talked about value
agility so when I talked about value
agility so when I talked about value here I actually mean knowledge value
here I actually mean knowledge value
here I actually mean knowledge value plus customer value and we need to
plus customer value and we need to
plus customer value and we need to continuously find a trade-off between
continuously find a trade-off between
continuously find a trade-off between these two another trade-off is
these two another trade-off is
these two another trade-off is short-term versus long-term thinking
short-term versus long-term thinking
short-term versus long-term thinking what should we build next should we do
what should we build next should we do
what should we build next should we do that
that
that urgent bug fix or build that awesome new
urgent bug fix or build that awesome new
urgent bug fix or build that awesome new feature that will blow the users away or
feature that will blow the users away or
feature that will blow the users away or do that difficult platform upgrade that
do that difficult platform upgrade that
do that difficult platform upgrade that will enable faster development in the
will enable faster development in the
will enable faster development in the future sometime we need to continuously
future sometime we need to continuously
future sometime we need to continuously balance between reactive work and
balance between reactive work and
balance between reactive work and proactive work or firefighting and fire
proactive work or firefighting and fire
proactive work or firefighting and fire prevention and this relates to another
prevention and this relates to another
prevention and this relates to another trade-off should we focus on building
trade-off should we focus on building
trade-off should we focus on building the right thing or building the thing
the right thing or building the thing
the right thing or building the thing right or perhaps building it fast
right or perhaps building it fast
right or perhaps building it fast ideally we want all three but it’s hard
ideally we want all three but it’s hard
ideally we want all three but it’s hard to find the balance suppose we are here
to find the balance suppose we are here
to find the balance suppose we are here trying to build the perfect product with
trying to build the perfect product with
trying to build the perfect product with the perfect architecture if we spend too
the perfect architecture if we spend too
the perfect architecture if we spend too much time trying to get it perfect we
much time trying to get it perfect we
much time trying to get it perfect we may miss the market window or run into
may miss the market window or run into
may miss the market window or run into cashflow problems or suppose we are here
cashflow problems or suppose we are here
cashflow problems or suppose we are here rushing to turn a prototype into a
rushing to turn a prototype into a
rushing to turn a prototype into a usable product great for the short term
usable product great for the short term
usable product great for the short term perhaps but in the long term we might be
perhaps but in the long term we might be
perhaps but in the long term we might be drowning in technical debt that our
drowning in technical debt that our
drowning in technical debt that our velocity will approach a zero or suppose
velocity will approach a zero or suppose
velocity will approach a zero or suppose we are here building in a beautiful
we are here building in a beautiful
we are here building in a beautiful cathedral in record time except that the
cathedral in record time except that the
cathedral in record time except that the users didn’t need a cathedral they
users didn’t need a cathedral they
users didn’t need a cathedral they needed a cameraman
needed a cameraman
needed a cameraman so there’s a healthy tension here
so there’s a healthy tension here
so there’s a healthy tension here between the scrum rules product owners
between the scrum rules product owners
between the scrum rules product owners tend to focus on building the right
tend to focus on building the right
tend to focus on building the right thing development teams tend to focus on
thing development teams tend to focus on
thing development teams tend to focus on building the thing right and scrum
building the thing right and scrum
building the thing right and scrum masters or agile coaches tend to focus
masters or agile coaches tend to focus
masters or agile coaches tend to focus on shortening the feedback loop speed is
on shortening the feedback loop speed is
on shortening the feedback loop speed is actually worth emphasizing because a
actually worth emphasizing because a
actually worth emphasizing because a short feedback loop will accelerate
short feedback loop will accelerate
short feedback loop will accelerate learning so you’ll more quickly learn
learning so you’ll more quickly learn
learning so you’ll more quickly learn what the right thing is and how to build
what the right thing is and how to build
what the right thing is and how to build it right however all three perspectives
it right however all three perspectives
it right however all three perspectives are important so keep trying to find the
are important so keep trying to find the
are important so keep trying to find the balance finally there is a trade-off
balance finally there is a trade-off
balance finally there is a trade-off between new product development and old
between new product development and old
between new product development and old product improvement product backlog is
product improvement product backlog is
product improvement product backlog is actually a slightly confusing term
actually a slightly confusing term
actually a slightly confusing term because it implies that there is only
because it implies that there is only
because it implies that there is only one product and project is a confusing
one product and project is a confusing
one product and project is a confusing term – because it implies that product
term – because it implies that product
term – because it implies that product development ends a product is never
development ends a product is never
development ends a product is never really finished
really finished
really finished there’s always maintenance and
there’s always maintenance and
there’s always maintenance and improvements to be done all the way
improvements to be done all the way
improvements to be done all the way until it product reaches end of life and
until it product reaches end of life and
until it product reaches end of life and is shut down so when a team starts
is shut down so when a team starts
is shut down so when a team starts developing a new product
developing a new product
developing a new product happens to their last one handing off a
happens to their last one handing off a
happens to their last one handing off a product from one team to another is
product from one team to another is
product from one team to another is expensive a risky so a more common
expensive a risky so a more common
expensive a risky so a more common scenario is that the team continues
scenario is that the team continues
scenario is that the team continues maintaining the old product while
maintaining the old product while
maintaining the old product while developing the new one so it’s not
developing the new one so it’s not
developing the new one so it’s not really a product backlog anymore it’s
really a product backlog anymore it’s
really a product backlog anymore it’s more like a team backlog a list of stuff
more like a team backlog a list of stuff
more like a team backlog a list of stuff that the product order wants this team
that the product order wants this team
that the product order wants this team to build and it can be a mix of stuff
to build and it can be a mix of stuff
to build and it can be a mix of stuff from different products and the product
from different products and the product
from different products and the product owner needs to continuously make
owner needs to continuously make
owner needs to continuously make trade-offs between these once in a while
trade-offs between these once in a while
trade-offs between these once in a while a stakeholder will call Pat and say hey
a stakeholder will call Pat and say hey
a stakeholder will call Pat and say hey when will my stuff be done or how much
when will my stuff be done or how much
when will my stuff be done or how much of my stuff will be done by Christmas as
of my stuff will be done by Christmas as
of my stuff will be done by Christmas as product owner Pat is responsible for
product owner Pat is responsible for
product owner Pat is responsible for expectations management or more
expectations management or more
expectations management or more importantly realistic expectations
importantly realistic expectations
importantly realistic expectations management and that means no lying I
management and that means no lying I
management and that means no lying I know it’s tough but who said agile is
know it’s tough but who said agile is
know it’s tough but who said agile is easy it’s not really that hard to make a
easy it’s not really that hard to make a
easy it’s not really that hard to make a forecast as long as it doesn’t have to
forecast as long as it doesn’t have to
forecast as long as it doesn’t have to be exact if you measure the velocity of
be exact if you measure the velocity of
be exact if you measure the velocity of your team or the combined velocity of
your team or the combined velocity of
your team or the combined velocity of all your teams you can draw a story burn
all your teams you can draw a story burn
all your teams you can draw a story burn up chart like this this chart shows the
up chart like this this chart shows the
up chart like this this chart shows the cumulative number of stories delivered
cumulative number of stories delivered
cumulative number of stories delivered over time or story points if you prefer
over time or story points if you prefer
over time or story points if you prefer note the difference this curve shows
note the difference this curve shows
note the difference this curve shows output that curve shows outcome that’s
output that curve shows outcome that’s
output that curve shows outcome that’s the output and that’s the outcome that
the output and that’s the outcome that
the output and that’s the outcome that we hope it will achieve our goal is not
we hope it will achieve our goal is not
we hope it will achieve our goal is not to produce as much output as possible
to produce as much output as possible
to produce as much output as possible our goal is to reach the desired outcome
our goal is to reach the desired outcome
our goal is to reach the desired outcome happy stakeholders using the least
happy stakeholders using the least
happy stakeholders using the least possible output less is more now look at
possible output less is more now look at
possible output less is more now look at the bernam chart and you can draw an
the bernam chart and you can draw an
the bernam chart and you can draw an optimistic and pessimistic trendline you
optimistic and pessimistic trendline you
optimistic and pessimistic trendline you can do it using fancy statistics voodoo
can do it using fancy statistics voodoo
can do it using fancy statistics voodoo or you can just draw visually and the
or you can just draw visually and the
or you can just draw visually and the gap between these lines is of course
gap between these lines is of course
gap between these lines is of course related to how wavy and unpredictable
related to how wavy and unpredictable
related to how wavy and unpredictable your velocity is luckily that tends to
your velocity is luckily that tends to
your velocity is luckily that tends to stabilize over time so our cone of
stabilize over time so our cone of
stabilize over time so our cone of uncertainty should get tighter and
uncertainty should get tighter and
uncertainty should get tighter and tighter okay so back to expectations
tighter okay so back to expectations
tighter okay so back to expectations management suppose the stakeholders ask
management suppose the stakeholders ask
management suppose the stakeholders ask Pat when will all of this stuff be done
Pat when will all of this stuff be done
Pat when will all of this stuff be done when will we be here that’s a fixed
when will we be here that’s a fixed
when will we be here that’s a fixed scope variable time question so Pat uses
scope variable time question so Pat uses
scope variable time question so Pat uses the two trend lines to answer most
the two trend lines to answer most
the two trend lines to answer most likely sometime between April and
likely sometime between April and
likely sometime between April and mid-may suppose the stakeholders ask Pat
mid-may suppose the stakeholders ask Pat
mid-may suppose the stakeholders ask Pat how much will be done by Christmas
how much will be done by Christmas
how much will be done by Christmas that’s a fixed time variable scope
that’s a fixed time variable scope
that’s a fixed time variable scope question the trend lies tell us I will
question the trend lies tell us I will
question the trend lies tell us I will most likely finish all of these by
most likely finish all of these by
most likely finish all of these by Christmas some of those and none of
Christmas some of those and none of
Christmas some of those and none of those and finally suppose the
those and finally suppose the
those and finally suppose the stakeholders say can we get the
stakeholders say can we get the
stakeholders say can we get the these features by Christmas now that’s a
these features by Christmas now that’s a
these features by Christmas now that’s a fixed time fixed scope question looking
fixed time fixed scope question looking
fixed time fixed scope question looking at trend lines Pat says nope sorry it
at trend lines Pat says nope sorry it
at trend lines Pat says nope sorry it can happen
can happen
can happen followed by here’s how much we can get
followed by here’s how much we can get
followed by here’s how much we can get done by Christmas or here’s how much
done by Christmas or here’s how much
done by Christmas or here’s how much more time we would need to get
more time we would need to get
more time we would need to get everything done it’s generally better to
everything done it’s generally better to
everything done it’s generally better to reduce scope that they extend time
reduce scope that they extend time
reduce scope that they extend time because if we reduce scope first we
because if we reduce scope first we
because if we reduce scope first we still have the option to extend the time
still have the option to extend the time
still have the option to extend the time later and add the rest of the stories
later and add the rest of the stories
later and add the rest of the stories vice versa doesn’t work because darn it
vice versa doesn’t work because darn it
vice versa doesn’t work because darn it we can’t turn the clock backwards no
we can’t turn the clock backwards no
we can’t turn the clock backwards no time it’s rather annoying that way isn’t
time it’s rather annoying that way isn’t
time it’s rather annoying that way isn’t it so Pat puts it this way we could
it so Pat puts it this way we could
it so Pat puts it this way we could deliver something here and the rest
deliver something here and the rest
deliver something here and the rest later or we could deliver nothing here
later or we could deliver nothing here
later or we could deliver nothing here and the rest later
and the rest later
and the rest later which do you prefer these calculations
which do you prefer these calculations
which do you prefer these calculations are pretty simple to do so Pat updates
are pretty simple to do so Pat updates
are pretty simple to do so Pat updates the forecast every week the important
the forecast every week the important
the forecast every week the important thing here is that we are using real
thing here is that we are using real
thing here is that we are using real data to make the forecasts and then we
data to make the forecasts and then we
data to make the forecasts and then we are being honest about uncertainty I
are being honest about uncertainty I
are being honest about uncertainty I said no line right so this is a very
said no line right so this is a very
said no line right so this is a very honest way of communicating with
honest way of communicating with
honest way of communicating with stakeholders and they usually appreciate
stakeholders and they usually appreciate
stakeholders and they usually appreciate that a lot if your organization doesn’t
that a lot if your organization doesn’t
that a lot if your organization doesn’t like truth and honesty it probably won’t
like truth and honesty it probably won’t
like truth and honesty it probably won’t like agile now a word of warning if the
like agile now a word of warning if the
like agile now a word of warning if the team is accumulating technical debt if
team is accumulating technical debt if
team is accumulating technical debt if they’re not writing tests and not
they’re not writing tests and not
they’re not writing tests and not continuously improving the architecture
continuously improving the architecture
continuously improving the architecture then they will get slower and slower
then they will get slower and slower
then they will get slower and slower over time and the story burnup curve
over time and the story burnup curve
over time and the story burnup curve will gradually flatten out that makes
will gradually flatten out that makes
will gradually flatten out that makes forecasting almost impossible for Pat so
forecasting almost impossible for Pat so
forecasting almost impossible for Pat so the team is responsible for maintaining
the team is responsible for maintaining
the team is responsible for maintaining a sustainable pace and Pat avoids
a sustainable pace and Pat avoids
a sustainable pace and Pat avoids pressuring them into taking shortcuts ok
pressuring them into taking shortcuts ok
pressuring them into taking shortcuts ok what if we have a larger project with
what if we have a larger project with
what if we have a larger project with multiple teams and we have several
multiple teams and we have several
multiple teams and we have several product owners each with their old
product owners each with their old
product owners each with their old backlog for a different part of the
backlog for a different part of the
backlog for a different part of the product overall the model is really the
product overall the model is really the
product overall the model is really the same we still need capacity management
same we still need capacity management
same we still need capacity management we still need stakeholder communication
we still need stakeholder communication
we still need stakeholder communication we still need product owners who can say
we still need product owners who can say
we still need product owners who can say no we still need backlog grooming we
no we still need backlog grooming we
no we still need backlog grooming we still need a short feedback loop etc
still need a short feedback loop etc
still need a short feedback loop etc velocity is really the sum of all output
velocity is really the sum of all output
velocity is really the sum of all output so that can be used for forecasting or
so that can be used for forecasting or
so that can be used for forecasting or make a separate forecast for each team
make a separate forecast for each team
make a separate forecast for each team if that makes more sense in a multiple
if that makes more sense in a multiple
if that makes more sense in a multiple team scenario however the product owners
team scenario however the product owners
team scenario however the product owners have an important additional
have an important additional
have an important additional responsibility to talk to each other we
responsibility to talk to each other we
responsibility to talk to each other we should organize the teens and backlogs
should organize the teens and backlogs
should organize the teens and backlogs to minimize dependencies but there will
to minimize dependencies but there will
to minimize dependencies but there will always be some dependencies that we just
always be some dependencies that we just
always be some dependencies that we just can’t get rid of so there needs to be
can’t get rid of so there needs to be
can’t get rid of so there needs to be some kind of sync between the product
some kind of sync between the product
some kind of sync between the product owners starts so that they build things
owners starts so that they build things
owners starts so that they build things in a sensible
in a sensible
in a sensible and avoid sub optimizing in large
and avoid sub optimizing in large
and avoid sub optimizing in large projects it’s usually calls for some
projects it’s usually calls for some
projects it’s usually calls for some kind of chief product owner role to keep
kind of chief product owner role to keep
kind of chief product owner role to keep the product owners synchronized okay
the product owners synchronized okay
the product owners synchronized okay that’s it
that’s it
that’s it ads on product ownership in a nutshell
ads on product ownership in a nutshell
ads on product ownership in a nutshell hope this was useful to you
Be First to Comment