Hey, everybody.
I'm Dave Hecker and I want
to welcome you to our first
installment of our series entitled
What is Agile Development?
If you look
up the term agile development or what is agile development
on Google, you're gonna get
all these abstract and esoteric
explanations with all kinds
of, there's manifestos and there's
all theories and all this high level discussion.
It's hard for people to just
get a clear answer to what is it?
What does it really mean?
So, this series we're
gonna try to just break it
down and explain Agile Development
in clear terms that everybody can understand.
At a very high level what is agile development?
There's a few key things we could talk about.
Number one is that it's a methodology.
It's not a tool, it's not
an exact way of
writing requirements, it's not
an exact way of communicating, it's a whole methodology.
It is a type of project management, you can call it that.
But really it's a way of working as a team.
I compare it sometimes to playing basketball.
Sometimes you want to play man-to-man, other times you want to play a zone.
Those are two ways of executing the game of basketball.
Agile is a way of
executing software development project
management, so it is a project methodology.
Number two agile is iterative.
This means that we go
in tight cycles. We'll work
for a while, and then
we'll see what we get and then
we'll revisit all the plans,
make as many changes as we want and start again.
Those are usually called sprints or iterations.
Those could be a week or two weeks.
This is the total opposite of
the waterfall technique, where we
write a gigantic specification, and everybody
works away on it, and
then you get it signed by the
client and then you build to it like a blueprint.
It's like building a high rise building.
Once the blueprint is done, you
don't make any changes. That's the waterfall technique.
Agile is the total opposite.
We love changes.
We revisit the plan constantly.
So we do tight iterations.
Iteration is a huge concept in Agile.
Third concept, Agile is very streamlined.
When we do Agile development we
really favor getting to
work and digging in and doing stuff,
as opposed to having tons
of documentation and a million
meetings, and all this process and overhead.
So, in Agile, we have a lot of quick meetings.
We favor short, tight documentation
over huge documents.
We don't have a million milestones, and a ton of process overhead.
We're very, very streamlined, we want to move fast.
Number four is the concept of timeboxing.
The term timeboxing really just
means that you're going to plan
your work by time instead
of by features, and this
is a concept that takes time to get used to.
In most projects you'll say,
we want to do feature A, B
and C, and we're gonna do them in that order.
And we're gonna try to get them done in three weeks.
But, we'll try to get them done in three weeks.
But we'll see if we can possibly do that.
We're definitely gonna do those features.
In agile we time box.
We do it in the opposite way.
We say we're going to do
three weeks of development and
we're going to try to get
features A, B and C.
We're rigid on time, not on features.
If halfway through, we get it all done, we'll say, great!
Let's add in feature D. Let's keep
working, because we planned three weeks of work.
Agile is hugely collaborative.
In an Agile project, everybody is
talking to each other all the time.
It's a fast moving thing.
You don't disappear for two weeks and come back with a finished product.
So, those are the key points about Agile.
And when you put it at such a high level it sounds great.
It's so much better than the waterfall technique, right?
But in reality, there's
a lot of challenges, and Agile's tough.
We're gonna move on in this
series, and we're gonna come
back next week with the
next installment where we're gonna look
at an Agile case study and
walk our way through an actual
Agile project, which is
gonna give you an idea of how it really works.
And after that, we're gonna
drill down into specific topics like
Agile tools and the
processes around those tools, how
Agile contracts work, Agile
pricing, and the big
topic of Agile culture and a whole bunch more stuff.
So, in the meantime, be sure to
subscribe to our channel and
we'll be giving out weekly tips
and advice about outsourcing as always.
We want to hear from you, so
please leave any questions or
comments right down in the comment section.
We'll answer any questions that come in.
And we'll see you soon.