There is a simple heuristic, which you can use to determine the top priority activity you can engage in-at any given moment. It comes out of the “lean manufacturing” camp. It can apply to a business as a whole, a specific product and its backlog. Your developers typically apply it, when improving software performance. Now you can use it in the context of your product development process.
Your biggest priority at any given moment is clearing your biggest bottleneck. This will give the largest non-linear jump forwards in system productivity, because of the Herbie problem . This includes business productivity (read profit). Cycle time goes down. You reduce “friction” around production.
Once you clear a bottleneck, you create another one (a relatively smaller one) elsewhere. This is the nature of this game. Then clearing that bottleneck will give you the highest possible non-linear improvement in the output of the business as a whole. In that context, if you aren’t releasing your software to production automagically with every check-in, you have bottlenecks to clear. 🙂
The end game of clearing bottlenecks is simple. You become a “pull-based” organization. You can respond immediately to customer requests, if you want to, if you need to, or if it tickles your fancy. That’s a pretty valuable place to be.
[image cred: hockadilly]