Monday, September 15, 2008
I've decided to take Habit 3, Put First Things First, from Stephen Covey's 7 Habits of Highly Effective People.
Wish me luck.
Wednesday, September 10, 2008
The book begins with a chapter on the history of Lean production and its origins at Toyota. I was familiar with the broad outlines of Lean production, but there was a lot of interesting detail I didn't know.
The second chapter describes the adaptation of Lean to software development and lays out the seven principals of Lean development.
- Eliminate Waste
- Build Quality In
- Create Knowledge
- Defer Commitment
- Deliver Fast
- Respect People
- Optimize the Whole
The last two chapters are entitled Partners, and Journey. Partners has some really interesting ideas on how to structure incentives so that everyone--individuals, teams, contractors, even partner companies, are all aligned to create synergies and increase value for all parties involved.
The Journey offers ideas on how to begin using Lean methods in your environment. It builds on the "Try This" sections that end each chapter.
There are a lot of really interesting ideas in this book. I've been thinking a lot about how I want to apply them.
One thing that I've realized is that I'm not as clear as I need to be on how my team provides value. And that really matters, because that should be driving decisions about what we do. My team builds automated testing tools that are used internally at a company that makes "Application Delivery Networking" hardware. We also operate the test systems. We used to write automated tests, but now that is mostly done by another group. So what is our primary contribution of value? Is it the capabilities that we deliver to the team that writes the tests? Is it the results that come out of the test systems that we operate? When I have to make trade-offs between those two tasks, which one should be more important?
Another point that Lean has driven home for me is that my team has too much work in progress. We have lots of ideas that we'd like to implement. We also get lots of requests from people. If we meet our goals for the current Sprint (which is far from certain at this point), we will complete about 150 story points worth of work for this release. I already have 145 story points queued up for the next release--and that's with only half of the backlog items estimated. My "high priority" list of work to do after the stuff in the queue is equally large, with equally incomplete estimates.
One of the ideas that I liked and am going to be thinking about is using automation to remove low-skilled, repetitive tasks, especially if they are mistake-prone. There was a list of examples of automation:
- One Click Build
- Scheduled Builds
- Build Result Notification
- One-Step Release
- Bullet-Proof Installation
- Build Acceptance Test
- Automated Unit Tests
- Scheduled Regression Test Runs
When we did our last release, we had trouble getting a build out and getting everyone notified. At the review of our last sprint, people had trouble demoing some of the work because not all the boxes were set up the same way. We need some automation here.
Moving forward, I'm going to start devoting some time out of our weekly team meeting to discussing the Lean principals and figuring out how we can apply them.
That should generate plenty of new blog entries!
Sunday, July 6, 2008
One of the things that Florida sites as important in building a first-class creative city is creating a vibrant street-life, filled with cafes, clubs, galleries, etc. Seattle, my home for nearly twenty years now, ranks #3 on his "Creativity" index. Recently the mayor of Seattle proposed regulatory changes to make it easier to get a license for a sidewalk cafe. Apparently Seattle does understand some of the things that really matter for building a first class creative economy.
The other piece of the book that particularly caught my eye was when he talked about the differences between companies that truly understand how to get the best from creative workers and old-style companies. Old style companies, he says, put the senior management in big corner offices away from everyone else and put low-ranking workers at or near the central parts of the office. New-style companies put open spaces in the central part of the office, with managers near the open spaces.
This reminded me of some of the companies that I've worked at over the years. As a software engineer I've worked at some companies that were extremely successful, that clearly showed they were able to get the best out of their workers. Those companies (F5 Networks, Microsoft) followed that model of open spaces for people to congregate near the center of the building, and keeping even senior pretty management in offices that were just like everyone else's.
By contrast, one company that I worked at recently had their engineers crammed into tiny spaces while the executives had very large offices that were set off in the corner, away from everyone else. I remember looking at the offices of the CEO and the COO and being offended at the size of their offices, especially when they were cramming 6 programming managers into a conference room because there wasn't any cubical space left.
Saturday, July 5, 2008
The book was disturbing on many levels, but it got to me on a personal level as I thought about my kids. The recurring motif throughout the book is that it's extremely difficult to get appropriate treatment, especially for those who need it the most. Civil-rights laws have given mentally ill patients an unquestioned right to refuse treatment, regardless of their level of competence. At the same time, the state hospitals that used to be available to provide treatment (even if it wasn't good treatment), have largely been shut down. The community mental-health centers that were supposed to replace them largely failed to appear.
The ten-year-old has shown some signs of both mood and thought disorders. This spring we had to make changes to his medications because he was hearing voices telling him to hurt people. The prospect of him being both autistic and mentally ill, and me not being able to ensure that he takes his medication, is terrifying.
The seven-year-old is almost certainly going to have to live in some sort of assisted-living setting. For him to live independently will require a rate of improvement that verges on miraculous. And we know an awful lot of children like him in his age cohort. There isn't going to be anywhere to put them all once we parents are no longer able to care for them. In order to pay for his long-term care, we'll need to leave him a multi-million dollar inheritance. Right now that seems unlikely.
I hope our country wakes up from it's Republican-induced slumber and remembers that as a society we have obligations to all of our citizens, not just the rich ones. Otherwise I don't know what will happen to our children.
Saturday, June 14, 2008
One of the reasons he mentioned that they thought I'd be good for the task was that "you're really well organized." I was slightly taken aback when he said this. I don't think of myself as being well organized. In fact, I think of myself as disorganized by nature.
I was talking with my wife about it that evening. She said that these days, I am pretty well organized. Thinking about it, I realized that it is true. In fact, it's something that I've been working on pretty hard over the last year or two.
It's nice to have external validation that I'm succeeding in becoming more organized.
Thursday, June 5, 2008
I've written previously about his tendency to confuse trash, shoes, and dirty clothes and put them all in the same place. I haven't mentioned the way he will jump out of bed in the middle of the night and pick up any dirty cloths off the floor. He knows that dirty cloths belong in the hamper. When we started toilet training him, he learned that when he took off a diaper it should go into the waste basket. Then we started putting underwear on him. The underwear also went into the waste basket. That was probably the origin of confusing waste baskets and laundry baskets.
The latest manifestation started a few weeks ago. He stared grabbing random items off the counters and tables around the house and throwing them away. We think he was saying that there was too much clutter. So we're trying to reduce the amount of clutter and increase the level of order. So far I've managed to get the kitchen counters cleaned off and keep them fairly clear for two weeks (a new record for us). I've also thrown out or moved to the garage a lot of stuff that was in the file cabinet and the storage cabinets in the family room. (Four years ago we took out all our bookcases when the seven-year-old went through a phase of pulling books off the shelves at random and tearing out pages. Now we have cabinets with doors instead).
I remember telling my wife a couple of years ago that we were probably going to have to become much more organized in order to thrive. Now the seven-year-old is pushing me to make that move.
Sunday, May 25, 2008
We've played it a few times in the last two days. It's a tile placement/control game, like Carcassonne or Wooly Bully. The game is unexceptional. The only really interesting bit I've found so far is that sometimes in the later parts of the game it's easier to build up your score by closing off areas and leaving the space open rather than trying to get the exact piece that you need.
The most amusing thing that has happened with it was the score of our game this afternoon. I lost and the ten-year-old won with a score of -1 to -2.
by Matthew Bud.
In it, he talks about the power that language has in human lives. He quotes Fernando Flores as saying:
"In language we build our own identities, our relationships with others, the countries that we live in, the companies we have, and the values we hold dear. Without language we are mostly chimpanzees."
He then goes on to discuss Helen Keller and her experiences discovering the concept of language and all that it enabled her to do.
The lines that really caught my eye and inspired this post were:
"[language] allows people to become aware of themselves and of others and builds trust, intimacy, and, yes, suffering. We can't even imagine life without language."
When I think about my experiences with autism, especially my experiences with kids like the seven-year-old who lie on the lower-functioning end of the autism spectrum, an inability to communicate effectively is an enormous piece of the puzzle.
These two quotes cut to the heart of my experiences with my son. And at the same time, they don't.
The seven-year-old's ability to communicate with other people is incredibly limited. He doesn't talk; he doesn't sign; he's never yet managed to get the hang of PECS (Picture Exchange Communication System). My wife recently commented that he doesn't seem interested in learning to communicate.
His difficulties communicating very sharply limit his ability to take part in the general activities of the human race. But they don't limit his humanity, his claim to be a member of the human race.
A couple of years ago we went to visit my brother and his family in Austin. My parents and one of my uncles also came to visit at the same time. The seven-year-old had trouble with the change of routine and the unusual circumstances. He showed greater-than-usual obsessive "stimming" behaviors, things like jumping in place and throwing sand/gravel/rocks. Several months later my parents came out to visit us in Seattle.
The seven-year-old has had home therapists who come and do ABA (Applied Behavioral Analysis) with him in our home. After watching the therapists work with him, my mother commented about the difference between him in Austin and him at home doing therapy. She said that in Austin his behavior had seemed almost like a pet rather than a person, and had made her think of Hellen Keller. But when watching him work with his home therapists she said they reminded her of Anne Sullivan--the woman who taught Helen Keller to communicate.
The work that the therapists do with the seven-year-old and others like him are all driven around helping them express themselves and their humanity. Without that help, sometimes they barely seem like members of the human race to people who don't know them well--who haven't made the significant effort required to establish a connection with them.
That is the reason why so many parents of children with autism (myself included) go to such great lengths, sometimes virtually bankrupting themselves, in order to pay for therapy for their children. We want everyone to be able to see our children the way we do--in all their humanity, as full members of the human race.
Monday, May 12, 2008
He has been a poor sleeper since he was about 18 months old. We've been given him melatonin supplements for five years, which helps some, and clonodine for 4 years, which helps more. Without medication he used to go to sleep any time between 8 p.m. and 4 a.m., and get up some time between midnight and noon. It was extremely hard on us.
Now, with the medication he generally goes to bed around 9 p.m. One night out of every three or four, he wakes up at night. He runs around turning things on. Sometimes he goes back to bed without a hitch, other times he's up for anything from an hour to the rest of the night.
I sleep in his room with him. We share a double bed. This seems to help keep him asleep. Sometimes I am able to convince him not to get out of bed when he wakes up, which usually means he goes right back to sleep.
We do everything we can to make the environment sleep-friendly for him. That is, to maintain the conditions that actually help him sleep rather than the conditions that you might expect will help him. The lights are on all night. The TV is on with a Sesame Street DVD playing. Fortunately he is OK with the sound muted.
As a result of all this, I haven't slept in a room with the lights off for quite a while. I've always preferred to sleep in a very dark room. I love the blackout curtains that some hotels have. Nowadays I find that have an almost physical craving for darkness at night.
Recently I tried hanging a blanket over the rail of the top bunk, creating a kind of curtain over part of the bed. This helped block out the light. It was particularly nice that it blocked it from shining on my face. It's hard to tell how the seven-year-old feels about it. Since he can't talk he doesn't tell us whether or not he likes it. At first I thought he liked it. The last week or so we haven't been so sure. He seems to be waking up more often and having more trouble going back to sleep.
Tonight as I was putting him to bed I noticed that the blanket had been pulled down from the railing. I guess that's a vote against.
Back to sleeping in the light.
There was a team of teen-age boys there, they looked like they were 15 or so. The boys and their coaches acted as buddies. The seven-year-olds buddy was "Coach Mike". Coach Mike did a nice job of leading the seven-year-old around and trying to get him to pay attention to the game. He managed to get him to pick up the ball and throw it once while they were fielding.
One nice touch is that after the batter gets a hit, the pitcher tosses a couple of extra balls out onto the field for the fielding team to go after. They want to make sure that there is enough going on to keep the kids attention and give more of them chances to do something in the game.
The seven-year-old seemed excited about the game. When it was his turn to bat they offered him three bats to choose from and he was jumping up and down and squealing while he made his choice. I think that he is enjoying the process. It will be interested to see how he responds next week when we tell him that it is time for baseball and get him dressed in his uniform.
Wednesday, May 7, 2008
His first game was last Saturday. It took about an hour to get uniforms passed out and pictures taken before they went outside to the field. That was tough; they had to wait in a crowded gym, and the seven-year-old doesn't like crowded, noisy spaces. But he made it through without having a meltdown. He was even willing to put on the uniform.
Once they got out onto the field, every child gets a buddy who stays with them throughout the game. The seven-year-old's buddy was a silver-haired gentleman who looked like he might be in his early sixties. The game consisted of a single inning. Every child on each team gets an at-bat, and stays at bat until they get a hit. Some kids were able to swing on their own, either at the pitch or on a tee. Others had their buddy hold the bat with them hand-over-hand to swing. The seven-year-old's buddy held the bat hand-over-hand and basically swung for him.
I got a little worried when the brought out the batting helmet. The seven-year-old doesn't like anything to touch his head. There was a brief attempt at putting the helmet on him, and then the buddy took it and put it on his own head. I started forward to help, but they got it resolved before I got to the plate.
I don't think the seven-year-old had any concept of what was going on around him, but he got to be outside, and his buddy did a nice job of entertaining him. They spent a while jumping up and down in line, and then the seven-year-old was playing the the lanyard of his buddy's umbrella.
It was a reasonably successful morning. We're going to keep taking him and see how it goes.
Monday, May 5, 2008
I commented to my wife that this surprised me. She then related to me a conversation they had had with his psychologist. The psychologist had been asking him about times when he had been feeling bad and then started to feel better. One of the things that he came up with was that talking to Grandma and Grandpa on the phone had cheered him up the previous week.
Apparently he has seized on that idea as a well to feel better in general. He is also starting to branch out to other family members. He called my aunt and my brother over the weekend.
It is very exciting for us to see him starting to build a social support network.
Thursday, May 1, 2008
The goal of Test Automation is to create reusable test assets that reduce or eliminate the asymmetry of effort between test and development for new release.
So what the heck does that mean? By asymmetry of effort we mean that as the product becomes more complex, the test load for each release climbs faster than the dev load. We have to test both the new features and the integration of new features with old features, but the dev team is only producing new features. So on Release 1, dev build N features, testing test N features. On Release 2, dev builds N features again while testing tests N new features plus N^2 interactions between new features and old features. The longer the product lives, the more features get integrated and the bigger that gap gets.
By reusable test asset, we mean tests that can be run against multiple releases of the product, multiple hardware platforms, os’s, etc. without having to be completely rewritten for each release. Sometimes that isn’t possible—when dev changes how a feature works, the test has to change too. But we need to do that without breaking the version of the test that runs against older versions of that feature.
Having a problem statement and some agreed upon definitions helped, but we continued to have a surprising level of disagreement. For instance, to me it was obvious that we needed a database to keep track of the history of test results, but another member of the group argued strongly that a database was irrelevant, the only thing he cared about was the results of the current test run. I spent a lot of time and thought trying to make sense of this. Eventually it occurred to me that he was a developer working in a development team, rather than a tester working in a test team. His context was different than mine.
- Developer Test Automation
- Development Team Test Automation
- Project Automation
- Product-line Automation
Different groups within the company were creating automation in different contexts, but the automation rarely crossed boundaries, so (for example) the test team wasn't getting the benefit of the automation being built by developers.
What is the difference between the different contexts? What are then constants? Migrating tests from one context to another would give a big boost to our return on investment. How do we make it possible (and easy) for tests to migrate from one context to another?
It got off to a rocky start. As soon as we sat down in our seats, he jumped up, ran down front, got up on the stage, and ran across the stage into the wings. I ran along after him, but the theater staff stopped me at the edge of the stage and said they'd bring him back to me. Fortunately, he cooperated with them and came back quietly. I spent the rest of the play either holding his hand or with my hand wrapped in his shirt.
When the play started, he paid he was quiet and attentive. He got a little agitated when they turned the lights down, but overall he seemed to be enjoying the play. He bobbed along with the music during the songs, and clapped when the audience clapped. About ten minutes before the end of the first act he got a little too worked up, and I took him out into the lobby for a few minutes. Then he went back in and was fine.
He followed the exact same pattern of behavior during the second act. When we came in from intermission, he jumped up again. This time, I was ready and managed to catch him by his fingertips and keep him from running off. He listened and watched, and again he got agitated shortly before the end of the act. I took him out and then brought him back in for the finale.
Overall, it was a very successful night at the theater.
Thursday, April 24, 2008
Wednesday, April 23, 2008
I thanked him for calling me out on it. I said I was really pleased to see him do that--it's tough to tell your boss that he's doing something wrong. I complimented his courage to bring it up directly with me. This is a good example of my own tendency to prefer harmony over productive conflict, the fourth of the Five Temptations of the CEO.
He is pretty conflict averse himself, and not very verbally articulate (he needs time to think before he can express himself clearly), so he is not naturally inclined to push his ideas in meetings. We talked about various ways to handle that. I suggested that he write up his ideas and come talk with me directly. Then after he and I have had a chance to discuss the ideas and flesh them out, he could raise them in the larger group.
I was really pleased, both with him for being willing to take the risk he took, and with myself for creating a team environment in which he felt safe enough to take the risk.
Monday, April 21, 2008
This weekend we found a way to accommodate his interest. He found a recipe that he liked, scanned it, and emailed it to Grandpa. Then we went over to Grandma and Grandpa and Grandpa and the ten-year-old made dinner. I was very impressed with how Grandpa worked with him. When we got there are the ingredients were laid out on the counter. The recipe called for two chopped onions, and Grandpa had done most of the chopping ahead of time so that he would be able to keep things moving quickly during the actual cooking. He gave not only clear instructions, but very clear explanations of the reasons behind the instructions.
It was really nice to see them both enjoying doing something together.
Friday, April 18, 2008
Tuesday, April 15, 2008
I stumbled across a book at the library last week called The Five Temptations of a CEO: A Leadership Fable, by Patrick Lencioni. Intrigued by the title, I checked it out and took it home. It turned out to be both a good book and a quick read.
The ideas in the book are neatly encapsulated in “The Model”, a short section towards the end of the book. The model lists the five temptations:
- Choosing status choosing results
- Choosing popularity over accountability
- Choosing certainty over clarity
- Choosing harmony over productive conflict
- Choosing invulnerability over trust
I’ve been thinking about my own strengths and weaknesses and how they manifest in this particular model.
Status over results
I don’t think that this is particularly a problem for me. My primary motivation for work these days is paying for my children’s autism therapy, not moving ahead in the world. I have worked with (and for) people for whom this was a primary motivation. The big problem that I saw coming out of this was risk-aversion. They didn’t want to do anything that might endanger their status.
Popularity over accountability
It is tempting to try and be friends with the people who work for you. When everything is going well, it isn’t a problem. But when there are problems, it usually makes the problem harder. I have, and do, struggle with holding people accountable, but popularity isn’t the core of the problem. The core of the problem for me lies in temptation number three.
Certainty over clarity
I am fairly risk-averse by nature. In my early years as a manager, I put off a lot of decisions that I should have made because I wanted to be absolutely sure that I was making the right decisions. With the help of a good therapist and some good managers, I’ve gotten a lot better at this in the past five or six years. The desire for certainty made it harder for me to hold people accountable. Because I was waiting to be certain, I didn’t commit to a decision and make it clear to the team. Since I hadn’t given them clarity, it didn’t seem fair to hold them accountable. That’s a point that the author calls out explicitly, and it really rings true for me. While I have improved here, this is still something that I need to watch out for.
Harmony over productive conflict
This is another one that poses a challenge for me. I spent 2002 working on a Masters degree in counseling (then my kids were diagnosed with autism and I realized this wasn’t a viable career change, I never went back for the second year of the program). One of the more interesting things that we did was something called the Thomas-Kilman Conflict Mode instrument. It rates you in various styles of handling conflicts. It took me a while to make sense of my results. My two high areas (much higher than the others) were Avoiding and Competing. In fact, they tied each other for #1. After thinking about it for a while, I realized that it did fit. I preferred to avoid conflict if possible, but once it was clearly unavoidable, I became very competitive and tried to “win”. In fact, I tended to come out swinging for blood. Neither of these are terribly effective ways of handling conflict, and now I know that I need to watch that carefully. As a manager, I need to make sure that I don’t squash the conflicts that a team needs to go through in order to evaluate alternatives and reach good decisions. At a previous company I watched one of the senior executives squash any conflicts that involved his staff. It prevented some serious personnel problems from getting solved. I work hard now to distinguish between unproductive conflict that needs to be squashed and productive conflict that needs to be fostered.
Invulnerability over trust
I’ve made deliberate choices to be vulnerable. As I see it, in order to be invulnerable, I would have to behave as though I didn’t trust anyone. That’s just too depressing of an assumption for me. Assuming that people aren’t trustworthy, and then acting accordingly makes me unhappy.
Monday, April 7, 2008
I run a team that builds test automation tools for a large company in Seattle. There are several other groups within the company that have built similar tools. Recently I was charged leading a team to look at all the different tools in use within the company and figuring out how to reduce the amount of duplicated work, as well as increasing the total amount of our testing that is automated.
After much conversation we came up with a kind of intellectual framework describing 6 tasks of test automation and 4 contexts in which automation is used within the company. Some time soon I'll post about that in more detail. The tool that my team has built addresses the most complex types of test automation, but is more cumbersome than some of the other tools that address only the simpler automation contexts. We've spent a lot of time trying to figure out how to make it easier to use our tool for less complex automation tasks, without a lot of success.
In my recent Civ IV games (I bet you were starting to think I'd forgotten about that...) I've been focusing on winning Cultural victories rather than military or scientific victories. In a cultural victory one of the most powerful things you do is assimilate the cities of other players. It occured to me that we could assimilate the other automation tools in the company--we can wrap our tool around them, use it to handle the most complex tasks, and let the testers and developers who don't need that complexity continue to develop their automation using the simpler tools.
It would NOT be good.
Our house was built in 1971 and has popcorn ceilings that tested positive for asbestos when we sent a sample off to a lab a few years ago. Recently, the seven-year-old, who has low-functioning autism, has started scraping it off the ceiling and eating it. We decided it was time to have it removed, at least in the rooms where he can get to the ceiling (he loves to be up high and climbs the furniture; his favorite spot to watch TV is sitting on top of the wardrobe in the living room).
It turns out that this is quite a project. Before the remediation company came we had to take everything out of the rooms where they are removing the popcorn ceiling, including the light fixtures. The living room and two bedrooms had to be totally emptied, and all the stuff that was in that 800 square feet of house has been stuffed into the remaining 600 square feet (plus the garage). All the rooms are now overflowing.
The seven-year-old, who hates change of any kind, is very distressed by this. He also wants all the lights in the house on all the time, and now the light fixtures are gone. I ended up getting my shop lights from the garage and setting them up in the emptied rooms so that we could have lights on. It was the only way to calm him down.
Last night, after waking up around 1 a.m. and realizing how different everything was, he spent about 30 minutes walking around the house carrying his laundry hamper. He kept putting it down and then picking it back up and moving it somewhere else. I think he was trying to find someplace to put it that would make everything seem normal. He had a very hard time sleeping and woke up twice more.
Tonight he and I are sleeping at my in-laws house (they are out of town this week). It took him about an hour longer than usual to calm down and go to sleep. One of the last things he did was walk around the house holding his shoes and socks in his hand. He kept dropping them in waste baskets and then picking them back up. After the second time, I realized what he was doing and led him to the laundry hamper. He put his shoes and socks in the hamper, and then he was able to lie down and go to sleep.