I invite you to upgrade to a paid subscription. Paid subscribers have told me they have appreciated my thoughts & ideas in the past & would like to see more of them in the future. In addition, paid subscribers form their own community of folks investing in improving software design—theirs, their colleagues, & their profession. I recently sent this moderately cryptic post: Here’s the slightly longer, one-hopes-less-cryptic, version. Let’s say we have a system for making cakes. Someone yells at us to make cakes faster, so we buy 2 more bowls & mix batter ahead. Here’s the point I was trying to make originally—the Bake Cakes system remains exactly as it was before. One yummy, cooled cake exits this system every 45 minutes. We haven’t introduced any change (except the possibility that the batter will go stale & we’ll have to pause the system while we remix batter). We might pretend that we’re putting more mixed batter into Bake Cakes, but we’re not. Instead, we’ve embedded our original system in another system, this one called Placate Yelling People. Once we’ve reached our steady 45-minute rhythm, that exit rate dictates “the system”. If we appear to be feeding work into the system faster than that exit rate, then there must be another larger system at work. Pay attention to which system you’re working on. Optimizing Bake Cakes is completely different than optimizing Placate Yelling People. Application of “pay attention to which system you’re optimizing” to non-cake, perhaps ticket-based systems, perhaps those delivering software-based value to customers, is left as an exercise for the reader. You’re currently a free subscriber to Software Design: Tidy First?. Buying me more time to think & write means more thoughts & ideas for you. |