Queueing Theory

  • What Makes Agile Software Development Work

    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

    read more

  • Agile for Hardware

    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

    read more

  • What is Queueing Theory and Why Should I Care?

    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

    read more

  • The Agile Manifesto Today

    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

    read more

  • Cadence – How Fast is Too Fast?

    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

    read more

  • A Short History of Queueing Theory

    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

    read more

  • Get More Batches Done Faster

    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,…

    read more

  • Achieve Agility with the Right Batch

    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

    read more

  • 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

    read more

  • 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

    read more