From the course: Agile Foundations

Deliver at a predictable pace

From the course: Agile Foundations

Deliver at a predictable pace

- 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 sprint goal. 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 sprint goal. 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 a 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.

Contents