Folding Tradeoff Space

automation changes the rules we play by Fast v Safe Tradeoffs are a fact of life. Choose between safety and speed, stability and flexibility. More of one sacrifices the other. fast or safe, we are somewhere on that spectrum I remember a time when this described our decisions about software deployments. Deployments caused problems, so we did fewer … Read moreFolding Tradeoff Space

Shaping our Tools to the Flow of Conversation: Issue Creation

Collaboration is hard. There are the essential difficulties of dealing with people, and then there are incidental challenges in the tools we use. Communicating with people, while clicking into to Travis to see the build status and asking: where is this deployed? Who tested it? I want to remove all those incidental challenges, even the … Read moreShaping our Tools to the Flow of Conversation: Issue Creation

the sweet spot: Local Automation

When you learn to code, you acquire a superpower: automation. We turn the computer into a machine to do our (very specific) bidding. We get paid to automate what other people want. We can and should use this superpower for ourselves too! Levels of automation Are we programmers or software developers? Probably both. I think … Read morethe sweet spot: Local Automation

personal automation example: deleting a local maven artifact

I want to start recording the benefits I get out of personal and local (team-level) automation. When I have a local version of a maven library installed, say 0.19.0-SNAPSHOT, but I want to go back to using the last released version, say 0.18.0, then I need to delete the library from my local maven repo. … Read morepersonal automation example: deleting a local maven artifact

The Golden Yak

(This post continues from the Royal Yak, and concludes the series A Taxonomy of Yaks.) When we improve how we work, we make tasks faster. We make progress smoother. This is magnified when we improve how all our team members work, or our whole community. Now and then, though, an improvement turns into something more: … Read moreThe Golden Yak

Trim Yaks

(continued from Imperial Yaks; part of A Taxonomy of Yak Shaving series) Trim Yaks, aka, the Hackhacking yak (making coding faster) Each of the previous yaks stood in the way of a particular task. The Trim Yak is not so task-specific; these are the ones that let us work faster generally. I nickname them “Hackhacking Yaks” … Read moreTrim Yaks

A Taxonomy of Yak Shaving

Yak Shaving is: doing seemingly-unrelated tasks to get some real task done. The name has obscure roots and doesn’t matter; the key is that it makes you think, “Why would you do that?” Yak shaving can be: I want to make dinner, but I’m doing stairs; moving objects around in order to clear a path … Read moreA Taxonomy of Yak Shaving

The Architects Below

This is the text of a short keynote for O’Reilly Software Architecture Conference 2017, New York. Power.Software developers have a particular power over the daily lives of our users. A hospital the nurse interacts with the patient, and they record those interactions in software. Software impacts the nurse: some things might be easier, but others … Read moreThe Architects Below