Executing a Kanban Project

Video Activity
Join over 3 million cybersecurity professionals advancing their career
Sign up with
Required fields are marked with an *
or

Already have an account? Sign In »

Time
3 hours 55 minutes
Difficulty
Intermediate
CEU/CPE
4
Video Transcription
00:00
>> Hello and welcome to Lesson 5.6,
00:00
our video lab on executing a Kanban Project.
00:00
I'm your instructor Cain and don't forget that I have
00:00
a webcam in my face so if you
00:00
see me doing the old Bob and weave,
00:00
that means I'm trying to look around at
00:00
my monitor so let's talk
00:00
about executing a Kanban Project.
00:00
Interestingly enough,
00:00
I was today years old when I found out that one of
00:00
the individuals that I went to dive school with in
00:00
the military is now the director
00:00
for sales for this Reich organization that does project
00:00
management software so it's
00:00
a small-world of the 15 of us has started,
00:00
he and I are the only two they graduated,
00:00
which goes to show you how small that world actually is.
00:00
Now we're both in
00:00
the project management space, which is cool.
00:00
Anyway, let's talk about
00:00
building and executing a Kanban project.
00:00
Using this particular tool its pretty
00:00
similar to DevOps in the sense that you can
00:00
add items to the backlog or to
00:00
the to-do list and we're using Kanban boards because
00:00
we don't want to necessarily structure ourselves and have
00:00
these formalized sprints and formalized
00:00
project management processes because we want to be Agile.
00:00
The upside to using
00:00
Kanban boards and executing a project that way is you can
00:00
also use sprints and you can
00:00
still use other Agile methodologies while using
00:00
the Kanban board tool
00:00
and processes and I actually really liked
00:00
this particular software tool because for
00:00
those of you that are more traditional project managers,
00:00
you can bounce from the Kanban board over
00:00
to a normal Gantt chart and once you've put
00:00
in the dates that you're
00:00
going to be working on things
00:00
and their various dependencies,
00:00
then you can still have
00:00
a relatively traditional projects schedule
00:00
while being able to leverage Agile using Kanban boards.
00:00
We add items to our to-do list
00:00
like you normally would and then remember,
00:00
because I'm using the pole system of work as
00:00
the executer of the task I'm going to bring it to me,
00:00
assign it to me,
00:00
and then work on it,
00:00
complete it and move it over.
00:00
If we're using pure Kanban,
00:00
what that means is no sprints for not using scrum.
00:00
This is the only Agile methodologies that we're doing.
00:00
I'm actually going to move all this stuff over
00:00
here so let's say that's done [NOISE].
00:00
Every day when I
00:00
come into work during the execution phase,
00:00
I'm going to look at the items that are in
00:00
the to-do log and I,
00:00
as the developer, I'm going to
00:00
decide what I want to work on.
00:00
Now, we also can look at
00:00
prioritization so we can have things be high-priority.
00:00
This one will be a low priority,
00:00
I already mentioned that I'm going to have
00:00
to Bob my head a lot for this,
00:00
that's normal, fine,
00:00
this one is also low.
00:00
I came into work on a random Tuesday and I was
00:00
looking at my to-do swim lane in the Kanban board,
00:00
I would see that to-do item number
00:00
two is probably the one that I want
00:00
to focus on just
00:00
because it's a high priority and the other ones are not.
00:00
I would say, okay, I'm
00:00
going to go ahead and start working on that.
00:00
I grab it and we run the developer,
00:00
I'm not the product manager,
00:00
nobody's necessarily telling you what to-do.
00:00
I've been given strategic guidance
00:00
by the project manager or the product owner.
00:00
There's different titles, but it's basically
00:00
the same function and I'm going to then say,
00:00
I'm going to go ahead and start working on this.
00:00
I'm going to go ahead and open it up,
00:00
I'm going to assign it to myself,
00:00
I'm the only one that's [LAUGHTER] in
00:00
the project at this moment,
00:00
so not real exciting.
00:00
But I can also put in comments,
00:00
things of that nature,
00:00
I can put in when I want to start working on it,
00:00
I can set a due date for myself, like,
00:00
I'm going to have this done by
00:00
Thursday and then go ahead and close that out.
00:00
Now, I've got my
00:00
to-do item that I'm going to be working on.
00:00
Notice, I'm not getting
00:00
more to-do items because
00:00
we're not using that sprint methodology so
00:00
its pure Kanban [NOISE]
00:00
so I'm just going to be working on one thing
00:00
at a time until it's
00:00
done and then I'm going to move on to the next thing.
00:00
This is my to-do item, it's whatever,
00:00
I'm going to write my code
00:00
in the development environment,
00:00
I'm going to work on it.
00:00
Do my own individual testing
00:00
as a developer and I think it's good to
00:00
go so now I'm going to move it to the done pile.
00:00
In this particular setup here,
00:00
you can say that you're done pile is actually production,
00:00
in which case I'd want to add
00:00
an additional swim lane probably for
00:00
the user acceptance testing
00:00
or if you leave it over here and once I complete it,
00:00
I notify somebody or I reassign it versus
00:00
another techniques so I've assigned it to myself.
00:00
I've built the thing. Once I've
00:00
built it and put it into the test server,
00:00
I can then assign it to somebody
00:00
else and then have them be notified via
00:00
email that they're going to test it or that I
00:00
need them to test it, either way.
00:00
But the point is that
00:00
work is flowing from that pole system.
00:00
I've done that item and now it's complete,
00:00
it could be done early,
00:00
done late, whatever, doesn't really matter.
00:00
What I don't want to have as
00:00
a developer is I don't want to have
00:00
a empty swim lane
00:00
for the things that I'm working on for obvious reasons,
00:00
unless I go on vacation and I want to be productive.
00:00
Then I'm going to go back to
00:00
the to-do item and I'm going to look and see
00:00
what other things here are pressing.
00:00
These are low-priority,
00:00
I'm not going to worry about them,
00:00
I'm going to go ahead and grab one of
00:00
these normal items and then I'm going to
00:00
start working on it so I'm going to assign it to myself,
00:00
take ownership of it.
00:00
Again, put in whatever comments,
00:00
questions or whatever I
00:00
have and then that's my thing I'm going to be working on.
00:00
Then I start working on it and let's say
00:00
that I'm working on it and I get
00:00
a email or some notification from
00:00
the product owner or
00:00
the customer that whatever that thing was,
00:00
we don't want that anymore.
00:00
Because again, we want to be able to respond to change so
00:00
even though I've got it 99 percent complete,
00:00
I'm about to write my last line
00:00
of code and be done with it,
00:00
if its canceled its canceled.
00:00
The customer says they don't want it anymore, fine,
00:00
go ahead and throw it into the canceled bucket and go
00:00
back and grab whatever
00:00
the next thing is going to be so
00:00
I'm going to grab this send report.
00:00
The key element here is,
00:00
as a developer, nobody is telling me what to-do.
00:00
I'm looking at the vision of the project,
00:00
I'm looking at what's in the backlog or the to-do lists,
00:00
and I'm making determinations based on that,
00:00
that's the essence of the pole work system.
00:00
If you add in, say,
00:00
scrum and you add in the sprints,
00:00
then you're taking items out of
00:00
the backlog and you're putting them
00:00
into this particular sprint.
00:00
Not exactly a pull system because you have
00:00
a product owner that's pushing work to you
00:00
based on what they think you need to be doing so
00:00
true Kanban execution is very little interfacing.
00:00
Although, when you have meetings and stuff,
00:00
but there's very little direction being given to
00:00
you by your leadership
00:00
on what you're going to be working on.
00:00
The upside of this, as you can imagine,
00:00
if I've got 1015 developers working on a given project,
00:00
I don't have to manage their bottlenecks.
00:00
I don't have to worry about the fact that
00:00
Cain is sitting around doing
00:00
nothing because he's out of work
00:00
for this sprint and he is not
00:00
proactive enough to go and talk to one of
00:00
the other developers and pick up work from them.
00:00
It's a good way of looking at
00:00
an Agile project from almost a leader list standpoint,
00:00
the leaders set the vision,
00:00
the leader sets the priority,
00:00
the leader gives information and
00:00
guidance over to the developers
00:00
on what they should be working on,
00:00
but it's actually the developers that
00:00
determine the sprint velocity.
00:00
They determine the how much work they can get done.
00:00
As research has indicated,
00:00
this type of behavior actually does
00:00
make many mature teams more
00:00
productive because there's not the idea that while I've
00:00
only got these five things to work on this sprint,
00:00
I'm going to work on
00:00
these five things I'm going to take my time,
00:00
its not going to be that hard.
00:00
They're constantly pulling work
00:00
and there's a good chance that if you have,
00:00
excuse me, a big enough team,
00:00
they're going to pull work at
00:00
a faster rate than what you would assign work to them,
00:00
that's the essence of executing a Kanban project.
00:00
In this video, we had
00:00
a video lab executing a Kanban project,
00:00
I got to play with a new piece of software
00:00
from one of my friends, so that's always a winner.
00:00
Thank you so much and I look forward to
00:00
seeing you at the next video,
00:00
which is Module 6,
00:00
our conclusion. Thank you.
Up Next