Queueing Theory
-
What Makes Agile Software Development Work
Agile software development 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
-
Agile for Hardware
Agile methods create speed and flexibility in software projects. Can the same methods also bring more speed and flexibility to hardware projects? Practice has shown that agile software methods often backfire on hardware projects – but hardware-specific methods based on agile principles can create major improvements. To get the most mileage, you need to understand
-
What is Queueing Theory and Why Should I Care?
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
-
The Agile Manifesto Today
The Birth of the Agile Manifesto The Agile Manifesto was the result of a decade of cross-fertilization among many related incremental and iterative methods for software development, culminating in a seminal few days in February 2001 where the basic principles of the Manifesto were hammered out. Those principles addressed many of the challenges of software
-
Cadence – How Fast is Too Fast?
In Agile development, and in Rapid Learning Cycles, the cadence is the heartbeat of the project. A regular cadence keeps the team moving forward together, just like the drummers keep a marching band in step. Faster isn’t always better. A piece of music may have been written with a particular cadence in mind, but if
-
A Short History of Queueing Theory
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
-
Get More Batches Done Faster
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,…
-
Achieve Agility with the Right Batch
We know that software development moves faster when the work is split into small, independent batches. In other workflows, small batches can also shorten feedback loops dramatically – if the batches are the right kind of batch. The definition of the batch is critical. Let’s look at why. The Batch Must Deliver Immediate Value We’re
-
State-Driven and Calendar-Driven Planning Boards
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
-
It’s Not Software – Can I Use Agile?
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








