In 1910, the builders of early telephone systems faced a serious challenge. They needed to predict how many phone lines, circuits, and switchboard operators they would need, yet the volume and individual lengths of calls were both quite variable. It wasn’t at all obvious how to best utilize the equipment and make the minimum investment […]
Queueing theory is a body of mathematics which predicts how work flowing through an organization will behave. Queueing theory is used to design phone systems, Internet networking, traffic control systems, and other types of systems which manage work in packets. Over the last 100 years, we’ve learned a lot about queueing theory and we know […]
In Achieve Agility with the Right Batch, we explored how and why to define a batch which delivers value. Now we’ll look at how to make your system deliver more batches faster.
We start by envisioning the development process as a system or machine turning ideas into saleable stuff. Our work is divided into batches, which are carefully defined so each one will deliver value. During development, each batch moves through a series of activities from start to finish. The system can be optimized by applying the tools of queuing theory to this batch-and-activity model.
Splitting development work into small, independent batches speeds up software development because it shortens the feedback loops dramatically. (See What Makes Agile Work). However, just splitting work into small batches won’t necessarily get good results. The definition of the batch is critical. Let’s look at why. The Batch Must Deliver Immediate Value The batches move […]
Agile methods create speed and flexibility in software projects – but why? The answer may surprise you. Agile methods work because they reduce feedback loops dramatically. Modern agile methods also improve communication and (to some extent) development methods, but most of the improvement in speed and flexibility is a result of how the flow of […]
Are you frustrated by how much time it takes to purchase and configure large COTS (Commercial-Off-the-Shelf) software packages? A COTS package is better than build-from-scratch for many large government and business projects, but it’s still a huge amount of work, especially when legacy systems must be integrated with the new package. You’d love to use […]
Agile projects generally use some form of state-driven planning boards, where each user story moves through a series of states until it reaches “Done”. This is an excellent way to handle work which doesn’t have deadlines prior to release or a lot of interdependencies. What about projects which do have interim deadlines and interdependencies? Is a visual planning […]
What is Velocity? In our regular lives, we generally think of velocity as speed. (Except for physicists, who know velocity is speed plus direction). In the U.S., speed is usually expressed as miles per hour. Every mile is the same length as every other mile. When I’m hiking, the uphill miles may take longer, so […]
Yes. And no. It depends on how you define agile. In the broadest sense, agile methods work by splitting your delivery into small batches and working on one batch at a time. The team or organization finishes and delivers a batch before moving on to the next set of work. Each time the team completes a […]
Last week, I attended an excellent workshop given by James Shore, Diana Larsen, and Adam Light to learn how to use the Agile Fluency Game. The Agile Fluency Game simulates the adoption of agile by a single team. The Agile Fluency Game does discuss the Agile Fluency Model, but the model itself isn’t the focus of the game. The simulation […]