transportation

Transportation in this context refers to the movement of products and materials. For a software development team, this means bytes and ideas. When the transport is hampered, it’s a form of waste. Later, I’ll talk about other kinds of motion.

Thinking about teams, there are a number of infrastructure areas to address. Unless they are all on a beach somewhere, there are some structural considerations: light, heat, plumbing, snack cabinets and so on. If teams have to struggle with unwanted noise or shiver to stay warm, ideas don’t flow as well. Environmental distractions are a waste.

Beyond survival needs, some environments are more conducive to work than others, and ideas on a productive work environment vary by person. Some people find the childlike halls of a Google or Zappos to be idyllic; others prefer the coffee or sandwich shop down the street. Effort spent enduring or overcoming the environment is waste.

Teams need proper tools. On a software delivery team, each person probably needs a computer, and probably one more powerful than an entry-level machine at a big box store. Some team members will need code development tools. Others will need modeling or testing packages. Others may need project management tools. Each of these tools produces files. All these digital assets imply a storage medium, usually a hard drive.

The movement of bytes within a computer can be a source of waste. Hard drives get cluttered and fragmented, and hard drive speeds can make a real impact. I recently benefitted from replacing a standard SATA drive with a hybrid solid-state drive. It reduced the compile and unit test time from about 15 minutes to under 3. Where I would do 20 local builds a day before, I can do triple that now. That means you get your feature in a day or two rather than a week — I’ve doubled my productivity for a few hundred dollars.

People install programs they no longer need. A certain amount of regular maintenance is needed, and hence people put “wear and tear” on their computers. Even fanatics of Apple computers, known for requiring little maintenance, will occasionally “nuke and pave” their systems, wiping the hard drive and restoring a copy of their user settings and application atop a fresh operating system installation. The time spent doing this that could have been used for production is a waste.

In addition, the team members need transportation infrastructure to share their work. In other words, these machines need a way to communicate with each other. This implies a network of some kind, with all the switches, hubs and cables that implies. Stretching the physical goods analogy, if the team is shipping code on a slow network, that’s waste. Early in my career, my colleagues and I developed a habit of checking in our code, then going to the break room and getting some coffee or playing a round of foosball while the code made its way over the network to the server. If you had data files to share, you would put them on a disk and walk them to your neighbor’s cube. In 2013 with adequate network hardware being a commodity, there’s no excuse for that.

And, if the files being transported contain features that are no longer used, or if they are large digital assets where small ones would do, or if the traffic is less valuable — that is, everyone is streaming Pandora instead of production logs — then the bandwidth to carry those assets, the work of the network, it could have carried something else and thus is deemed to be transportation waste.

And I’d be remiss if I didn’t mention that the internet itself, when used improperly, can be wasteful. Companies lose a portion of each work week to non-work-related internet use. While that flexibility might mean that employees do not need to take time away from work to handle quick personal affairs like banking, excessive zeal in making sure cats can have cheeseburgers is probably lost productivity.

Wasted Motion

I’ll admit, there isn’t a lot of people motion that happens in software delivery. Software teams rarely deliver physical goods, they produce binary goods. Or is there? In a typical cube farm, how many times do you go to a meeting? How many times do you search for an open huddle room? I have worked in places where people would spend 15 minutes, 30 minutes, sometimes an hour negotiating with their peers to secure a conference room. At another, managers would walk pieces of paper around to get physical signatures for permission to release a product into production.

There is always the teleconference. I don’t need to tell you that co-location, sitting team members next to each other so they can freely talk, is less complicated and expensive than having fast computers and a robust network infrastructure for webcam interactions. If you have to peek over a cubicle wall, or worse pick up a phone and dial someone to ask their opinion, there will be times where that seems like too much of a bother — and a chance to share a critical insight is wasted.

This is not to say that distributed teams and these technologies don’t have their place. Sometimes the right people for a team don’t live in the same city. And meeting rooms for a thousand people are prohibitively expensive. Clearly, though, there is a trade-off for all of these pieces of infrastructure, and if you are paying for portions of that infrastructure that are unused or underutilized, that’s a form of waste. There is a reason many coaches like me advocate co-location: it reduces the cost of sharing ideas.

Even if you don’t want to do this all of the time, periodic use can be beneficial. Providing communal work space is a good idea, even though poorly-designed bullpens can introduce challenges from lack of personal space. I know some teams that book a conference room and work there together for an afternoon a week.

Another example is one of the mainstays of scrum: the daily scrum, a common time and place for the team to gather, share their triumphs and fumbles, and for them to discover obstacles to success. And many teams will make use of a “war room” when it’s critical for all the team to be focused on the same thing. I tell my teams, when things get tough, get closer.

Even in applications, there is wasted motion. Think about inefficient user interfaces where common functions take several clicks. Attention to user experience can reduce wasted motion. I won an innovation award early in my career by creating an adaptive wizard for data entry and making JavaScript improvements to page responsiveness. Data entry of a contract went from 20 minutes down to 5, which was an incredible time savings for the application’s customers. Our last installment will address overproduction and overprocessing.