The Four Demands of Software Development
Do you know where your team's time goes? What are the competing priorities? Understanding this can be the first step to making sense of how a team is working together at a given time, and gives fairly heavy hints how to improve things for the better. A team's investment (time, money etc) can be broadly split into four 'pots': External Demand. User-facing features, new functionality. Internal Demand. Improvement. Kaizen. Failure Demand. This is the surprises. Often nasty, time consuming surprises. Business As Usual (BAU). Keeping lights on. Those essential maintenance tasks that keep things ticking over. Any team that understands this, and knows how interdependent they are will generally thrive. Wait... interdependent? Yes indeed. This is a zero sum game, and any team needs to make a conscious decision of how much of their finite budget (people, time, money) to invest in each at any given time. E xternal Demand defines how fast the project features are delivered. BUT...