Posts

The Genie Story

A clever man was crossing the ocean when his ship was capsized in a storm. He was the only survivor. Hungry, thirsty, and battered, he struggled to shore on a small island. While searching for some form of sustenance, he instead comes across a bottle holding a genie. Thrilled by his fortune, he released the genie on the condition that the genie would grant him three wishes. The genie happily agreed. "First," the clever man said, "I wish to have an infinite number of wishes!" "Of course," replied the djinn, "you may wish anything you like from this day forth, at any time you like. That said, what other two wishes do you want me to grant you?" The clever man frowned. Clearly the genie was as clever as himself. He would have to be careful indeed with his second wish. "Well, then, I wish that you will grant me an infinite number of wishes!" The genie frowned. "Sir, you have already asked for that and I have granted that yo...

Making people do what we want...

Amitai Schlier and Ryan Ripley conducted a session at Big Apple Scrum Day entitled "the care and feeding of T-shaped people" which was essentially a panel discussion taking questions from the audience. I have trouble shutting up. If you know me, you know what a struggle it is. Sometimes I have to sit on my hands to keep from over-participating in a conversation (metaphorically). Here are the questions: How do we get a developer to try something new? How do you know if you've stopped growing? How do you convince management to agree with you? Is there a stigma against T-shaped people when it comes to hiring? How do you choose a subject to go in-depth on? How do you optimize your paint-brushed-ness? How do you get team members to share knowledge? How deep do you go before it's just self-serving? How do you get a whole team to work on something that's new to all of them? How do you convince people wide is as important as deep? How do you persuade som...

Calibrate Your Dopplegangers

Haunted?  I once knew a woman who confided that she lived with the disapproving, exhausting ghost of her long-dead mother. It was a disembodied voice in her head that wouldn't let her go to bed without the house in perfect order. All dishes, dusting, sweeping, tidying had to be done or this "spirit" would not let her rest. In fact, she confided that she didn't enjoy doing any of these things; it was a constant fear of disappointing her mother that drove her frantically through endless, joyless chores. In a rather different vein, a friend of mine tells me that whenever he even considered any misbehavior he would hear the voice of his saintly grandmother, who he loved, reminding him that he knew better than to get involved with anything shady or "wrong." Rather than being tortured by this constant presence, he was comforted and aided by it. Occasionally, it was inconvenient, but honoring his grandmother was a pleasant and rewarding behavior he willingly ...

Make People Awesome? Give Them Superpowers!

Image
We need to explain our primary statement of benevolence, expressed as "make people awesome." This is intended to express that have an explicit goal of benefitting specific others with all of our work. I have had so many apologetic conversations (not as in "I'm sorry" but as in "apologetics") about the term, and it's been described in several articles (some well, some rather poorly). The message is singularly hard to express, at least in a form that fits on the sticker. Admittedly, it's 2017. Everyone is on high alert, and words trigger people in dozens of interesting ways. To date, the primary triggers are: "make people" - which tends to be heard as "coerce, demand, or force", where we intend it to be more along the lines of "make your visitors feel at home."  "awesome" - which tends to be heard as "valley girl talk", indicating the speaker is bubble-headed or shallow.   Th...

The Lightweight Tweetstream

Once we had "lightweight methods" as a frequent topic of discussion. It's still the movement I pursue. Some innovators came through and invented radically different ways of working, usually through collaboration and teamwork. The idea of simplifying the workflow was met with much enthusiasm in some quarters and surprisingly hot disdain and outraged anger in others. Still, those practicing lightweight methods produced software quite well, so lightweight methods persevered.  Lightweight methods took the name "agile", which is a perfectly good name.  Even so, I'll not use it much here.  Lightweight methods pursue "the least process you can afford" at all times.  If you can afford less documentation, then cut some of the documentation out. If you can afford fewer queues and piles, then streamline your process.  If you can afford a cheaper alternative to approval cycles or big plans up front, by all means, use the faster cheaper alterna...

The Dev Goal

As developers, we want to produce results and we want to produce them fast. Normally, we work in the context of a team, where we all collectively want to be fast and stay fast, and produce results that work. In order to become fast, we have to learn the tools and techniques which allow us to practice fastness and we need to measure whether a technique or tool actually lets us be sustainably fast as a group. That's hard. But it's important. Today I was thinking about all the work we do and the practices we use. In hopes that it will be useful to stir up conversation and debate, I have tried to sum up our practices in a small set of imperatives: Write useful code only.  Don't write defects. Don't write code that invites others to create defects. Don't write code which hides or obfuscates defects (yours or other people's).  Don't cultivate habits which may result in code which contains, hides, or obfuscates defects. Don't take your adva...

Getting stuff done.

Here is a week in the life of a technical coach. I started the week by flying. I'm about an hour's drive from the airport, and this particular flight was only a couple of hours. When I land, I have about a half-hour to forty-five minutes standing outside in a taxi line, then an hour's drive to my hotel. The hotel is wonderful. I have fish-n-chips in the hotel restaurant and check in for the night. The next day work starts. I was working with a team (which remains anonymous). We had a quick talk, then picked up some work to do together. We agreed to try mob programming all day, with punctuated bits of explanation along the way.  I asked that we do real work all week. However, I know it's threatening to pick someone's work that was done in private so far, and then put it on the board in front of everyone and spot code smells and issues. It just seems unfair. As a result we decided to do some real work that nobody had been working on yet.  I suggested that it c...