Downstream cost of feature branching

Earlier this week I mentioned the consequence of not fixing problems upstream. A great example of this is the costs of long lived feature branches or long lived copies of a piece of software. Each copy has a set of isolated changes taking place. Integration is the upstream leak. Inevitably with many long lived copies of the system, integration becomes…

Mediating Purpose

Mediating communication can be perilous to effective communication. When two people communicate through a third, the message is guaranteed to be altered to say the least and often quite distorted, amid other concerns. Purpose and subjective value are what drive us to make decisions that lead to action. Mediating purpose, unlike mediating communication, only requires two people to wreck similar…

Commitment is the problem

Phased based software development, commonly referred to as waterfall, has taken a bad rap for at least a decade. And rightfully so in many situations. If we fall under the delusion that we can know everything in advance to accomplish a particular outcome, we’re going to have a rude awakening once we get started. No matter how hard we try,…

Creating efficacious policies with incentives

All organizations have policies, hopefully to further their purpose. Unfortunately, many policies are simply rules without much consideration of efficacy. They tend to be things that create constraints without benefit or with unjustifiable benefits. Naturally these are difficult to enforce. People easily see through them. Whatever outcome was desired is lost in cracking the proverbial whip, only to sap the…

Comparison: manual releases or automated?

I recently wrote about tradeoffs in automation. I thought it’d be nice to have a side by side comparison of manually documenting and releasing software, versus automation. Manual Documentation Automation Assumptions Many implicit assumptions. No incentive to be explicit. Author bias and perspective limit the utility. Everything is explicit, no assumptions. Culture This approach fosters a culture of cracking the…

Tradeoffs in Automation

Releasing software, to this day, is often a manual task. Scripts may be involved, but we still depend on human orchestration. Knowledge often remains locked away in individual minds. This is disastrous for many reasons. Even if we remember everything, each time we repeat a task there will be slight variations. After a few days, let alone months or years,…

The Death Of An Idea

“What if…?” The birth of an idea. Followed by the perpetuity of tortuous wonder about when to act on it. Fading in and out of consciousnesses every other day, or week if we’re lucky. We’re constantly wallowing in a sea of ideas. We can’t possibly drop everything and act on every idea that comes to mind. And, if we hope…