- One of the key ways that Agile teams deliver is
that they try to work at a predictable pace.
You'll see this in principle eight of the manifesto.
Agile processes promote sustainable development.
The developers should maintain a constant pace.
So the term predictable has been used as shorthand
for sustainable and constant.
But what does it mean to deliver predictably?
We've seen in the penny game
that you can deliver a small stream of work quickly
through a system.
The key is to make sure that you're breaking down the work
into smaller batches.
Typically, an Agile team will write user stories
to represent this batch of work.
Then at the beginning of each sprint,
the team will commit to delivering a few of those batches.
This is often called the sprinkle.
Most Agile teams will deliver the work product
in a short iteration that's typically called a sprint.
A sprint is usually two weeks long.
The reason that most Agile teams deliver in sprints is
that it's a very well-structured way
to deliver products quickly.
Principle three in the Agile Manifesto suggests
that you should deliver in a shorter timescale.
That means that every two weeks the customer can expect
to receive all of the user stories in the sprinkle.
Now, I'm using a lot of terms from Scrum
because Scrum is the most popular Agile framework.
Later, on we'll show how Scrum is different
from the Agile mindset.
So for now, just remember
that you can use many Agile practices
to predictably deliver small batches of work
in a short iteration.
Remember that Agile teams focus on delivering predictably
in a short timeframe.
They don't rely on long-term plans.
Traditional waterfall project planning
uses the opposite process.
Traditional projects prioritize
creating long-term plans first
with project milestones that can be pretty spread out.
The customer might have to wait months or even years
to get a glimpse at working software.
Agile teams are popular
because managers will often prefer predictability
over long-term planning.
Imagine that you're a CIO for a large software company.
You may have managed dozens or even hundreds
of large projects.
Over time, you'll probably recognize
that plans are not guarantees.
Many projects are late or go over budget.
Some projects are even canceled,
which is a huge waste of time and money.
So these executives will prefer predictable delivery
over a well-planned project.
It's better to see what you're paying for every two weeks
than it is to continue funding a project
with distant milestones.
One thing you might be wondering is
how can you deliver a large software product
without planning?
But you have to remember that planning
and delivering are two different things.
If most of your long-term plans don't work out,
then you should question the value of long-term planning.
Besides, Agile teams don't eliminate planning.
They're just trying to eliminate long-term planning.
In fact, Agile teams spend a good deal of time planning.
They just try to focus on short-term plans every two weeks.
So in the end, many executives
and customers prefer short-term predictable delivery
over long-term plans with an uncertain outcome.