Last month, we had to move everything out of our house to have the hardwood floors refinished. It was a big job. My husband's friend Joe came over with his 4-year-old son, Jack. It was great to have help, and, as a bonus, Jack reminded me of an important lesson about decisions and routines.
Jack was helping me sweep my office as the guys got ready to move my desk out. They slid the desk onto the dolly and maneuvered it to the door.
"It's going to be a tight fit," declared Jeff, my husband.
"Oh, we'll make it," Joe said with confidence.
The desk wouldn't quite fit through the door, so Jeff took the door off its hinges to provide more clearance. It still wouldn't fit! Now the door was blocked, and there wasn't enough room to move under or climb over the desk. Jack and I were trapped in my office.
Just then, Jack announced, "I gotta go potty!"
Joe and Jeff tried to wiggle the desk around so Jack could squeeze through and make it to the bathroom.
"Can you fit through now?" Joe asked. But there was barely enough room for a kitten, let alone a 4-year-old.
"I have an idea," said Jack. "I could go through the door behind the shelf."
The door behind the shelf? I'd forgotten about the other door in my office, because I don't use it as a door anymore. Two years ago, I closed the door and put a shelf in front of it. I don't even see a door there anymore—just see the shelf.
To Jack, the door was obvious. He didn't have the history and context of turning the door into an invisible door. To him, it just looked like a door behind a shelf.
On software teams, we make decisions, develop practices, and adopt processes to solve problems within a certain context. It doesn't make sense to go back and revisit all those choices every time there's a small change; the major features of the context are still the same.
But, with an accumulation of changes, the context can shift significantly. Unfortunately, all those long-ago choices have become invisible—they've become part of the normal daily flow.
We only become aware of those choices again when there's a sudden change (and things stop working) or when someone new comes along and asks, "Why do you do it that way?"
Some companies have a process audit that checks to make sure that their processes are still achieving the results they want. Most don't. Unless teams and organizations take time to reflect on how the context has changed, they'll accumulate many invisible doors.
If your company doesn't perform process audits, you need another way to see the invisible doors: the places where you need to re-examine a choice that may not fit anymore. Project retrospectives, seeking newcomer perspectives, and documenting important decisions are good ways to help you look back and see whether your processes still fit.
Create a Picture of Changes in Your Team Over Time
A timeline lets you get out of the day-to-day and see with a fresh set of eyes. Cover a wall with butcher paper, and draw three horizontal sections. Make one timeline for your team, another for your company, and one for your product's market. For each context, put up cards that describe major events in each arena. Look for shifts, changes, and trends. Has the make-up of the team changed? Has management (or management's priorities) changed? Is your market the same as it was a year ago?
I worked with a development team that was constantly fighting with the people who created the builds and installed the software. Only after the team members put a picture up on the wall did they realize that, due to changes on the team and an increase in the number of releases required of them, they needed to communicate differently. The mechanism they were using had been fine when they were releasing twice a year, but with six releases yearly, communication had broken down. Both teams were so caught up in daily work they didn't realize that their process wasn't keeping up with the change.
Ask a Newcomer
Four-year-olds ask great questions, but we don't always have one at the office. The next best thing is to ask the newest person on the team what practices strike her as puzzling or unusual.
When my friend Michael started at his current company, he asked about the number of approvals required to make what seemed to him to be minor design adaptations. He learned that a decade earlier, the company's major product line was in a regulated industry. So, even though the company had abandoned that product and wasn't subject to regulation anymore, the legacy of regulation remained.
The newcomer's perspective can be a wake-up call. Choices that made sense at one time may have outlived their usefulness. Sometimes our explanations for why we do things the way we do can be a reminder that it doesn't have to be that way. Then we can choose again, if what we're doing no longer fits.
Keep a Decision Journal
Write down important decisions; include the alternatives considered and the rationale for making this decision. Make a note of what conditions would lead you to reconsider this choice.
Perhaps it made perfect sense to have the technical lead keep all the code on his machine when there were three people on the team and the company didn't have configuration management software. But now there are twenty people on the team, and they're tripping on each other's changes. A wise manager might have set a trigger to reconsider configuration management when the team size increased to five.
Most people make the best decisions and use the best practices they can at the time. We make decisions and then move on. The results of our decisions become part of our routine. But as the world changes around us, we need mechanisms to look at the shifts, examine our routines, and choose again.
I chose to put my shelf back in front of the door after the floors were finished. But thanks to Jack, it was a conscious choice, not a foregone conclusion!