📺 Develpreneur YouTube Episode

Video + transcript

Kanban Vs. Scrum - Part 3

2022-12-15 •Youtube

Detailed Notes

This is the final part of a short series where we compare Kanban and Scrum. These popular approaches to Agile development have their own strengths and weakneses. While you can combine these two approaches, there is reasons to focus on one or the other. We discuss all of these ideas in this presentation.

This comes from the Develpreneur.com mentor series of presentations.

Transcript Text
thank you
[Music]
and then it can lead to churn where I
mentioned where you can like push stuff
into progress but then you push it back
in the to-do list
um you know some of that kind some of
that can lead into sort of like a
thrashing on tasks where you you can
move it forward just a little bit but
then you're blocked and then you have to
push it back and then you have to
document everything and then you go push
it forward a little bit and then it's
back uh a lot of times that has to do
with improperly sized tasks but there
are other things that can lead to that
as well
so we've talked about some pros we've
talked about some cons
so some of the things to think about
when you are choosing your approach you
know do I should I do Sprints should I
do scrum you know should I do Sprint
scrum or should I do maybe kanban
one of the things I've mentioned now a
couple times uh and is this a new
product or is this more like a
maintenance enhancements kind of
approach or team if it's a new product
then your your backlog is a little more
static I guess it really isn't but it's
like it it feels more static because
with a new product what the way that
thing is growing is it's because
you've got designers and
uh product owner and stuff like that and
even feedback from your customers that
you're using to
to get to uh whatever that end product
goal is and along the way you're you're
having these Sprints so you're you know
with each Sprint you just sort of you
know push some stuff in you go work on
it and the things that are in the
backlog while you're working on a Sprint
are things to continue moving forward
and enhance that product so they are in
effect
uh while there are priorities they
technically could sit there until
product completion it could be you know
those could be
what like you could early on put in a
task that ends up being the absolute
last task that you complete before you
say okay the product's done
if you're doing maintenance and
enhancements I'm sorry if you yeah if
you're doing especially more maintenance
I guess and Bug fixes but also
enhancements where you're getting that
regular stream from your customers then
you're going to get stuff on a regular
basis that maybe are are going to want
to bump priority uh bug you know defect
and bugs and defects are famous for that
where you get into something where it's
like oh we put a release out
and we're looking ahead for the next
month of development and somebody comes
in with something it's like oh this is
critical this has to be dealt with now
uh this is you know we've got half our
users can't use our application
if it's a Sprint or something like that
then yeah you could always like step
outside of your Sprint and that's
usually what happens
but if it's you know that that's going
to be more suitable to combine because
you say okay who we got available today
let's work on the tasks to get that
critical fix uh in place
the next thing is think about your T is
your team
skilled or novice in particular with the
world uh within the world of agile
because as I said it's not
simple it may seem simple on the surface
of it but actually
being comfortable with doing development
in this either of these environments is
can be a bit of a challenge kanban tends
to be a little easier to step into
because you don't have to think through
Sprints and and all of the different
things around those instead it's
basically like oh I just go to a board
and I grab a task I'm going to work on
so you don't have to understand the
process really at all
all you need to know is go to the board
find something to do
pick it move it to the end progress and
then when you're done move it to in to
the done column and that's it yeah you
don't have to get much more complicated
than that and then just say like and
when you're done you go pick another
task
so depending on your
uh your team's experience in the agile
world uh it may you know that will maybe
shift you towards hey we can do Sprints
or we can do we just need to do kanbans
for now
what's the backlog size if you're
building out something that's you know
huge
it may not combine may not be a good fit
as I mentioned that's one of those
weaknesses where it could be you know at
the Sprint with that Sprint scrum
approach you can have a huge incredible
backlog of stories and epics and all
that kind of stuff and it never really
becomes
as much a problem because when you move
into a Sprint you're basically taking
you know like an epic or a story or some
theme of tickets and you sort of move
those in
and that's really the you know the
product owner really the scrum Master is
doing those pieces of work and so the
development team has a it's just picking
from the Sprint work as opposed to
having to Sprint you know sort through
the entire backlog
um Team availability is something now
there's tools now that make it easier to
do like daily stand-ups even if you've
got a team that's all the way around the
globe
however
it's hard to do that because it ends up
being that certain you know team members
have to adjust their schedule they have
to you know it's it's really hard to
find the right time
to do that if you're you know if you've
got developers essentially running you
know 24 7 or even
five days a week but you know roughly 24
hours a day while they're doing that
is getting the the benefit out of a
stand-up so your Sprint because of the
you know Sprints drive you to have a lot
of that communication and interaction if
that's difficult to do then it may be
that it's easier to use kanban and to
keep it much more granular so you don't
have to have as much communication uh
within your team
sort of similar to the the new product
versus maintenance and enhancements and
defects is the priorities
if you know that
the tasks you're working on or the tasks
that you're going to want to be working
on for the next couple of weeks you know
during that whatever that Sprint length
is then you're great but if you have to
worry whether your priorities are going
to change daily uh and there are some
organizations that's how it works then
you're probably going to be better off
doing you know kanban because you could
actually come in and you could have
everything planned out and say okay this
is what I'm working on today this is
what the team's working on we've got
everything in progress halfway through
the day priorities change and everybody
said okay we're going to push everything
back to the backlog and we have this new
set of tasks we're doing and you're off
and running so you can be very flexible
in adjusting priorities and people talk
about you know pivots and stuff like
that if you pivot every day or you pivot
on a regular basis while it can be
frustrating at least kanban will allow
you to adapt to that better
and then there is a way there are some
ways that you can look at stuff and sort
of choose both of them so you know maybe
you have like a essentially a kanban
board
each Sprint it sort of gets reset
and you filter in initially you know
some some of your tasks that you're
going to do during that Sprint
but then you have the ability to just
throw tasks into that at any given time
so maybe you have like that Sprint
backlog
as opposed to the you know and then
you've got the full product backlog
you've got your Sprint backlog
and maybe within a Sprint you know you
treat it as a as more of a kanban
approach where it's just like just grab
something work on it
and
in that situation you may not have as
tight a
um scope or theme or story for a given
Sprint but that's also basically you
just go into it saying hey we all agree
that this is
we can't stay
uh heads down for whatever the Sprint
link that you know for two weeks for
four weeks we have to be able to adapt
and pull in new tasks very quickly
and so you may have to look at doing
some sort of a blended approach
all right questions and comments
so Rob in this particular approach when
you're dealing with
um
like new teams or essentially
established teams that then add new
people
if you're in a typical Sprint mode
this does sometimes switching to a
cabana mode for the new people
I I've had mixed on this because one of
the problems we've run into with the
Sprint
approach is the new people pick up
tickets initially may take them a couple
of Sprints to get you know
brought up to speed
um complete the tickets but then once
you get uh once you get up to speed then
all of a sudden maybe the tickets are
being completed way too soon so we have
to pull additional tickets in from the
backlog which for a while is fine and
eventually it balances out but uh what's
your take on that
that's a uh that's actually something I
didn't mention but it's a good point is
part of the challenge of Sprints is if
you bring on new resources then you
really it's it's configured in a way
that people need to join and leave the
team
within the Sprint
uh structure so it's it is very helpful
where people's like first day on the
team would be coincide with the start of
a Sprint
at their last day would coincide with
the end of a Sprint and I've worked with
organizations where that's my start date
was was strictly tied to you know a
Sprint and so if something happens and
you missed that first day then you know
maybe somewhere like okay well we'll
just wait to the next Sprint to to add a
resource
and
it has to be
uh prefaced with that as well so the
people that are planning out the Sprint
can you know understand what kind of
resources they have
now the idea of having like a a kanban
board that would be uh
uh this would be like a combo approach
is that maybe you have sprints
and you pull stuff into a Sprint
but you separately have
um a kanban team or a kanban board that
is just like hey this is outside of a
Sprint and it is a way to tackle things
that are uh adjusting priorities
so you may have something where we're
zigging and zagging our way through on a
product but we also have this separate
maybe kanban backlog of things we're
going to get to it when we can get to it
and you can use that sometimes if uh you
know if somebody's going to take a
Sprint off you know maybe you have like
somebody that's normally a Sprint uh
part of that Sprint approach that Sprint
team that maybe say okay you're going to
set out for this next one and you're
going to do more like the you know the
uh enhancements or bug fixing or or
things like that and sometimes it's it's
things like
um
documentation tasks or research or
catching up uh tests you know building
out some some additional regression or
unit tests that we've we've missed along
the way
those things may be the things that you
know and just technical debt in general
sometimes it doesn't hurt to say okay
here's our Sprints and our primary
backlog and our primary work we're doing
but as we generate technical debt we're
going to have this kanban board and as
we bring new people in it may be perfect
for you know them to pick up some of
those tasks if we have somebody that's
you know Gonna Miss like because for
example like if you've got a two-week
Sprint and somebody's got a week
vacation in there maybe it doesn't make
sense for them to have any part of the
Sprint
and instead you can shift them over and
they do kanban work for that week that
they're there
um it doesn't allow you to and it's
I think if you use that as part of
rolling on
um new you know new individuals you can
actually throw stuff out into that
kanban board that are
um tasks that are like orientation and
introductory tasks now I've done it
where we've we had Sprints sort of
um that we were focused on with a team
that I'm working with
and what we would do is just there was
this really it was closer to like a
kanban board approach where it's like
here's a list of tasks that you need to
do and just start working your way
through those and they were separate
from you know they were part of
onboarding and separate from the Sprint
and then once we got them to a point
where
they were comfortable then we could roll
them into a Sprint and before that they
you know stuff where it's like there was
always that core those core tasks were
like well we need you to understand
these things to to read this or to
review that or to set this account up
but you know all of those
must-haves for onboarding and then we
would have other stuff where it's like
hey if you've gotten this far then take
a look you know maybe here's some tasks
that you can do that would help us out
and so having a
uh like a kanban feed in or feed out
approach to Sprints may be a really good
way to go is it's you take that stuff
that's lower priority that's nice to
haves or stuff that's just never seems
to make its way into a regular Sprint
like technical debt
push that into a compound board and then
bring people in and say here you go you
can help us out with that and
particularly because like documentation
and testing and some of that that
sometimes are the technical debt kinds
of things that are sitting around
um sometimes those are perfect for
people that are new to come in and it
forces them to really get to know the
product a little bit better because
they've gotta uh you know a clear
objective something they need to learn
something they need to to do or whatever
some sort of deliverable uh that really
helps pull them into the team
all right so that I I like that now
here's a second scenario so if you were
to take an existing like monolith
application that continues to need
support but then you need to break it
out into a new application or at least
start breaking up the core components
would you
keep that in Sprint or kind of break it
into both or just switch to a cabana
model
I have seen
um
typically what I've seen and what I
think works pretty well is that you have
a
you really that's where you do split it
so you're uh your new we'll call it new
development but you're you know creating
that new version of the product lives in
a Sprint
but then and particularly like if you're
going from like 1 0 to 2.0 as you put
all the 2.0 stuff into Sprints and
you're really focusing on that so the
people that are in the Sprints are not
distracted by bugs and fixes for version
1.0 and patches
and then separately now you can do I've
seen it done where you also have like uh
you have like nude product Sprints and
you have maintenance Sprints which you
can do that but it's sometimes it's a
lot easier to have the new product
Sprints and then the maintenance kanban
because then it's just because you're
not always sure what the the level of
work is that you're going to have for
some of that maintenance and enhancement
and Bug fixes
sometimes it's easier to do it in a
kanban approach where you just say okay
we're going to just like keep working
until we have enough stuff in the
development in the done
q that we're going to say okay we're
going to do a you know a point release
and we can always release stuff like
individually we may do like a you know
ticket here ticket there because it's so
high priority but generally speaking
we're just gonna like
we're not going to bother with a release
an update or a point release until we
get a certain number of features that
are in that that done and sometimes that
works yeah sometimes it's not because
your customers are pushing to get those
things done but
particularly if you're doing like sun
setting a product or end of life
um it may be one of those where you're
saying hey we're if it's something that
we really want to push into the new
software then maybe it's something we
say hey we're not even going to do it
here we'll just take this and it's not
going to be in our kanban approach it's
going to be over in our
um in our Sprint approach so that's
another good place where you you know
sometimes you'll see that diversion so
maybe as you go through version 1.0 it's
all Sprints but then once you you know
complete or release version 1.0
you have a kanban approach to track all
of the bugs and Bug fixes and point
releases and your new development ends
up you know living in Sprints and it
does really help
the Sprint team because Sprint teams can
get really frustrated if they constantly
have these new things that are you know
punted into their Sprint and now they've
got to drop stuff they've got different
set of priorities and they're not able
to think in that Sprint mode they're
instead really forced to you know
scramble a little bit and constantly
make adjustments and so that's a it's a
great way to do it is have two because
it's two different
needs as software development is to take
the two different approaches
cool thanks Rob
other questions or comments
um my other question is like isn't it so
hard uh to hold I mean everybody
accountable in the kanban uh Sprints
because since they don't have like uh
index who are like okay maybe we did
Sprint one because kanban just keeps
continuing and I've seen whereby we just
take continue
uh taking tasks to you and you you can
see days on them whereby that
that we have had them on board for a
long time isn't it so hard running
kanban yeah when you have a bigger team
um I don't think so because if you do it
if you track who has done who has worked
on tasks yeah then kanban works really
well because you can look at I mean
because you and you'll probably
periodically you know clean out the done
so you can sort of do it from a like
maybe every week you do everything for a
week and stuff gets moved into done yeah
and then after that you can if you're a
manager you look at it and say okay well
let's just I'm going to sort of look and
see what who did what this week or and
if something sits in progress for a long
period of time then that becomes its own
little you know red flag where you look
to it and say Hey you know hey Michael
you've been sitting on this task for a
week we didn't think it was going to
take that long what's going on what can
you know is it are you blocked is there
something that you need you know some
help you need what is it that we can do
to get that thing you know moving
forward and if it is somebody that's
just you know grabs it and sits on it
then at least there's that you know you
do have that accountability where it's
like hey you've been on that for a
couple days that should be done so get
off your butt and get the work done yes
it's
it is I think it's more flexible for the
manager to be able to manage that as
they can
they can either look to see that people
are constantly you know have something
that to do they can look to see if
things are taking too long they can look
to see if people are just not getting
things done as fast as they expect them
to
and it allows people as well because
there may be tickets that are
difficult they're complex and other ones
that are very easy
um and that's another thing is you can
sort of watch it see is it somebody
always cherry picking like the easy
stuff is it you know is there somebody
that's not pushing themselves or you say
Hey you know you're picking a lot of
easy tasks I've seen you're completing
all these things that I think are
beneath you I think you need to stretch
yourself a little bit more you know
there's things like that that you can
you can do within that uh that I think
it gives you compound I think gives you
a lot of flexibility as a manager to
drive your team the way you want to
good question though okay so so what
would be your password preference I mean
this is the first time I've worked on
the kanban project so I'm I've always
been either strictly scrum agile so
any preference when it comes to I really
don't I think there's there's a value in
both of them
um personally I have like I do personal
Sprints and have for years and years now
that I have I mean it's like it's not
really scrum because
it doesn't really focus you know I don't
have a big enough team it's just me but
I do within that have the idea of I sort
of look at I sort of do a quick review
and sort of a retrospective uh maybe not
every Sprint but probably you know every
couple of Sprints
and it allows me and I could do that
with kanban
um but just with the Sprint it gives me
a little it's just easier for me in that
case it's easier for you to manage how
fast am I getting stuff done how much
should I expect that I'm going to get
done in the next you know Sprint period
which I do like two weeks so what is it
that I should expect based on history to
be able to get done in the next couple
weeks
um I could do that with kanban it's just
Sprints for me are much more it reminds
me you know regularly it's like hey
you've got a new Sprint so take a look
at what you got done take a look at what
you're you know you need to load your
backlog up and you need to adjust
priorities
um but I've been in a lot of situations
where kanban is much much easier to deal
with and uh the overhead that is
involved with Sprint just doesn't work
because the team is not that kind of a
team so it really does come down to what
what the project is and what the team's
like as far as which is uh for me which
I prefer
okay
well thank you
any other questions or comments
hearing none
so what do we learn
um hopefully
or maybe we already knew this kanban and
scrum are both options for an agile
approach to software development
as you would expect there are strengths
and weaknesses to each of these
the uh the right or the best approach
really is going to vary by team and
project and and what are your goals what
are your priorities
and more importantly uh which is I think
one of the keys to Agile in general is
it it's flexible it is agile and you can
combine them uh we've talked especially
in the even in the Q a session we've
talked about a couple different ways
here that you can combine these that you
can you know find the strengths and the
weaknesses uh and use the strengths of
both were their best and avoid them
where they're you know weak use the
other approach
and that brings us to the end of this so
I want to thank you again for your time
as always appreciate the time that you
spend working on becoming a better
developer there are plenty of plenty of
ways you can get a hold of us uh info
developmentor.com for email we have a
contact us format on the
developreneur.com we have a YouTube
channel we've got uh the developer or
Vimeo channel uh YouTube If you go
search for developreneur
d-e-v-e-l-p-r-e-n-e-u-r you will be able
to see where our channel is and our you
know we've got now I think probably
we're well over a hundred different
um
uh YouTube
uh typically 15 to 30 minute type uh
videos that are out there multiple I
think we've got about a dozen different
channels sort of like focused topics uh
and those crank out much like the
podcast when it's live you know twice a
week
Vimeo you can see some of the longer
form stuff including some of these
Mentor sessions
you have a Facebook page developreneur
and uh developer out on twitter.com you
know definitely follow us there and we
do regular multiple times a day we've
got uh both links to some of our content
but also various new sites that we
follow and and some cool information
that's out there
as always
we're just doing this because our goal
is to make every developer better and
appreciate the time that you invest in
yourself to make yourself better with
these kinds of presentations
thank you and have a good day
[Music]
Transcript Segments
10.58

thank you

18.88

[Music]

28.14

and then it can lead to churn where I

31.439

mentioned where you can like push stuff

32.759

into progress but then you push it back

34.5

in the to-do list

36.84

um you know some of that kind some of

38.52

that can lead into sort of like a

39.84

thrashing on tasks where you you can

41.879

move it forward just a little bit but

43.92

then you're blocked and then you have to

45.6

push it back and then you have to

46.98

document everything and then you go push

48.539

it forward a little bit and then it's

49.559

back uh a lot of times that has to do

51.84

with improperly sized tasks but there

55.559

are other things that can lead to that

57.3

as well

60.3

so we've talked about some pros we've

63.359

talked about some cons

64.799

so some of the things to think about

66.72

when you are choosing your approach you

70.799

know do I should I do Sprints should I

72.72

do scrum you know should I do Sprint

74.76

scrum or should I do maybe kanban

78.42

one of the things I've mentioned now a

79.92

couple times uh and is this a new

82.439

product or is this more like a

85.38

maintenance enhancements kind of

88.02

approach or team if it's a new product

92.119

then your your backlog is a little more

97.619

static I guess it really isn't but it's

100.5

like it it feels more static because

104.28

with a new product what the way that

106.259

thing is growing is it's because

108.479

you've got designers and

110.759

uh product owner and stuff like that and

112.86

even feedback from your customers that

114.6

you're using to

116.52

to get to uh whatever that end product

120.42

goal is and along the way you're you're

122.64

having these Sprints so you're you know

124.619

with each Sprint you just sort of you

126.36

know push some stuff in you go work on

127.92

it and the things that are in the

129.959

backlog while you're working on a Sprint

131.64

are things to continue moving forward

134.16

and enhance that product so they are in

138.599

effect

139.68

uh while there are priorities they

141.9

technically could sit there until

144.06

product completion it could be you know

146.22

those could be

147.54

what like you could early on put in a

149.58

task that ends up being the absolute

151.14

last task that you complete before you

154.02

say okay the product's done

157.26

if you're doing maintenance and

158.4

enhancements I'm sorry if you yeah if

160.5

you're doing especially more maintenance

162.06

I guess and Bug fixes but also

164.64

enhancements where you're getting that

166.379

regular stream from your customers then

169.26

you're going to get stuff on a regular

170.76

basis that maybe are are going to want

173.94

to bump priority uh bug you know defect

177.42

and bugs and defects are famous for that

180.599

where you get into something where it's

181.92

like oh we put a release out

183.68

and we're looking ahead for the next

185.879

month of development and somebody comes

188.04

in with something it's like oh this is

189.18

critical this has to be dealt with now

191.159

uh this is you know we've got half our

193.62

users can't use our application

195.9

if it's a Sprint or something like that

197.58

then yeah you could always like step

199.44

outside of your Sprint and that's

201.06

usually what happens

202.86

but if it's you know that that's going

204.78

to be more suitable to combine because

206.159

you say okay who we got available today

207.62

let's work on the tasks to get that

210.36

critical fix uh in place

215.659

the next thing is think about your T is

218.34

your team

220.019

skilled or novice in particular with the

223.08

world uh within the world of agile

224.76

because as I said it's not

227.159

simple it may seem simple on the surface

230.34

of it but actually

232.04

being comfortable with doing development

235.26

in this either of these environments is

238.56

can be a bit of a challenge kanban tends

241.319

to be a little easier to step into

243.799

because you don't have to think through

245.879

Sprints and and all of the different

247.739

things around those instead it's

250.019

basically like oh I just go to a board

251.939

and I grab a task I'm going to work on

253.439

so you don't have to understand the

255.659

process really at all

258

all you need to know is go to the board

260.1

find something to do

262.38

pick it move it to the end progress and

265.199

then when you're done move it to in to

266.82

the done column and that's it yeah you

269.28

don't have to get much more complicated

271.979

than that and then just say like and

273.419

when you're done you go pick another

274.86

task

277.139

so depending on your

279.479

uh your team's experience in the agile

282.3

world uh it may you know that will maybe

285.479

shift you towards hey we can do Sprints

287.4

or we can do we just need to do kanbans

289.38

for now

290.46

what's the backlog size if you're

292.5

building out something that's you know

295.08

huge

296.22

it may not combine may not be a good fit

298.56

as I mentioned that's one of those

299.639

weaknesses where it could be you know at

301.74

the Sprint with that Sprint scrum

303.3

approach you can have a huge incredible

305.88

backlog of stories and epics and all

308.759

that kind of stuff and it never really

310.74

becomes

312.479

as much a problem because when you move

315.96

into a Sprint you're basically taking

317.639

you know like an epic or a story or some

321.6

theme of tickets and you sort of move

323.22

those in

324.3

and that's really the you know the

326.58

product owner really the scrum Master is

328.139

doing those pieces of work and so the

331.199

development team has a it's just picking

333.6

from the Sprint work as opposed to

335.34

having to Sprint you know sort through

337.139

the entire backlog

340.74

um Team availability is something now

342.6

there's tools now that make it easier to

345.539

do like daily stand-ups even if you've

347.88

got a team that's all the way around the

349.8

globe

350.82

however

352.82

it's hard to do that because it ends up

355.259

being that certain you know team members

356.94

have to adjust their schedule they have

358.44

to you know it's it's really hard to

360.78

find the right time

362.639

to do that if you're you know if you've

365.58

got developers essentially running you

367.38

know 24 7 or even

370.139

five days a week but you know roughly 24

372.78

hours a day while they're doing that

374.82

is getting the the benefit out of a

378.18

stand-up so your Sprint because of the

381.9

you know Sprints drive you to have a lot

384.539

of that communication and interaction if

387.18

that's difficult to do then it may be

389.1

that it's easier to use kanban and to

391.08

keep it much more granular so you don't

393.18

have to have as much communication uh

396.24

within your team

398.699

sort of similar to the the new product

400.979

versus maintenance and enhancements and

403.08

defects is the priorities

406.979

if you know that

409.5

the tasks you're working on or the tasks

411.78

that you're going to want to be working

412.68

on for the next couple of weeks you know

414.24

during that whatever that Sprint length

415.62

is then you're great but if you have to

418.199

worry whether your priorities are going

420

to change daily uh and there are some

423

organizations that's how it works then

425.88

you're probably going to be better off

427.08

doing you know kanban because you could

429.3

actually come in and you could have

430.44

everything planned out and say okay this

432.3

is what I'm working on today this is

433.74

what the team's working on we've got

434.94

everything in progress halfway through

436.979

the day priorities change and everybody

439.139

said okay we're going to push everything

440.34

back to the backlog and we have this new

442.919

set of tasks we're doing and you're off

445.139

and running so you can be very flexible

447.56

in adjusting priorities and people talk

451.38

about you know pivots and stuff like

452.88

that if you pivot every day or you pivot

454.919

on a regular basis while it can be

456.78

frustrating at least kanban will allow

459.36

you to adapt to that better

462.96

and then there is a way there are some

466.02

ways that you can look at stuff and sort

467.759

of choose both of them so you know maybe

471.06

you have like a essentially a kanban

474

board

475.56

each Sprint it sort of gets reset

478.68

and you filter in initially you know

482.22

some some of your tasks that you're

484.319

going to do during that Sprint

486.24

but then you have the ability to just

488.16

throw tasks into that at any given time

490.08

so maybe you have like that Sprint

491.699

backlog

493.5

as opposed to the you know and then

495.24

you've got the full product backlog

496.62

you've got your Sprint backlog

498.36

and maybe within a Sprint you know you

500.099

treat it as a as more of a kanban

502.8

approach where it's just like just grab

504

something work on it

505.379

and

507

in that situation you may not have as

509.4

tight a

511.259

um scope or theme or story for a given

513.839

Sprint but that's also basically you

516

just go into it saying hey we all agree

517.68

that this is

519.899

we can't stay

522.24

uh heads down for whatever the Sprint

525.18

link that you know for two weeks for

526.44

four weeks we have to be able to adapt

529.86

and pull in new tasks very quickly

532.38

and so you may have to look at doing

534.779

some sort of a blended approach

540.54

all right questions and comments

546.3

so Rob in this particular approach when

549.72

you're dealing with

551.76

um

552.6

like new teams or essentially

555.12

established teams that then add new

558.6

people

560.279

if you're in a typical Sprint mode

563.94

this does sometimes switching to a

565.98

cabana mode for the new people

568.86

I I've had mixed on this because one of

571.32

the problems we've run into with the

572.58

Sprint

573.36

approach is the new people pick up

577.2

tickets initially may take them a couple

579.66

of Sprints to get you know

581.88

brought up to speed

584.58

um complete the tickets but then once

586.38

you get uh once you get up to speed then

588.72

all of a sudden maybe the tickets are

590.459

being completed way too soon so we have

592.92

to pull additional tickets in from the

594.42

backlog which for a while is fine and

596.82

eventually it balances out but uh what's

599.399

your take on that

601.14

that's a uh that's actually something I

603.18

didn't mention but it's a good point is

605.72

part of the challenge of Sprints is if

608.399

you bring on new resources then you

612.24

really it's it's configured in a way

614.7

that people need to join and leave the

617.279

team

618.24

within the Sprint

620.04

uh structure so it's it is very helpful

623.1

where people's like first day on the

625.14

team would be coincide with the start of

628.019

a Sprint

628.98

at their last day would coincide with

631.5

the end of a Sprint and I've worked with

633.959

organizations where that's my start date

636.74

was was strictly tied to you know a

640.5

Sprint and so if something happens and

642.06

you missed that first day then you know

644.459

maybe somewhere like okay well we'll

645.54

just wait to the next Sprint to to add a

647.76

resource

648.899

and

650.519

it has to be

652.32

uh prefaced with that as well so the

654.6

people that are planning out the Sprint

656.12

can you know understand what kind of

658.44

resources they have

660.12

now the idea of having like a a kanban

662.76

board that would be uh

665.1

uh this would be like a combo approach

667.2

is that maybe you have sprints

669.3

and you pull stuff into a Sprint

671.82

but you separately have

674.7

um a kanban team or a kanban board that

677.279

is just like hey this is outside of a

679.079

Sprint and it is a way to tackle things

682.68

that are uh adjusting priorities

685.98

so you may have something where we're

688.44

zigging and zagging our way through on a

690.54

product but we also have this separate

694.56

maybe kanban backlog of things we're

698.1

going to get to it when we can get to it

700.98

and you can use that sometimes if uh you

703.44

know if somebody's going to take a

705.18

Sprint off you know maybe you have like

706.68

somebody that's normally a Sprint uh

708.24

part of that Sprint approach that Sprint

710.04

team that maybe say okay you're going to

711.72

set out for this next one and you're

713.7

going to do more like the you know the

716.579

uh enhancements or bug fixing or or

719.459

things like that and sometimes it's it's

721.62

things like

722.94

um

724.399

documentation tasks or research or

727.8

catching up uh tests you know building

730.56

out some some additional regression or

732.839

unit tests that we've we've missed along

734.579

the way

735.72

those things may be the things that you

737.7

know and just technical debt in general

740.579

sometimes it doesn't hurt to say okay

742.26

here's our Sprints and our primary

745.62

backlog and our primary work we're doing

747.54

but as we generate technical debt we're

750.12

going to have this kanban board and as

752.16

we bring new people in it may be perfect

754.2

for you know them to pick up some of

756.3

those tasks if we have somebody that's

758.88

you know Gonna Miss like because for

761.279

example like if you've got a two-week

762.779

Sprint and somebody's got a week

764.04

vacation in there maybe it doesn't make

766.019

sense for them to have any part of the

767.639

Sprint

768.72

and instead you can shift them over and

770.639

they do kanban work for that week that

772.32

they're there

774.12

um it doesn't allow you to and it's

776.459

I think if you use that as part of

778.68

rolling on

780.42

um new you know new individuals you can

783.42

actually throw stuff out into that

784.86

kanban board that are

787.68

um tasks that are like orientation and

790.32

introductory tasks now I've done it

792.899

where we've we had Sprints sort of

797.399

um that we were focused on with a team

799.079

that I'm working with

800.94

and what we would do is just there was

803.399

this really it was closer to like a

805.56

kanban board approach where it's like

807.06

here's a list of tasks that you need to

809.639

do and just start working your way

811.26

through those and they were separate

813.48

from you know they were part of

814.86

onboarding and separate from the Sprint

817.26

and then once we got them to a point

819.72

where

821.399

they were comfortable then we could roll

823.56

them into a Sprint and before that they

826.32

you know stuff where it's like there was

828

always that core those core tasks were

830.94

like well we need you to understand

832.44

these things to to read this or to

835.2

review that or to set this account up

837.06

but you know all of those

839

must-haves for onboarding and then we

841.5

would have other stuff where it's like

842.76

hey if you've gotten this far then take

845.1

a look you know maybe here's some tasks

846.48

that you can do that would help us out

849

and so having a

851.339

uh like a kanban feed in or feed out

855.98

approach to Sprints may be a really good

859.2

way to go is it's you take that stuff

861.66

that's lower priority that's nice to

863.639

haves or stuff that's just never seems

867.3

to make its way into a regular Sprint

869.639

like technical debt

871.62

push that into a compound board and then

873.42

bring people in and say here you go you

874.74

can help us out with that and

876.48

particularly because like documentation

877.8

and testing and some of that that

879.3

sometimes are the technical debt kinds

881.399

of things that are sitting around

883.98

um sometimes those are perfect for

885.42

people that are new to come in and it

887.519

forces them to really get to know the

889.44

product a little bit better because

890.88

they've gotta uh you know a clear

892.98

objective something they need to learn

894.36

something they need to to do or whatever

896.579

some sort of deliverable uh that really

899.16

helps pull them into the team

904.199

all right so that I I like that now

907.88

here's a second scenario so if you were

911.16

to take an existing like monolith

913.92

application that continues to need

915.72

support but then you need to break it

917.579

out into a new application or at least

920.04

start breaking up the core components

922.579

would you

924.54

keep that in Sprint or kind of break it

928.079

into both or just switch to a cabana

930.18

model

931.019

I have seen

933.06

um

934.5

typically what I've seen and what I

936.36

think works pretty well is that you have

938.82

a

940.56

you really that's where you do split it

942.54

so you're uh your new we'll call it new

945.839

development but you're you know creating

948.12

that new version of the product lives in

950.94

a Sprint

952.32

but then and particularly like if you're

954.24

going from like 1 0 to 2.0 as you put

957.12

all the 2.0 stuff into Sprints and

960

you're really focusing on that so the

961.62

people that are in the Sprints are not

963.18

distracted by bugs and fixes for version

967.019

1.0 and patches

969.12

and then separately now you can do I've

971.399

seen it done where you also have like uh

973.26

you have like nude product Sprints and

975.3

you have maintenance Sprints which you

977.639

can do that but it's sometimes it's a

979.5

lot easier to have the new product

980.88

Sprints and then the maintenance kanban

983.88

because then it's just because you're

986.579

not always sure what the the level of

989.399

work is that you're going to have for

991.079

some of that maintenance and enhancement

992.699

and Bug fixes

994.8

sometimes it's easier to do it in a

996.779

kanban approach where you just say okay

998.1

we're going to just like keep working

999.42

until we have enough stuff in the

1001.1

development in the done

1003.139

q that we're going to say okay we're

1005.42

going to do a you know a point release

1007.24

and we can always release stuff like

1009.62

individually we may do like a you know

1011.3

ticket here ticket there because it's so

1012.86

high priority but generally speaking

1014.3

we're just gonna like

1015.86

we're not going to bother with a release

1017.66

an update or a point release until we

1021.139

get a certain number of features that

1022.639

are in that that done and sometimes that

1025.4

works yeah sometimes it's not because

1027.199

your customers are pushing to get those

1029.48

things done but

1031.04

particularly if you're doing like sun

1032.6

setting a product or end of life

1035.839

um it may be one of those where you're

1037.1

saying hey we're if it's something that

1040.1

we really want to push into the new

1042.86

software then maybe it's something we

1044.839

say hey we're not even going to do it

1046.1

here we'll just take this and it's not

1047.9

going to be in our kanban approach it's

1049.58

going to be over in our

1051.74

um in our Sprint approach so that's

1054.14

another good place where you you know

1055.7

sometimes you'll see that diversion so

1057.44

maybe as you go through version 1.0 it's

1059.24

all Sprints but then once you you know

1061.64

complete or release version 1.0

1064.58

you have a kanban approach to track all

1066.62

of the bugs and Bug fixes and point

1068.419

releases and your new development ends

1070.94

up you know living in Sprints and it

1072.98

does really help

1074.96

the Sprint team because Sprint teams can

1077.24

get really frustrated if they constantly

1079.34

have these new things that are you know

1081.559

punted into their Sprint and now they've

1083.539

got to drop stuff they've got different

1084.919

set of priorities and they're not able

1087.14

to think in that Sprint mode they're

1090.74

instead really forced to you know

1092.74

scramble a little bit and constantly

1094.82

make adjustments and so that's a it's a

1097.46

great way to do it is have two because

1099.14

it's two different

1100.539

needs as software development is to take

1103.16

the two different approaches

1107.36

cool thanks Rob

1109.88

other questions or comments

1112.76

um my other question is like isn't it so

1114.74

hard uh to hold I mean everybody

1117.44

accountable in the kanban uh Sprints

1121.7

because since they don't have like uh

1123.679

index who are like okay maybe we did

1125.6

Sprint one because kanban just keeps

1127.94

continuing and I've seen whereby we just

1130.46

take continue

1132.039

uh taking tasks to you and you you can

1135.62

see days on them whereby that

1137.84

that we have had them on board for a

1140.72

long time isn't it so hard running

1143.6

kanban yeah when you have a bigger team

1147.14

um I don't think so because if you do it

1148.7

if you track who has done who has worked

1152.48

on tasks yeah then kanban works really

1155.299

well because you can look at I mean

1156.799

because you and you'll probably

1157.76

periodically you know clean out the done

1159.679

so you can sort of do it from a like

1162.62

maybe every week you do everything for a

1164.72

week and stuff gets moved into done yeah

1167.96

and then after that you can if you're a

1171.08

manager you look at it and say okay well

1172.64

let's just I'm going to sort of look and

1174.02

see what who did what this week or and

1177.5

if something sits in progress for a long

1179.6

period of time then that becomes its own

1181.4

little you know red flag where you look

1183.14

to it and say Hey you know hey Michael

1185.299

you've been sitting on this task for a

1187.76

week we didn't think it was going to

1188.9

take that long what's going on what can

1191.24

you know is it are you blocked is there

1194.12

something that you need you know some

1195.62

help you need what is it that we can do

1198.14

to get that thing you know moving

1199.94

forward and if it is somebody that's

1201.799

just you know grabs it and sits on it

1203.84

then at least there's that you know you

1205.58

do have that accountability where it's

1207.799

like hey you've been on that for a

1209.12

couple days that should be done so get

1211.46

off your butt and get the work done yes

1214.16

it's

1215.78

it is I think it's more flexible for the

1218.48

manager to be able to manage that as

1220.1

they can

1221.299

they can either look to see that people

1223.28

are constantly you know have something

1224.96

that to do they can look to see if

1226.88

things are taking too long they can look

1228.38

to see if people are just not getting

1230.059

things done as fast as they expect them

1231.86

to

1232.9

and it allows people as well because

1235.22

there may be tickets that are

1237.2

difficult they're complex and other ones

1240.26

that are very easy

1242.36

um and that's another thing is you can

1243.44

sort of watch it see is it somebody

1244.7

always cherry picking like the easy

1246.2

stuff is it you know is there somebody

1249.32

that's not pushing themselves or you say

1251.059

Hey you know you're picking a lot of

1252.38

easy tasks I've seen you're completing

1254

all these things that I think are

1255.32

beneath you I think you need to stretch

1257.36

yourself a little bit more you know

1258.559

there's things like that that you can

1259.82

you can do within that uh that I think

1263.059

it gives you compound I think gives you

1264.44

a lot of flexibility as a manager to

1266.419

drive your team the way you want to

1269.539

good question though okay so so what

1272.72

would be your password preference I mean

1274.82

this is the first time I've worked on

1276.32

the kanban project so I'm I've always

1279.38

been either strictly scrum agile so

1284.08

any preference when it comes to I really

1287.48

don't I think there's there's a value in

1289.46

both of them

1290.78

um personally I have like I do personal

1293

Sprints and have for years and years now

1297.26

that I have I mean it's like it's not

1299.179

really scrum because

1301.059

it doesn't really focus you know I don't

1303.98

have a big enough team it's just me but

1306.62

I do within that have the idea of I sort

1308.72

of look at I sort of do a quick review

1310.7

and sort of a retrospective uh maybe not

1314.179

every Sprint but probably you know every

1315.679

couple of Sprints

1317.02

and it allows me and I could do that

1319.46

with kanban

1321.44

um but just with the Sprint it gives me

1324.2

a little it's just easier for me in that

1326.419

case it's easier for you to manage how

1328.039

fast am I getting stuff done how much

1329.84

should I expect that I'm going to get

1331.159

done in the next you know Sprint period

1333.14

which I do like two weeks so what is it

1335.6

that I should expect based on history to

1338.539

be able to get done in the next couple

1340.4

weeks

1341.78

um I could do that with kanban it's just

1344.659

Sprints for me are much more it reminds

1347.24

me you know regularly it's like hey

1348.799

you've got a new Sprint so take a look

1351.08

at what you got done take a look at what

1352.7

you're you know you need to load your

1354.32

backlog up and you need to adjust

1355.94

priorities

1358.22

um but I've been in a lot of situations

1360.38

where kanban is much much easier to deal

1362.659

with and uh the overhead that is

1366.26

involved with Sprint just doesn't work

1367.58

because the team is not that kind of a

1370.4

team so it really does come down to what

1372.62

what the project is and what the team's

1374.419

like as far as which is uh for me which

1376.76

I prefer

1378.38

okay

1380.059

well thank you

1381.76

any other questions or comments

1389.78

hearing none

1391.7

so what do we learn

1393.74

um hopefully

1394.94

or maybe we already knew this kanban and

1397.159

scrum are both options for an agile

1399.74

approach to software development

1401.9

as you would expect there are strengths

1403.82

and weaknesses to each of these

1405.919

the uh the right or the best approach

1409.039

really is going to vary by team and

1411.14

project and and what are your goals what

1413.299

are your priorities

1414.799

and more importantly uh which is I think

1417.799

one of the keys to Agile in general is

1420.02

it it's flexible it is agile and you can

1424.039

combine them uh we've talked especially

1426.2

in the even in the Q a session we've

1427.76

talked about a couple different ways

1429.02

here that you can combine these that you

1431.48

can you know find the strengths and the

1433.46

weaknesses uh and use the strengths of

1435.919

both were their best and avoid them

1437.84

where they're you know weak use the

1439.82

other approach

1442.52

and that brings us to the end of this so

1444.38

I want to thank you again for your time

1446.12

as always appreciate the time that you

1448.64

spend working on becoming a better

1450.32

developer there are plenty of plenty of

1453.26

ways you can get a hold of us uh info

1455.32

developmentor.com for email we have a

1458.12

contact us format on the

1459.32

developreneur.com we have a YouTube

1461

channel we've got uh the developer or

1464.12

Vimeo channel uh YouTube If you go

1466.659

search for developreneur

1471.039

d-e-v-e-l-p-r-e-n-e-u-r you will be able

1473.179

to see where our channel is and our you

1475.159

know we've got now I think probably

1477.38

we're well over a hundred different

1480.5

um

1481.34

uh YouTube

1483.26

uh typically 15 to 30 minute type uh

1486.74

videos that are out there multiple I

1489.02

think we've got about a dozen different

1490.34

channels sort of like focused topics uh

1493.34

and those crank out much like the

1495.08

podcast when it's live you know twice a

1497.6

week

1498.32

Vimeo you can see some of the longer

1500.299

form stuff including some of these

1501.62

Mentor sessions

1503.48

you have a Facebook page developreneur

1506.02

and uh developer out on twitter.com you

1509.9

know definitely follow us there and we

1511.64

do regular multiple times a day we've

1514.1

got uh both links to some of our content

1516.5

but also various new sites that we

1518.9

follow and and some cool information

1520.52

that's out there

1522.2

as always

1523.7

we're just doing this because our goal

1525.799

is to make every developer better and

1528.38

appreciate the time that you invest in

1530.48

yourself to make yourself better with

1532.039

these kinds of presentations

1534.98

thank you and have a good day

1537.63

[Music]