📺 Develpreneur YouTube Episode

Video + transcript

Defining 'Done' in Agile: How to Stay on Track and Avoid Scope Creep

2024-09-03 •Youtube

Detailed Notes

In a recent episode of the Developer Building Better Developers podcast, Rob Broadhead and Michael Meloche delve into the nuances of Agile development, with a particular focus on defining and achieving “done” within Agile frameworks. This discussion is critical for developers who aim to deliver functional software efficiently while avoiding common pitfalls like scope creep and burnout.

Read More... https://develpreneur.com/defining-done-in-agile-how-to-stay-on-track-and-avoid-scope-creep

Stay Connected: Join the Developreneur Community

We invite you to join our community and share your coding journey with us. Whether you’re a seasoned developer or just starting, there’s always room to learn and grow together. Contact us at [email protected] with your questions, feedback, or suggestions for future episodes. Together, let’s continue exploring the exciting world of software development.

Additional Resources * Getting It Right: How Effective Requirements Gathering Leads to Successful Software Projects (https://develpreneur.com/getting-it-right-how-effective-requirements-gathering-leads-to-successful-software-projects/)

* The Importance of Properly Defining Requirements (https://develpreneur.com/the-importance-of-properly-defining-requirements/)

* Changing Requirements – Welcome Them For Competitive Advantage (https://develpreneur.com/changing-requirements-welcome-them-for-competitive-advantage/)

* Creating Use Cases and Gathering Requirements (https://develpreneur.com/creating-use-cases-and-gathering-requirements/)

Transcript Text
[Music]
and there we go we have figured out
where the record button is because they
move it around because I love I'm not
going to name who they are but they may
start with the last letter of the
alphabet um this episode we're following
up from the prior one and we're going to
go into the agile world
of it took you a second to get that
didn't
it um anyways this time we're gonna go
into the agile world of scope creep
everybody's favorite like actually it's
everybody's favorite Boogeyman I think
everybody is always worried about scope
creep and all this kind of stuff and yet
every project seems to have it but
particularly in the agile world and I
think that's where we're going to go
with this one is how
to how to manage it really because
that's sort of what it I mean agile is
really built on we don't really know
what the finish line is yet we sort of
know where we're
going but we want to be able to change
gears but you still need to and this is
I think where it really is uh it can be
done by the the scrum master but it's
usually going to be more like the
product owner with in combination with
the team the development team is
basically how do we keep this stuff on
track how do we keep it from going off
the rails how do we get something that
is useful and not let the customer just
bury Us in last minute things this
actually even it's interesting because
it ties into something we've talked
about before uh I don't think we ever
talked about on the podcast but where
we've talked about when we get close to
the end of a product that we're
building it is very particularly if it's
our own
product we stretch out the Finish Line
basically because we're like oh I want
to put this in there I want to put that
in there I need to do this I need to do
that I want to do this we keep piling
stuff in instead of stop it give it a
like this is your definition of done and
I think we're the worst when it's our
own product because we don't think about
saving ourselves from that little living
hell and yet we you know it is something
that we run into so we can also I think
we can empathize with our customers but
that's where you have to have those
conversations that we'll talk about as
we get into the podcast but I think
that's what I want to focus on is how
agile does not stop us from having
things like what does done look like and
some of those things and we as you
talked about earlier maybe we talked
about some of the ceremonies and things
that will help us uh keep those things
on track is this a good one to also
include
when the communication breaks
down with between the different
departments because I ran into a
situation similar to this where we were
we've been really good at hitting all of
our Sprints you know we're on track and
then
somehow a epic we were working on was
conceived by business to be done but we
weren't
done and it was not done because tickets
weren't created by the developers by the
product as needed and then people went
on vacation and we had lots of
miscommunication during that time so I
don't know if that's a good one for this
one or save that for another one um I
think I don't I think it's probably a
good one to step into it's communication
is always key with all of these things
and it really is the I think that's the
the nut of what this story is about or
what this episode is going to be is it's
really about communicating that how to
do that and making sure for example
that's a great example of where things
can go wrong is where you know people
assume that there's some features or
something in there but it doesn't get
created right and the next thing you
know somebody thinks because the backlog
is empty everything's done but it the
problem is because the backlog was not
properly filled goes back to missing
requirements effectively um so I think
that's a good I think that's a good
example to use of where things can go
horribly wrong to some extent or maybe
completely to an
extent all right so we'll dive into this
one
one hello and welcome back we are
continuing the Journey of a developer as
we're talking about being building
better developers and this is the
develop andur podcast I am Rob Brad I
one of the founders of develop andur and
also a founder of RB Consulting where we
help you tame technology through
simplification Automation and
integration we take all of that crap
that's out there and find ways to put it
all together in a nice pretty bow on it
and all that kind of stuff so that you
can use these things and not have 15,000
logins or having to do a lot of manual
imports and exports and all of that
stuff that is a headache now one of the
things we do is we talk about what's
good and bad that's happened since the
last time we talked so from a good point
of
view I'm going to start with I actually
have a couple of customers right now
that there is
the the budget the bandwidth to do it
right you know a lot of times we get
into stuff and they're like it's like
it's got to be done today it's got to be
done with it like cut hours cut testing
cut this cut that you know documentation
can be done later and things like that
where they keep cutting Corners to try
to hit their deadlines but they're
they're really sort of hurting
themselves and they get to the end and
they're like well I've got something
that's completely you know it's it's not
done and you say correct it's not done
because we didn't put the time in to get
there and I've got customers that are
able allow me to do that and it is so
fulfilling to be in a situation where
you can actually apply all your skills
in doing things the well say in quotes
the right way but being able to do that
uh bad thing
is bad thing I guess is my kids are I've
got like I'm going to be an empty nester
soon and one of the empty nester one of
them that are flying The Nest is going
to be like this close and for those that
can't see it which is some of you a lot
of you maybe um very close I've got my
fingers all the way together uh this
close to being out of money and so it's
already like he's going to be able to
get in and he's going to have to grow
some vegetables in the backyard or
something wherever he's at because it's
like dude your budget is like your
Runway you're gonna you're going right
off the Runway so we're gonna have to
work on that bad news too long on that
so I'm gonna pass that on to you and let
you introduce
yourself hey everyone my name is Mikael
milash I'm one of the co-founders of
developer building better developers I
am also the founder of Envision QA where
we help businesses and analyze their
software to
identify basically workflows that are
either not in the system or find better
ways for their software to work for them
instead of against them so with that
I'll go into my good the good is one of
the projects I'm working on while we are
in a bit of a time crunch because of the
necessity for their change we are taking
the time and they're willing to work
with us to Define these requirements
correctly so we avoid a lot of the
things we're going to be talking about
today on the bad
side my wife bought this wonderful TV at
Christmas last year and it's gotten to
the point now where we've tried moving
it around the room a couple different
times but because of where they put the
speakers we can't hear people speak at
all so I had to buy another external
speaker more cost hopefully this thing
works but right now I'm not holding my
breath
ah that is my favorite I ran into that
just the other day with some I'm trying
to remember what it was but it's one of
those where it's like you have to use
close captioning because the speakers
and such are just not where they should
be or they have bad audio it's like one
of these things where all these soft
talkers and there's loud stuff going on
and you put in close captioning and
suddenly you see it's a whole different
show it's a whole different story
because that's stuff that you miss
because they don't get the audio
right old right
yeah that's that's for another topic we
can have like a we can have a venting
session I want to talk about agile this
time and with respect to done now one of
the things that we have talked about in
the past in both for career and for
projects are the idea of road maps and
it is in the agile world you have these
like epics and things like that so it's
not there are things that span multiple
Sprints but an epic doesn't necessarily
get you a product what I think you need
to really have and I found that has
worked the best when you're going into a
an agile approach is that you have an
MVP which is a minimally viable product
and that's from the start from Sprint
one you have them in an MVP which is
very hard to say together but you have
that and yes it will it will be adjusted
basically as you're going from Sprint to
Sprint to Sprint but what you should be
able to do then is show progress towards
that product that you're going to
release now of course in a Sprint
technically if you're doing them right
you have a usable deployment of software
at the end of every single Sprint now we
all know that that does not always
happen there are cases where usable is
I've got a login screen and I can log in
okay great that doesn't really help me a
whole lot there are going to be situ or
maybe you have to go to Sprints you
don't release this one because it's just
too many things in flux I get
that but that should help because you're
going to show some usable things along
the way that are and usable is obviously
it's a soft definition of what usable is
but those should be marking you towards
your MVP your MVP is your why that is
why we are going through these Sprints
we're getting to this thing that is what
helps us Define done because if we have
all the features that we decided were
going to be the minimally viable product
in that yes we can continue but at least
at that point we know that we are done
we'll say that we have completed that
project now that doesn't mean that you
set it up on Sprint one and you don't
think about it again until Sprint 10 it
does mean that that is a living thing
just like everything else but it gives
you it gives you like an anchor it gives
you a foundation it gives you a core
because you can look at that as you're
going from Sprint to Sprint to Sprint
and I'm going to let Michael talk a
little bit about some of the the things
about agile that may help you with this
but what you're going to do is you're
going to have conversations effectively
about this is a big change to the MVP or
this is a minor change to the MVP or I'm
gonna go on mute for a second because
I'm about to sneeze oh wait maybe not
wait apologies you can always edit that
out or not because hey that's We Roll
um as you're getting to that mvp there
are going to
be changes maybe that are made to it
that are big that are substantial and
those are the things that you want to
communicate back to the product owner to
the customer that we have now made a big
change so it may be a big change that
says we are effectively back to Sprint
one or this is now going to add multiple
Sprints of function
it and even within that as you're going
from Sprint to Sprint to Sprint there
should be there's if it's done right
you're always also looking ahead the
product owner the scrum Master are
looking
ahead and if you're starting to look
ahead and you're seeing nothing but
we're just adding just adding just
adding we're not really getting closer
to that then those are the kinds of
things you need to bring a heads up to
say hey this is going beyond the scope
of what we originally talked about this
is going Beyond we talked about as a
comfortable Runway to get this thing
launched because
those those require those are like meta
or core requirements to the project it's
not requirements when we're talking
about software requirements these are
requirements like we only have X amount
of dollars or x amount of resources or x
amount of time or there are you know
maybe there's regulation authorities or
stuff like that where we have to have
certain stuff by a certain time period
which become yes that's your MVP that's
your why those are the things that if
you're moving off of that mvp if you're
pushing back that those should always be
discussions that's a great communication
point to say hey we're making some
changes and we just want to all agree
like when you first make them we want to
all agree that that makes sense and
that's going to work so we don't get in
a situation where we try to bite off
essentially bite off more than we can
chew as part of that I'll toss it over
to you and let you you go you know sort
of step into that from your point of
view yeah so typically either when
you're first starting out or if you're
already in a release cycle system with
agile one of the key takeaways with
agile which is supposed to help avoid
some of this scope creep and some of
this uh bloat or
unforeseen uh requirements is your daily
standup you know you you meet as a team
you talk through what you're working on
uh are you blocked by anything did you
run across something that is in of
itself requiring a requirement from
something else that either wasn't
thought of or another piece of work
that's being done that is behind holding
you up or did you just get ahead uh and
so on so we moved our tickets through
the process of you know we're working on
it it's in progress we're blocked
testing and so on the other thing is
when you move it to testing did the
tester run across a scenario that wasn't
thought of you know did you have a
special character that was supposed to
work that's not working as expected so
there are other things that at least
within the standup process you catch
daily and these things can get flagged
and hopefully addressed quickly either
individually with one-on ones or as a
team as a whole the other thing as
you're going through the process at
towards the end of every Sprint you're
going to have a backlog refinement where
you're going to sit down as a team with
the product owner the business owner and
go through the requirements for the MVP
that you need to work on for the next
Sprint you know what are the next batch
of features that we need to roll in or
what tickets from the current Sprint are
potentially going to roll over because
we're running into some difficulties or
it's taking more work or we we hit some
type of blocker that caused a little bit
bit of time uh you know scope to be
added to the
ticket and then when you get to the end
of the Sprint you should always do some
type of Sprint burndown go through your
tickets that you just completed in the
previous Sprint and identify you know
what went well what didn't go well uh
what requirements you know did we miss
uh and make sure all that gets put in to
tickets if that is either not
communicated to the business or not in
tickets it's going to be missed you're
going to run into situations where you
know someone could go on vacation for a
month come back be your manager product
owner and they think everything's going
to be done based on the timelines and
then they come back and it's like yeah
it's ready to go we missed a feature so
now it goes out and you have an unhappy
customer or the product doesn't even
work it breaks so now you have more
deadlines or more delays trying to get
this software out the door so by doing
the uh kind of burndown
and uh end of Sprint review you
collectively as a team hash out what you
can do to make things better what can
you do as a team what would essentially
is your development agreement to keep
things moving forward to get these
tickets done right get the right
requirements into these tickets and also
make sure that as a team you have a
collective understanding of what the
definition of done is is so as you work
on these tickets you're not just
throwing the ticket over to test with
one line uh of change that doesn't
address all the the issues that were in
the ticket so you don't want to miss
things that you're you should be doing
causing tickets to go back and forth
through different phases that are
happening because you didn't do the work
right the first time now the other side
of that is don't sit on a ticket for
days trying to make sure it's 100% right
because again we're shooting for that
mvp but if you run into blockers if you
run into situations where this ticket
should have taken like a day or two but
now you're on day three maybe day four
maybe it's time to bring it up and stand
up or collectively have a team huddle
and say let's hash this out I'm stuck or
something's just not right so you kind
of have to communicate work together to
get back on track so again your Sprint
moves smoothly you're going through the
right Peaks and valleys and your
software is continuing to move down that
mvp towards your deliverable at the end
of the
spring two things are really important
there one that's probably a little bit
off of the scope creep thing but I do
want to touch on when you pick up a
ticket there is an estimate attached to
it and that is often that is a huge part
of what you should have in your mind of
like what level of coding of what is the
scope of this what is it that I should
be dressing if it's a if it's something
that roughly should take you you know
half a day and it's into a full day and
you're still not done with it those are
like those are little Flags to say hey
let's raise that up in the Sprint or in
the standup or ideally before you get
into it if you think it's going to take
longer than that that should be part of
the estimate discussions so it should be
clear on what really is the what is
really contained within this ticket and
again it also helps you Define what's in
the it helps you write a better ticket
because if somebody says you know if
you're scoring it on a scale of 1 to 20
and bunch of people say one and a bunch
of people say 20 that's a good point to
say okay we need to talk about what does
this mean because obviously we have a
very different picture of what this
project is now I really want to look at
the U at the burndown the retrospective
kind of piece of a Sprint because that
is also something where
we can very easily get into the mode of
we you know we get a couple tickets done
but we push a couple into the next
Sprint and into the next Sprint and into
the next Sprint and very often when
you've got a team working on you know
they get in that retrospective like what
went well what didn't usually what
you're end up finding is somebody's
going to say hey we keep like punting
stuff to the next Sprint this is going
to bite us at some point we need to
figure this thing out we need to
estimate better we need to project
better whatever it is because if you're
still kicking stuff forward then that
technically means you're probably
somewhere down the line pushing out your
release dates you can't keep doing those
things and those should be a heads up if
if we're seeing this that may be
something that you say okay in the next
Sprint one of the things we're going to
do is we're going to walk through and
look at what are we doing why are these
slipping and then make those adjustments
because it could be that it could be
from almost anything it could be the
tickets are not being the requirements
are not deep enough and so we're
spending too much time kicking those
back we're in a cycle trying to flesh
those out it could be something where
nothing's being Mark done until the last
day of the Sprint and then QA doesn't
have time to test it all and then all
that stuff gets kicked into the next one
it could be anything in between those as
well and it could be things like scope
creep it could be things where we
originally had this picture of what the
MVP was but as we're getting
clarification from Sprint to Sprint it's
changing what that mvp is and maybe we
haven't looked at that enough to say hey
we are now expanding on that or we're
shifting it in some way form or fashion
that is now something we need to
communicate back to the powers that be
the people that sign your check the
customers people like that to say hey
this is not where we started what we
talked about and where we thought we
were going to go we're not going there
it would be stuff like you know you
start in Washington DC and you're like
oh we're just going to go to
you know Cincinnati but along the way
you realize you have to go all the way
out to San Diego if you guys don't know
geography Google Maps but you know it's
one of these things is that those things
can be and we've had those kinds of
situations there are projects that are
so much like that where it's like we're
going to go to this little place that's
not that far away this is like a this is
easy I that is the worst thing to hear
in software development this is gonna be
easy that's easy that's no problem yeah
just use that piece of cake that is
should always be a red flag there's Pro
what if it's not just ask that question
what if it's not what if that doesn't
work the way you think it is those are
the kinds of red flags that should be
even if we're heads down in development
those are things that we should be
thinking about when we get into our
reviews and our retrospectives as we
really should be looking at what is the
feedback that we're getting from the
customer when we're going through that
demo that review process are we seeing
things that are are concerns to us that
maybe we're not hitting the mark and
then in the retrospective
are we repeatedly bringing up something
along the lines of we're kicking stuff
down the road too often and that we need
to make that our priority in the next
Sprint uh more thoughts on those because
I know I did open the can of worms a
little bit more oh yes um so I'll t on a
little bit because I didn't talk about
the points before um but as you're
reviewing the tickets and defining the
requirements and the definition of done
as a team collectively you want to agree
on
a pointing system or we use points to
kind of figure out okay who do thinks
it's easy who thinks it needs a little
more work and then you kind of flush out
an average to use as a team for the
ticket this helps kind of Define the
deadlines or how long that works going
to take so that they can plan out
release Cycles unfortunately though and
I like you touched on this but sometimes
you run across a bug that is a major bug
or
you have like
medical laws change or financial laws
change and you have to do something
because of Regulation but you have to do
it quickly well sometimes that gets
thrown in but they don't take something
out so if you start seeing a lot of
things not necessarily just being kicked
down but if you see more and more work
coming into a Sprint after it's started
and stuff is not being taken out you're
never going to reach the end you're
going to kind of be in that CR crunch
firefighting mode and you're kind of on
a death march until you get to a point
where you can say cut now let's start
over let's begin again but unfortunately
you're going to probably be in a
situation where you're three four five
six Sprints down the road and your team
is in crunch mode firefighting mode
burned out these are other signs that
you need to
revisit your Sprints these tickets to
make sure that things are moving
smoothly if you see a lot of people
dropping burnout PTO revisit your plan
revisit your schedule because something
that is another indicator that something
is wrong and you may not see it right
now but very quickly you you will start
seeing that scope creep or you're going
to see that um release Cycles being
missed and tickets that should take a
day or two probably going to take longer
just because the mental capacity is not
there for your
team yeah let I guess we'll we'll
continue on discussion another time
because there's a lot we can go into
this I do want to mention that there's
going to your point there is to think
about and that you may not be able to as
a developer but if you're a scrum master
in particular think about Sprints that
are and as a product owner even that are
uh Performance Tuning Sprints that are
bug fixing Sprints and it's really hard
to sell a technical debt Sprint
but it may be one of those things and a
lot of times I think I've seen it best
done where there are technical debt
tickets that get pushed into each Sprint
and maybe it's only one or two but it's
something that hopefully you can you
know and they're almost they're never
going to be the we got to have it or
almost never but try to have somebody
like if you can just tackle one or two
two of those from Sprint to Sprint to
Sprint it at least is moving the ball
forward and we talk so much about you
know momentum and moving the ball
forward in our careers and it's the same
way in software because as Michael
suggested you get this burnout you get
all this stuff when we don't if we as
developers don't feel that we're done
then we're going to end up stressing
about it so we need to help the
customer and ourselves by saying what
does done mean and this can be down at
even a feature level it's like when this
feature is done what is it going to do
what do we need to take care of now if
we're writing buggy code and stuff like
that that may be on us it may be
partially because of stress but but if
we should be able to you know go through
test it verify it and then if it's a bug
maybe it's an integration bug or
something that we can come back and
usually then hopefully it's not critical
so we can say I'm not gonna I'm not
going to push it into this Sprint I'm
going to we'll put it on the backlog
we'll make it a high priority we'll
tackle in the next Sprint or maybe two
or three Sprints down and if you talk to
your customers if you sell it that way
as we call it refer to that way and say
hey where
we're not we're focused on this other
work right now it is not effective and
this is true it's probably going to be
not effective to go chase down those
bugs instead we're going to get this
feature thing that we're working on done
and then we'll come back in another
Sprint and we'll go through those bugs
because that makes more sense and that
in particular saves you one if you do
that the customer trusts you to say okay
we're going to come back and fix it two
it saves you from those most annoying
things where it's like this is just
going to take me a minute it's things
like you know this color isn't right or
this isn't spelled right or this button
needs to move or this this field needs
to go from a date to a date time or
those things that are yeah we can
probably fix them really quick but it
takes us out of our groove it takes us
off of whatever the main track is and if
we're not doing those in bunches and in
a batch kind of approach it really hurts
us as far as like Switching gears
mentally as that time
goes I was going to pass it back to you
but I'm not because I think we've run
one about this we're going to run this
we will wrap this one up we're going to
make it a two-parter this probably will
actually be sort of a three-parter maybe
even we'll see where we go with the next
episode apologies if we run a little bit
long if we've gotten a little long-
winded but these are the things that are
near and dear to our heart and should be
to you as well because these are where
we win and lose the battles for building
better software is it making sure that
we are communicating making sure that we
understand what we are building what
does done mean what are the requirements
what is the goal line what does that mvp
look
like that is why we go out to you all
the time as we are looking for our
requirements via email so send us an
email at info developer.com check us out
on developer.com and check out all the
different content there which is a lot
over a thousand articles out there on a
wide range of stuff leave us comments
you can leave them on the article you
can there's a contact us form you can
use that you can check out school.
developer.com there's also comments in
all kinds of sections in there that you
can go check that stuff out see a little
bit different way to consume all the
content we have there any of those areas
including this one leave us comments
leave us you know ratings whatever you
want to do and include please what would
you like to see what are some things
that we could do more of do less of what
are the things you like what are the
things you don't like sort of like a
retrospective in a Sprint what do we do
right what did we do wrong what do we do
more of what do we need to stop or do
less of that kind of feedback is what
helps us help you and it will help us
give you a more entertaining and
educational we'll say dare I say
educational podcast that being said go
out there and live your Better Life as a
better developer until we meet next time
go out there and have yourself a great
day a great week and we will talk to you
or at you next
time bonus
material so with this one I'd like to
kind of throw the idea
of kind of within scope Creek look at
the tickets is it something that needs
to happen I need to have I have to have
or a want to
have really break it down into that
because if you're running into scope
creep or you're running into Sprints
where tickets are just kind of being
kicked down the road reset look at what
is it that you're pulling in and make
sure it is for that mvp
not just a nice to have feature that
could have waited till we got this
particular release out the
door that is excellent I think I really
like that as sort of a follow-up is that
it's because we didn't bring that up is
that it's really is it's like musthave
nice to have you know want need cool you
know that kind of stuff because the cool
stuff almost is never going to get done
I mean you may but it's more going to be
like what do you need and this is where
as a better developer I think it really
and this I'm thinking about this because
I've got a customer right now that
they're they're figuring out this Grand
Vision of what their product is and
we're in sort of a Sprint we're doing an
agile approach we're not fully doing
sprints but it's pretty
close and this is where a good developer
better developer is going to help their
customer better is talking through them
with them if you have that
opportunity what what this can look like
and giving them some examples instead of
them sort of being in their head of like
this is how I see this process or this
is how I see us solving this problem
toss some ideas out there and say hey
I'm you know you are the customer we
want to help you do your job better or
solve your problem better but maybe here
are some things that I'm hearing that
are different approaches to it or when
you're looking at that you know what do
you need what do you sort of need what
you really not need at all kind of list
is looking at that and saying helping
them out with that because there's going
to be pieces that we know from a
technology point of view it's like no
you don't think you need that but you
really do need that and it does get into
technical stuff times it's sometimes
it's things like particular if you're
getting into compliance related stuff so
it may be uh security or uh like
auditing controls or logging or it maybe
things like we have to set up a
development environment or production
environment or we have to set up you
know a a development environment a
testing environment a production
environment and we need to have the
pipelines that move those things out
they may say oh yeah we don't need that
we'll do that later it's like no you may
say we really need to get this now
because we need to really hammer on that
so that by the time we do a real like a
full production process we have beaten
The Living Daylights out of that thing
and we know all of the good and the bad
and we know that it works we don't want
to wait till you know the last Sprint
and that's where we're actually going to
figure out what deployment looks like I
think that is something that too often
we miss and we either end up oversizing
or undersizing it's a little easier to
do in a sense it's a little easier to do
if you do Cloud deployment because those
things can just dynamically grow however
that Dynamic growth can also dynamically
grow your bill and sometimes
your your I'll say it your architecture
your core solution is really not
designed for where they need to be so
start that earlier on that's one of
those things that they'll also often
pass off and you might even as well
because you don't want to you know start
spending that cost on them but find ways
to work into it and that's just an
example that being said I think that's
enough bonus material right now so we
will wrap this one up we'll come back
next time maybe a part three and maybe
not we haven't really talked about that
yet uh as always we're just figuring
this out as we go but as you know there
we could spend days and we mean not just
us but all of us the greater develop or
Community here could all spend forever
talking about all these little headaches
and gotas and all the little you know
War Stories from our careers whether
you've been doing it for a year or
hundred years 100 years would be really
fun to talk about I guess because your
technology was not the same then but
nevertheless uh one once again thank you
guys for your time I don't want to waste
any more of it go out there have a great
day we will talk to you next time around
[Music]
Transcript Segments
1.35

[Music]

27.8

and there we go we have figured out

29.48

where the record button is because they

30.84

move it around because I love I'm not

34.2

going to name who they are but they may

35.64

start with the last letter of the

36.92

alphabet um this episode we're following

40.84

up from the prior one and we're going to

42.079

go into the agile world

44.719

of it took you a second to get that

46.879

didn't

48

it um anyways this time we're gonna go

51.199

into the agile world of scope creep

53.6

everybody's favorite like actually it's

55.96

everybody's favorite Boogeyman I think

57.399

everybody is always worried about scope

58.719

creep and all this kind of stuff and yet

60.879

every project seems to have it but

63.239

particularly in the agile world and I

64.72

think that's where we're going to go

65.6

with this one is how

68.84

to how to manage it really because

71.2

that's sort of what it I mean agile is

72.88

really built on we don't really know

75.799

what the finish line is yet we sort of

78.119

know where we're

79.32

going but we want to be able to change

82.04

gears but you still need to and this is

84.68

I think where it really is uh it can be

88.28

done by the the scrum master but it's

90.28

usually going to be more like the

91.32

product owner with in combination with

94.32

the team the development team is

97.119

basically how do we keep this stuff on

99.92

track how do we keep it from going off

101.88

the rails how do we get something that

104.159

is useful and not let the customer just

107.719

bury Us in last minute things this

110.52

actually even it's interesting because

112.36

it ties into something we've talked

113.88

about before uh I don't think we ever

115.96

talked about on the podcast but where

117.96

we've talked about when we get close to

120.36

the end of a product that we're

122.68

building it is very particularly if it's

125.039

our own

126.479

product we stretch out the Finish Line

130.08

basically because we're like oh I want

131.319

to put this in there I want to put that

132.52

in there I need to do this I need to do

133.959

that I want to do this we keep piling

136.48

stuff in instead of stop it give it a

139.44

like this is your definition of done and

141.56

I think we're the worst when it's our

143.12

own product because we don't think about

145.72

saving ourselves from that little living

147.64

hell and yet we you know it is something

149.959

that we run into so we can also I think

153.48

we can empathize with our customers but

155.959

that's where you have to have those

157.16

conversations that we'll talk about as

158.8

we get into the podcast but I think

161.08

that's what I want to focus on is how

164.08

agile does not stop us from having

168

things like what does done look like and

170.56

some of those things and we as you

171.92

talked about earlier maybe we talked

173.04

about some of the ceremonies and things

174.36

that will help us uh keep those things

177.28

on track is this a good one to also

178.92

include

180.4

when the communication breaks

184.159

down with between the different

186.44

departments because I ran into a

188.04

situation similar to this where we were

191.92

we've been really good at hitting all of

193.519

our Sprints you know we're on track and

196.36

then

198.239

somehow a epic we were working on was

204.12

conceived by business to be done but we

206.76

weren't

207.72

done and it was not done because tickets

210.84

weren't created by the developers by the

213.36

product as needed and then people went

215.72

on vacation and we had lots of

217.76

miscommunication during that time so I

219.64

don't know if that's a good one for this

221.64

one or save that for another one um I

225.04

think I don't I think it's probably a

226.319

good one to step into it's communication

228.12

is always key with all of these things

229.76

and it really is the I think that's the

232.319

the nut of what this story is about or

234.28

what this episode is going to be is it's

235.519

really about communicating that how to

237.079

do that and making sure for example

239.519

that's a great example of where things

240.879

can go wrong is where you know people

243.439

assume that there's some features or

245.319

something in there but it doesn't get

246.599

created right and the next thing you

248

know somebody thinks because the backlog

250.519

is empty everything's done but it the

253.439

problem is because the backlog was not

255.12

properly filled goes back to missing

257.16

requirements effectively um so I think

259.4

that's a good I think that's a good

261

example to use of where things can go

263.759

horribly wrong to some extent or maybe

266.32

completely to an

267.68

extent all right so we'll dive into this

269.6

one

270.32

one hello and welcome back we are

273.36

continuing the Journey of a developer as

275.479

we're talking about being building

277.039

better developers and this is the

279

develop andur podcast I am Rob Brad I

281.759

one of the founders of develop andur and

284.32

also a founder of RB Consulting where we

286.72

help you tame technology through

289.16

simplification Automation and

291

integration we take all of that crap

292.96

that's out there and find ways to put it

295

all together in a nice pretty bow on it

297.16

and all that kind of stuff so that you

298.12

can use these things and not have 15,000

301.479

logins or having to do a lot of manual

304.12

imports and exports and all of that

305.8

stuff that is a headache now one of the

307.479

things we do is we talk about what's

309

good and bad that's happened since the

310.44

last time we talked so from a good point

313.4

of

314.24

view I'm going to start with I actually

317.84

have a couple of customers right now

319.639

that there is

322.12

the the budget the bandwidth to do it

325.12

right you know a lot of times we get

326.6

into stuff and they're like it's like

328.28

it's got to be done today it's got to be

329.479

done with it like cut hours cut testing

332.16

cut this cut that you know documentation

335.28

can be done later and things like that

336.639

where they keep cutting Corners to try

338.56

to hit their deadlines but they're

340.199

they're really sort of hurting

341.36

themselves and they get to the end and

342.88

they're like well I've got something

344

that's completely you know it's it's not

347.68

done and you say correct it's not done

350.24

because we didn't put the time in to get

351.88

there and I've got customers that are

353.08

able allow me to do that and it is so

355.96

fulfilling to be in a situation where

357.96

you can actually apply all your skills

360.319

in doing things the well say in quotes

363.16

the right way but being able to do that

366.599

uh bad thing

369.72

is bad thing I guess is my kids are I've

373.199

got like I'm going to be an empty nester

374.84

soon and one of the empty nester one of

377.96

them that are flying The Nest is going

380

to be like this close and for those that

382.039

can't see it which is some of you a lot

384.28

of you maybe um very close I've got my

386.28

fingers all the way together uh this

388.28

close to being out of money and so it's

390.039

already like he's going to be able to

391.199

get in and he's going to have to grow

394.44

some vegetables in the backyard or

396

something wherever he's at because it's

397.28

like dude your budget is like your

399.72

Runway you're gonna you're going right

401.639

off the Runway so we're gonna have to

403.96

work on that bad news too long on that

406.44

so I'm gonna pass that on to you and let

407.84

you introduce

409.199

yourself hey everyone my name is Mikael

411.44

milash I'm one of the co-founders of

413.56

developer building better developers I

415.639

am also the founder of Envision QA where

418.08

we help businesses and analyze their

420.36

software to

423.039

identify basically workflows that are

426.199

either not in the system or find better

429.039

ways for their software to work for them

431.56

instead of against them so with that

434.36

I'll go into my good the good is one of

436.879

the projects I'm working on while we are

438.68

in a bit of a time crunch because of the

440.84

necessity for their change we are taking

444.039

the time and they're willing to work

445.759

with us to Define these requirements

448.44

correctly so we avoid a lot of the

450.36

things we're going to be talking about

452.039

today on the bad

455.639

side my wife bought this wonderful TV at

458.96

Christmas last year and it's gotten to

461.919

the point now where we've tried moving

464.12

it around the room a couple different

465.479

times but because of where they put the

466.84

speakers we can't hear people speak at

469.52

all so I had to buy another external

473.319

speaker more cost hopefully this thing

476.159

works but right now I'm not holding my

478.68

breath

480.56

ah that is my favorite I ran into that

483.28

just the other day with some I'm trying

485

to remember what it was but it's one of

486.159

those where it's like you have to use

488.28

close captioning because the speakers

490.44

and such are just not where they should

493.08

be or they have bad audio it's like one

495.84

of these things where all these soft

497.08

talkers and there's loud stuff going on

499.68

and you put in close captioning and

501.159

suddenly you see it's a whole different

502.56

show it's a whole different story

503.96

because that's stuff that you miss

505.8

because they don't get the audio

508.039

right old right

510.36

yeah that's that's for another topic we

512.839

can have like a we can have a venting

514.599

session I want to talk about agile this

517

time and with respect to done now one of

522.279

the things that we have talked about in

524.44

the past in both for career and for

527.32

projects are the idea of road maps and

531

it is in the agile world you have these

533.88

like epics and things like that so it's

535.56

not there are things that span multiple

538.56

Sprints but an epic doesn't necessarily

541.279

get you a product what I think you need

543.959

to really have and I found that has

546.12

worked the best when you're going into a

548.48

an agile approach is that you have an

552.76

MVP which is a minimally viable product

555.88

and that's from the start from Sprint

557.56

one you have them in an MVP which is

561.24

very hard to say together but you have

563.92

that and yes it will it will be adjusted

568.519

basically as you're going from Sprint to

570.12

Sprint to Sprint but what you should be

572.519

able to do then is show progress towards

576.399

that product that you're going to

578.32

release now of course in a Sprint

581.8

technically if you're doing them right

583.2

you have a usable deployment of software

586.079

at the end of every single Sprint now we

588.36

all know that that does not always

590.04

happen there are cases where usable is

592.88

I've got a login screen and I can log in

595.399

okay great that doesn't really help me a

597.079

whole lot there are going to be situ or

599.92

maybe you have to go to Sprints you

601.399

don't release this one because it's just

603.519

too many things in flux I get

606.959

that but that should help because you're

609.76

going to show some usable things along

611.64

the way that are and usable is obviously

614.32

it's a soft definition of what usable is

616.68

but those should be marking you towards

618.44

your MVP your MVP is your why that is

622.16

why we are going through these Sprints

623.959

we're getting to this thing that is what

627.04

helps us Define done because if we have

630.04

all the features that we decided were

631.839

going to be the minimally viable product

634.279

in that yes we can continue but at least

637.48

at that point we know that we are done

640.12

we'll say that we have completed that

642.8

project now that doesn't mean that you

644.76

set it up on Sprint one and you don't

646.76

think about it again until Sprint 10 it

649.24

does mean that that is a living thing

651.56

just like everything else but it gives

654.92

you it gives you like an anchor it gives

657.519

you a foundation it gives you a core

659.399

because you can look at that as you're

661.519

going from Sprint to Sprint to Sprint

663.44

and I'm going to let Michael talk a

664.519

little bit about some of the the things

666.92

about agile that may help you with this

670.519

but what you're going to do is you're

671.36

going to have conversations effectively

673.12

about this is a big change to the MVP or

676.32

this is a minor change to the MVP or I'm

678.72

gonna go on mute for a second because

679.88

I'm about to sneeze oh wait maybe not

685.16

wait apologies you can always edit that

687.519

out or not because hey that's We Roll

691.24

um as you're getting to that mvp there

694.32

are going to

695.6

be changes maybe that are made to it

698.48

that are big that are substantial and

701.12

those are the things that you want to

702.399

communicate back to the product owner to

704.56

the customer that we have now made a big

709.04

change so it may be a big change that

711.839

says we are effectively back to Sprint

714.24

one or this is now going to add multiple

718.279

Sprints of function

719.88

it and even within that as you're going

723.88

from Sprint to Sprint to Sprint there

725.88

should be there's if it's done right

727.6

you're always also looking ahead the

729.92

product owner the scrum Master are

731.68

looking

732.839

ahead and if you're starting to look

734.839

ahead and you're seeing nothing but

736.16

we're just adding just adding just

737.519

adding we're not really getting closer

739.56

to that then those are the kinds of

741.68

things you need to bring a heads up to

743.24

say hey this is going beyond the scope

746.519

of what we originally talked about this

748.279

is going Beyond we talked about as a

751.04

comfortable Runway to get this thing

753.839

launched because

756.079

those those require those are like meta

759.839

or core requirements to the project it's

762.92

not requirements when we're talking

764.24

about software requirements these are

765.76

requirements like we only have X amount

767.839

of dollars or x amount of resources or x

769.92

amount of time or there are you know

773.079

maybe there's regulation authorities or

774.76

stuff like that where we have to have

776.16

certain stuff by a certain time period

779.199

which become yes that's your MVP that's

781.8

your why those are the things that if

783.8

you're moving off of that mvp if you're

786.68

pushing back that those should always be

789.639

discussions that's a great communication

791.8

point to say hey we're making some

793.839

changes and we just want to all agree

796.399

like when you first make them we want to

798.48

all agree that that makes sense and

801.279

that's going to work so we don't get in

803.32

a situation where we try to bite off

805.04

essentially bite off more than we can

806.44

chew as part of that I'll toss it over

808.519

to you and let you you go you know sort

810

of step into that from your point of

813.68

view yeah so typically either when

818.24

you're first starting out or if you're

820.04

already in a release cycle system with

823.68

agile one of the key takeaways with

826.8

agile which is supposed to help avoid

829.16

some of this scope creep and some of

830.92

this uh bloat or

833.48

unforeseen uh requirements is your daily

837.24

standup you know you you meet as a team

839.759

you talk through what you're working on

842.16

uh are you blocked by anything did you

844.12

run across something that is in of

846.72

itself requiring a requirement from

848.88

something else that either wasn't

850.759

thought of or another piece of work

853.32

that's being done that is behind holding

856.12

you up or did you just get ahead uh and

858.72

so on so we moved our tickets through

861.24

the process of you know we're working on

862.88

it it's in progress we're blocked

865.399

testing and so on the other thing is

868.32

when you move it to testing did the

870.399

tester run across a scenario that wasn't

872.48

thought of you know did you have a

874.36

special character that was supposed to

875.8

work that's not working as expected so

880.519

there are other things that at least

883

within the standup process you catch

885.16

daily and these things can get flagged

887.04

and hopefully addressed quickly either

889.92

individually with one-on ones or as a

892.36

team as a whole the other thing as

895

you're going through the process at

897.24

towards the end of every Sprint you're

900.44

going to have a backlog refinement where

902.399

you're going to sit down as a team with

904.56

the product owner the business owner and

906.56

go through the requirements for the MVP

910.36

that you need to work on for the next

912.12

Sprint you know what are the next batch

913.72

of features that we need to roll in or

916.68

what tickets from the current Sprint are

918.88

potentially going to roll over because

921.56

we're running into some difficulties or

923.6

it's taking more work or we we hit some

927.12

type of blocker that caused a little bit

929.079

bit of time uh you know scope to be

932.199

added to the

934

ticket and then when you get to the end

936.56

of the Sprint you should always do some

939.04

type of Sprint burndown go through your

942.839

tickets that you just completed in the

944.48

previous Sprint and identify you know

946.8

what went well what didn't go well uh

949.16

what requirements you know did we miss

951.88

uh and make sure all that gets put in to

954.519

tickets if that is either not

956.44

communicated to the business or not in

958.48

tickets it's going to be missed you're

960.6

going to run into situations where you

963.88

know someone could go on vacation for a

965.36

month come back be your manager product

967.639

owner and they think everything's going

969.44

to be done based on the timelines and

971.48

then they come back and it's like yeah

972.92

it's ready to go we missed a feature so

976.24

now it goes out and you have an unhappy

977.959

customer or the product doesn't even

979.519

work it breaks so now you have more

981.839

deadlines or more delays trying to get

984

this software out the door so by doing

986.959

the uh kind of burndown

989.639

and uh end of Sprint review you

993.199

collectively as a team hash out what you

996.68

can do to make things better what can

998.44

you do as a team what would essentially

1002.72

is your development agreement to keep

1005.759

things moving forward to get these

1007.88

tickets done right get the right

1010.68

requirements into these tickets and also

1013.319

make sure that as a team you have a

1016.079

collective understanding of what the

1017.519

definition of done is is so as you work

1020.24

on these tickets you're not just

1021.839

throwing the ticket over to test with

1024.28

one line uh of change that doesn't

1027.64

address all the the issues that were in

1030.039

the ticket so you don't want to miss

1032

things that you're you should be doing

1034.16

causing tickets to go back and forth

1036.319

through different phases that are

1038.559

happening because you didn't do the work

1040.36

right the first time now the other side

1042.959

of that is don't sit on a ticket for

1045.24

days trying to make sure it's 100% right

1048.919

because again we're shooting for that

1050.28

mvp but if you run into blockers if you

1053.28

run into situations where this ticket

1055.64

should have taken like a day or two but

1057.559

now you're on day three maybe day four

1059.6

maybe it's time to bring it up and stand

1061.16

up or collectively have a team huddle

1063.32

and say let's hash this out I'm stuck or

1066.08

something's just not right so you kind

1068.24

of have to communicate work together to

1070.84

get back on track so again your Sprint

1073.64

moves smoothly you're going through the

1075.32

right Peaks and valleys and your

1077.76

software is continuing to move down that

1080.32

mvp towards your deliverable at the end

1083.08

of the

1084.72

spring two things are really important

1086.84

there one that's probably a little bit

1088.64

off of the scope creep thing but I do

1090.96

want to touch on when you pick up a

1093.84

ticket there is an estimate attached to

1096.64

it and that is often that is a huge part

1100.76

of what you should have in your mind of

1102.48

like what level of coding of what is the

1106.72

scope of this what is it that I should

1108.44

be dressing if it's a if it's something

1110.84

that roughly should take you you know

1112.88

half a day and it's into a full day and

1115.799

you're still not done with it those are

1118.08

like those are little Flags to say hey

1120

let's raise that up in the Sprint or in

1122.799

the standup or ideally before you get

1125.559

into it if you think it's going to take

1127.12

longer than that that should be part of

1129.76

the estimate discussions so it should be

1132.12

clear on what really is the what is

1134.799

really contained within this ticket and

1136.88

again it also helps you Define what's in

1139.76

the it helps you write a better ticket

1141.64

because if somebody says you know if

1143.76

you're scoring it on a scale of 1 to 20

1145.96

and bunch of people say one and a bunch

1147.76

of people say 20 that's a good point to

1150.039

say okay we need to talk about what does

1151.84

this mean because obviously we have a

1153.76

very different picture of what this

1156.52

project is now I really want to look at

1160.36

the U at the burndown the retrospective

1163.08

kind of piece of a Sprint because that

1166.679

is also something where

1169.24

we can very easily get into the mode of

1172.4

we you know we get a couple tickets done

1174.24

but we push a couple into the next

1175.6

Sprint and into the next Sprint and into

1177.24

the next Sprint and very often when

1180.24

you've got a team working on you know

1181.84

they get in that retrospective like what

1183.559

went well what didn't usually what

1185.64

you're end up finding is somebody's

1186.72

going to say hey we keep like punting

1188.84

stuff to the next Sprint this is going

1190.6

to bite us at some point we need to

1193.2

figure this thing out we need to

1194.64

estimate better we need to project

1196.88

better whatever it is because if you're

1198.28

still kicking stuff forward then that

1200.52

technically means you're probably

1201.72

somewhere down the line pushing out your

1204.08

release dates you can't keep doing those

1206.96

things and those should be a heads up if

1210.44

if we're seeing this that may be

1212.64

something that you say okay in the next

1213.919

Sprint one of the things we're going to

1214.88

do is we're going to walk through and

1216.039

look at what are we doing why are these

1219.28

slipping and then make those adjustments

1221.799

because it could be that it could be

1224.52

from almost anything it could be the

1225.88

tickets are not being the requirements

1227.76

are not deep enough and so we're

1229.2

spending too much time kicking those

1230.76

back we're in a cycle trying to flesh

1233

those out it could be something where

1235.76

nothing's being Mark done until the last

1237.84

day of the Sprint and then QA doesn't

1239.44

have time to test it all and then all

1240.799

that stuff gets kicked into the next one

1242.88

it could be anything in between those as

1246.28

well and it could be things like scope

1248

creep it could be things where we

1250.039

originally had this picture of what the

1253.679

MVP was but as we're getting

1256.24

clarification from Sprint to Sprint it's

1258.72

changing what that mvp is and maybe we

1261.32

haven't looked at that enough to say hey

1263.679

we are now expanding on that or we're

1266.24

shifting it in some way form or fashion

1268.4

that is now something we need to

1270.24

communicate back to the powers that be

1272.679

the people that sign your check the

1273.96

customers people like that to say hey

1276.76

this is not where we started what we

1279.24

talked about and where we thought we

1280.72

were going to go we're not going there

1282.4

it would be stuff like you know you

1284.2

start in Washington DC and you're like

1286.679

oh we're just going to go to

1289.12

you know Cincinnati but along the way

1291.039

you realize you have to go all the way

1292.159

out to San Diego if you guys don't know

1294.64

geography Google Maps but you know it's

1297.4

one of these things is that those things

1299.96

can be and we've had those kinds of

1301.48

situations there are projects that are

1302.799

so much like that where it's like we're

1304.039

going to go to this little place that's

1305.76

not that far away this is like a this is

1307.52

easy I that is the worst thing to hear

1309.72

in software development this is gonna be

1310.96

easy that's easy that's no problem yeah

1312.72

just use that piece of cake that is

1315.039

should always be a red flag there's Pro

1316.84

what if it's not just ask that question

1318.84

what if it's not what if that doesn't

1320.72

work the way you think it is those are

1323.52

the kinds of red flags that should be

1326.12

even if we're heads down in development

1328.96

those are things that we should be

1330.24

thinking about when we get into our

1332.32

reviews and our retrospectives as we

1334.559

really should be looking at what is the

1337.32

feedback that we're getting from the

1338.919

customer when we're going through that

1340.08

demo that review process are we seeing

1342.559

things that are are concerns to us that

1344.799

maybe we're not hitting the mark and

1346.72

then in the retrospective

1348.96

are we repeatedly bringing up something

1352.4

along the lines of we're kicking stuff

1354.08

down the road too often and that we need

1356.039

to make that our priority in the next

1358.2

Sprint uh more thoughts on those because

1360.32

I know I did open the can of worms a

1361.919

little bit more oh yes um so I'll t on a

1365.72

little bit because I didn't talk about

1366.88

the points before um but as you're

1369.88

reviewing the tickets and defining the

1372.12

requirements and the definition of done

1374.44

as a team collectively you want to agree

1377.52

on

1378.96

a pointing system or we use points to

1381.52

kind of figure out okay who do thinks

1383.159

it's easy who thinks it needs a little

1384.96

more work and then you kind of flush out

1386.559

an average to use as a team for the

1389.2

ticket this helps kind of Define the

1393.039

deadlines or how long that works going

1394.76

to take so that they can plan out

1396.52

release Cycles unfortunately though and

1400.08

I like you touched on this but sometimes

1403.72

you run across a bug that is a major bug

1407.32

or

1408.84

you have like

1410.559

medical laws change or financial laws

1413.2

change and you have to do something

1414.76

because of Regulation but you have to do

1417.12

it quickly well sometimes that gets

1420.24

thrown in but they don't take something

1423.32

out so if you start seeing a lot of

1425.4

things not necessarily just being kicked

1427.2

down but if you see more and more work

1429.159

coming into a Sprint after it's started

1432.6

and stuff is not being taken out you're

1435.08

never going to reach the end you're

1437.159

going to kind of be in that CR crunch

1438.96

firefighting mode and you're kind of on

1441.6

a death march until you get to a point

1443.679

where you can say cut now let's start

1446.039

over let's begin again but unfortunately

1449.679

you're going to probably be in a

1451.32

situation where you're three four five

1453.32

six Sprints down the road and your team

1456.48

is in crunch mode firefighting mode

1459.36

burned out these are other signs that

1462.559

you need to

1463.799

revisit your Sprints these tickets to

1466.72

make sure that things are moving

1468.799

smoothly if you see a lot of people

1471.72

dropping burnout PTO revisit your plan

1476.52

revisit your schedule because something

1479.44

that is another indicator that something

1481.24

is wrong and you may not see it right

1484.36

now but very quickly you you will start

1486.96

seeing that scope creep or you're going

1489.399

to see that um release Cycles being

1491.96

missed and tickets that should take a

1494.64

day or two probably going to take longer

1496.32

just because the mental capacity is not

1498.48

there for your

1499.6

team yeah let I guess we'll we'll

1502.76

continue on discussion another time

1504.36

because there's a lot we can go into

1505.559

this I do want to mention that there's

1508.2

going to your point there is to think

1510.24

about and that you may not be able to as

1512.159

a developer but if you're a scrum master

1514.399

in particular think about Sprints that

1516.799

are and as a product owner even that are

1519.84

uh Performance Tuning Sprints that are

1522.36

bug fixing Sprints and it's really hard

1525.64

to sell a technical debt Sprint

1529.12

but it may be one of those things and a

1531.159

lot of times I think I've seen it best

1532.96

done where there are technical debt

1535.52

tickets that get pushed into each Sprint

1538.24

and maybe it's only one or two but it's

1540.159

something that hopefully you can you

1541.679

know and they're almost they're never

1542.799

going to be the we got to have it or

1544.6

almost never but try to have somebody

1548.2

like if you can just tackle one or two

1549.76

two of those from Sprint to Sprint to

1551.12

Sprint it at least is moving the ball

1553.12

forward and we talk so much about you

1554.64

know momentum and moving the ball

1555.919

forward in our careers and it's the same

1559.64

way in software because as Michael

1561.36

suggested you get this burnout you get

1563.399

all this stuff when we don't if we as

1565.36

developers don't feel that we're done

1568.12

then we're going to end up stressing

1569.88

about it so we need to help the

1572.12

customer and ourselves by saying what

1574.88

does done mean and this can be down at

1577.24

even a feature level it's like when this

1579.039

feature is done what is it going to do

1582

what do we need to take care of now if

1583.32

we're writing buggy code and stuff like

1584.919

that that may be on us it may be

1586.399

partially because of stress but but if

1589.799

we should be able to you know go through

1592.399

test it verify it and then if it's a bug

1595.36

maybe it's an integration bug or

1596.679

something that we can come back and

1598.36

usually then hopefully it's not critical

1600.919

so we can say I'm not gonna I'm not

1602.72

going to push it into this Sprint I'm

1604.799

going to we'll put it on the backlog

1606.2

we'll make it a high priority we'll

1607.399

tackle in the next Sprint or maybe two

1609.32

or three Sprints down and if you talk to

1612.6

your customers if you sell it that way

1614.919

as we call it refer to that way and say

1617.88

hey where

1618.84

we're not we're focused on this other

1620.72

work right now it is not effective and

1623.2

this is true it's probably going to be

1624.88

not effective to go chase down those

1626.44

bugs instead we're going to get this

1629.159

feature thing that we're working on done

1631.039

and then we'll come back in another

1632.279

Sprint and we'll go through those bugs

1634.279

because that makes more sense and that

1637.08

in particular saves you one if you do

1639.679

that the customer trusts you to say okay

1641.72

we're going to come back and fix it two

1643.84

it saves you from those most annoying

1645.88

things where it's like this is just

1647.52

going to take me a minute it's things

1649.52

like you know this color isn't right or

1652.2

this isn't spelled right or this button

1653.96

needs to move or this this field needs

1656.159

to go from a date to a date time or

1658.2

those things that are yeah we can

1660.399

probably fix them really quick but it

1662.559

takes us out of our groove it takes us

1664.559

off of whatever the main track is and if

1666.679

we're not doing those in bunches and in

1668.36

a batch kind of approach it really hurts

1671.159

us as far as like Switching gears

1673.279

mentally as that time

1675.84

goes I was going to pass it back to you

1677.919

but I'm not because I think we've run

1679.24

one about this we're going to run this

1681.399

we will wrap this one up we're going to

1682.76

make it a two-parter this probably will

1684.24

actually be sort of a three-parter maybe

1685.84

even we'll see where we go with the next

1688.08

episode apologies if we run a little bit

1690.36

long if we've gotten a little long-

1691.64

winded but these are the things that are

1693.24

near and dear to our heart and should be

1695.08

to you as well because these are where

1696.96

we win and lose the battles for building

1699.679

better software is it making sure that

1701.799

we are communicating making sure that we

1703.72

understand what we are building what

1705.279

does done mean what are the requirements

1708.2

what is the goal line what does that mvp

1710.919

look

1711.799

like that is why we go out to you all

1714.32

the time as we are looking for our

1716.08

requirements via email so send us an

1718.2

email at info developer.com check us out

1720.72

on developer.com and check out all the

1723.88

different content there which is a lot

1726.039

over a thousand articles out there on a

1728.64

wide range of stuff leave us comments

1732.2

you can leave them on the article you

1733.64

can there's a contact us form you can

1735.559

use that you can check out school.

1737.399

developer.com there's also comments in

1739.519

all kinds of sections in there that you

1740.919

can go check that stuff out see a little

1743.6

bit different way to consume all the

1745.88

content we have there any of those areas

1748.84

including this one leave us comments

1751

leave us you know ratings whatever you

1752.679

want to do and include please what would

1755.399

you like to see what are some things

1756.72

that we could do more of do less of what

1759.24

are the things you like what are the

1760.279

things you don't like sort of like a

1761.6

retrospective in a Sprint what do we do

1763.399

right what did we do wrong what do we do

1765.08

more of what do we need to stop or do

1767.24

less of that kind of feedback is what

1769.6

helps us help you and it will help us

1772.24

give you a more entertaining and

1774.2

educational we'll say dare I say

1776.6

educational podcast that being said go

1779.76

out there and live your Better Life as a

1782.44

better developer until we meet next time

1784.679

go out there and have yourself a great

1785.96

day a great week and we will talk to you

1788.519

or at you next

1790.72

time bonus

1793.159

material so with this one I'd like to

1795.919

kind of throw the idea

1798.96

of kind of within scope Creek look at

1802.36

the tickets is it something that needs

1805.159

to happen I need to have I have to have

1808.679

or a want to

1810.84

have really break it down into that

1813.76

because if you're running into scope

1815.88

creep or you're running into Sprints

1817.799

where tickets are just kind of being

1819.24

kicked down the road reset look at what

1822.799

is it that you're pulling in and make

1825.32

sure it is for that mvp

1828.519

not just a nice to have feature that

1830.84

could have waited till we got this

1833.36

particular release out the

1835.48

door that is excellent I think I really

1839.399

like that as sort of a follow-up is that

1841.039

it's because we didn't bring that up is

1843.36

that it's really is it's like musthave

1845.24

nice to have you know want need cool you

1849.96

know that kind of stuff because the cool

1852.039

stuff almost is never going to get done

1854.12

I mean you may but it's more going to be

1856.36

like what do you need and this is where

1859.2

as a better developer I think it really

1862.32

and this I'm thinking about this because

1863.72

I've got a customer right now that

1865

they're they're figuring out this Grand

1869.24

Vision of what their product is and

1870.88

we're in sort of a Sprint we're doing an

1873.24

agile approach we're not fully doing

1875

sprints but it's pretty

1876.559

close and this is where a good developer

1880.399

better developer is going to help their

1881.72

customer better is talking through them

1884.399

with them if you have that

1886.72

opportunity what what this can look like

1889.76

and giving them some examples instead of

1892.48

them sort of being in their head of like

1894.24

this is how I see this process or this

1896.24

is how I see us solving this problem

1898.639

toss some ideas out there and say hey

1901.279

I'm you know you are the customer we

1903.6

want to help you do your job better or

1906.24

solve your problem better but maybe here

1908.6

are some things that I'm hearing that

1911

are different approaches to it or when

1914.159

you're looking at that you know what do

1915.84

you need what do you sort of need what

1917.919

you really not need at all kind of list

1920.799

is looking at that and saying helping

1922.44

them out with that because there's going

1923.639

to be pieces that we know from a

1925.48

technology point of view it's like no

1927.96

you don't think you need that but you

1929.76

really do need that and it does get into

1932.84

technical stuff times it's sometimes

1934.84

it's things like particular if you're

1936.919

getting into compliance related stuff so

1938.639

it may be uh security or uh like

1942.72

auditing controls or logging or it maybe

1946.96

things like we have to set up a

1948.399

development environment or production

1949.84

environment or we have to set up you

1951.48

know a a development environment a

1953.279

testing environment a production

1954.679

environment and we need to have the

1955.919

pipelines that move those things out

1957.799

they may say oh yeah we don't need that

1959.36

we'll do that later it's like no you may

1962.08

say we really need to get this now

1964.08

because we need to really hammer on that

1966.2

so that by the time we do a real like a

1968.24

full production process we have beaten

1971.48

The Living Daylights out of that thing

1972.96

and we know all of the good and the bad

1974.679

and we know that it works we don't want

1976.559

to wait till you know the last Sprint

1980

and that's where we're actually going to

1981.399

figure out what deployment looks like I

1983.6

think that is something that too often

1985.279

we miss and we either end up oversizing

1988.36

or undersizing it's a little easier to

1990.48

do in a sense it's a little easier to do

1992.88

if you do Cloud deployment because those

1994.48

things can just dynamically grow however

1997.88

that Dynamic growth can also dynamically

2000.159

grow your bill and sometimes

2003.6

your your I'll say it your architecture

2006.88

your core solution is really not

2009.96

designed for where they need to be so

2013

start that earlier on that's one of

2014.36

those things that they'll also often

2016.08

pass off and you might even as well

2017.919

because you don't want to you know start

2019.96

spending that cost on them but find ways

2022.6

to work into it and that's just an

2025.399

example that being said I think that's

2028.2

enough bonus material right now so we

2029.919

will wrap this one up we'll come back

2032.24

next time maybe a part three and maybe

2034.76

not we haven't really talked about that

2036.279

yet uh as always we're just figuring

2038.72

this out as we go but as you know there

2042

we could spend days and we mean not just

2044.32

us but all of us the greater develop or

2047

Community here could all spend forever

2049.919

talking about all these little headaches

2052.96

and gotas and all the little you know

2055.079

War Stories from our careers whether

2057.159

you've been doing it for a year or

2058.96

hundred years 100 years would be really

2061.52

fun to talk about I guess because your

2062.96

technology was not the same then but

2066.359

nevertheless uh one once again thank you

2068.919

guys for your time I don't want to waste

2070.24

any more of it go out there have a great

2071.599

day we will talk to you next time around

2075.31

[Music]