Agile
-
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
-
Rapid Learning Cycles: Agile for COTS Projects
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
-
When Classic Agile Doesn’t Work – and What to Do About It
When agile just doesn’t seem to fit, it’s time to back up and think about what assumptions agile makes. If the basic assumptions of agile don’t hold on your project, then agile “by the book” isn’t likely to produce the results you want. You need the right tool for the job. Agile methods assume high
-
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
-
Velocity – A Squishy Measure
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







