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…
Category: Contemplations
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…
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…
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…
Making open source projects accessible with Vagrant
There are a plethora of fantastic projects online to learn from, and to start from, when developing software. Google just released a new Web Starter Kit; a set of tools and a template for building user interfaces that look great on all types of devices. Bootstrap, a project that’s been around much longer, provides a set of templates to make…
TDD isn’t the problem
Lately, there’s been a thread of discussion that centers on the question “Is TDD dead?” TDD isn’t dead, nor is it the problem. TDD is a practice, a tool. It’s like a hammer. We can use TDD to build something marvelous, and we can use it to build something horrible. Unfortunately, TDD gets a bad rap because many have been…
Value is a universal language
Antonino and Ana share a small, one bedroom apartment in New York City. In the corner of their living room, they share a desk that serves as an office. One Saturday, Ana lamented the desire for a shelving system to organize the cacophony of office equipment scattered around one end of the couch. Antonino, about to leave for an arduous…
What’s your impact?
Pick a project you’ve worked on recently, something substantial. What impact has it had on your customer(s)? What about the impact on your customer’s customer(s)? What was the intangible impact? What was the financial impact? What decisions were you able to make to maximize the intangible impact? What decisions were you able to make to maximize the financial impact? What…