Posts

FIRST: an idea that ran away from home

Quite some years ago, Brett Schuchert and I invented the acronym FIRST for micro-tests , though we called them "unit tests" (as was common at the time). This was later included in Agile In A Flash and was also published in a Pragmatic Programmers' article. It’s grown a following and has been widely repeated. At this point, the idea just exists in the aether, and authorship isn’t often considered or cited. I suppose it has become "common knowledge" at least in some circles. It's usually not even given a citation, so I guess it's become a thing in its own right. I’m still proud of Brett’s work and my small contribution to it. I'm glad it has taken on a life of its own, but I'm aware of when it's poorly described or when it's corrupted and am offended when people present it as their own unique work (or take praise for it, knowing that it is not original). I get it, though. I'm sure there are many people whose work I didn't know how ...

Reimagining Work vs Doing The Same Better

 (originally posted in march 2008, republished with edits) I read a mailing list entry in which one fellow (who? I can’t remember!) asked another: “Do you want to get better at what you’re doing, or find a better way to get the results you want?” I’m a sucker for a good one-liner. That one had me thinking, and as I’ve had other conversations about innovation, I keep coming back to that line. In many Agile practices, we work really hard for a week or two, and then hold a retrospective. The purpose of the retrospective is to find  ways to work more effectively for the next two weeks .  As we develop better software, we also evolve a better team. We may use “tricks” such as tracking our velocity and recording blockages on our ‘waste snake’ to provide data for our decisions, and we use gut feel to evaluate those things that feel like collateral effort to us. If the practice works, we will see incremental improvement in the team. We will develop ways of avoiding special variat...

Outliving The Great Variable Shortage

  Originally Posted   on 2/26/2007 One of the more annoying problems in code, confounding readability and maintainability, frustrating test-writing, is that of the multidomain variable. I suppose somebody forgot to clue me in to the Great Variable Shortage that is coming. I have seen people recycling variables to mean different things at different times in the program or different states of the containing object. I’ve witnessed magic negative values in variables that normally would contain a count (sometimes as indicators that there is no count, much as a  NULL /nil/None would). I might be willing to tolerate this in programming languages where a null value is not present. Yet I have seen some code spring from multidomain variables that made the code rather less than obvious. I think that it can be a much worse problem than tuple madness. I have a rule that I stand by in OO and in database design, and that is that a variable should have a single, reasonable domain. It is ...

A Whole Lot Of Nope

In light of recent outrages, there are a lot of people posting bloodthirsty things on social media. If you post bloodthirsty things, I want you to know I don't stand with you on that. I may agree with your underlying cause(s) and reason(s). But I don't want people to be killed. I don't want looters to be killed. I don't want protesters to be killed. I don't want suspects to be killed. I don't want curfew-violators to be killed. I don't want civilians to be killed by cops. I don't want cops to be killed by civilians. I don't want politicians killed. I don't want community leaders to be killed. I don't want bystanders to be killed. I'm not claiming that all of these things are equivalent. The only equivalence is that I want all these people to go home at night, and justice to be accomplished without bloodshed. I'm not suggesting outrage is unfounded. I'm not saying nothing should be done. I will suggest that if escalat...

Speech Hacks to be More Decisive

I was in a leadership program with Christoper Avery some years ago. In that program, people would say “ don’t should on yourself. ” Another friend had years ago told me that “should” is the saddest word in English because it means you see value in something, haven’t done it, and probably won’t. I embarked on a quest to get rid of some aspects of self-defeating speech: Instead of “I’m sorry” say “Thank you” Instead of “No thanks, I can’t eat that” say “No thanks, I won’t eat that.” Instead of “I don’t know how” say “I haven’t learned YET ” Instead of “ I should ” say “I may ” or  “I would like to “. You know, these little things make a difference for me. The speech patterns are more decisive and confident, reflect agency and choice, and generally help me avoid shame (in myself) and appearing uncertain or indecisive. These are just little things, and it's not magic. One a person chooses an attitude they need to find language that supports that attitude. My speech...

Some Covid-19 Information

Hello all. From time to time, I will post something that is not on-brand for Agile Otter Blog at all, but is of concern at a point in time or in celebration or mourning. Today I'm listing some resources related to the Coronavirus COVID-19. A quick warning: there is a thin line between being informed about the virus and being obsessed with it. You should have the facts, and these sites will help you. But don't be so obsessed that you can't think about anything else. Take precautions, follow guidelines, don't be fooled by myths, don't search for miracle home cures. Take care of yourself and your family, and try to continue living a productive and normal life. I took time out to gather a few resources for you, but I have other things to do too. May we all get on with delivering value to each other and serving our communities of practice as well as protecting our friends and family. Don't panic. Do take precautions as recommended. Info and advice: WHO...

The Laptop "Problem"

Image
A few friends of mine have been pretty down on people using computing devices during meetings. The very presence of open laptops, tablets, phones, etc, gives them the impression that people are disinterested and disrespectful. You might know the individuals in question, there are a few of them and they all have some pleasant association with me in the past, they are friends, and I'm not here to talk about them. I want to talk about Curiosity Over Judgment instead. Corporate Training A long time ago, when I was working for a company in the great midwest, we took a class on crucial conversations. Our instructor was from headquarters and so was clearly an Important Person. The topic was clearly a Very Important Corporate Topic to have flown someone in from headquarters and cancel a day of work to educate us. My friend had an apple device that was his exclusive note-taking machine. If one is to take notes, it's best that they're collected together, and having them on...