Thursday, March 26, 2009

Trash and Interfaces: Working Together

I took out the trash this morning (please hold your applause).  I wheeled out two trash cans, a green one for yard trimmings, and a black one for other household trash.  This was a very easy task to accomplish where at the end of the day, my trash cans will be empty and I will be able to fill them back up again.  Ah...closure.  How does this work?

Here are some things that help make this work:
  • The point of interaction between me and the garbage company is the street curb.
  • We have a defined transport container.  Rather than throw all this junk on the street, there is are nice, color-coded containers that indicate to me what to put into each container, but also lets the trash company truck drivers know which containers to pick up and which to leave for other trucks.
  • We have a defined time frame
    • The trash is collected between 6am and 6pm.
    • I can control the quality (more of a boolean, but sometimes not)  If I want to maximize my chances of the trash being picked up properly, I need to put it out before 6am.  I also need to make sure it all fits in the containers provided by the trash company.  I can always skip a week if I please.
  • We have a defined frequency, once a week.
  • We have very clear responsibilities
    • I put the cans out
    • They empty them
  • ...and some other minor things that I don't feel like typing.
Wow, that is a lot of coordination.  Here are some points that make this easy
  • My neighbors have the same service and do the same thing, so it is easy to share information about scheduling, overflow, and who to call if there is a problem.
  • This is a standard and repeatable process
  • When the schedule changes (a holiday here and there), I am notified of the new schedule
  • This process is similar to other trash companies in the area, so some kind of "regional industry standard" exists. 
  • I don't care who picks up the trash, as long as someone does.
  • They don't care who wheels it out, as long as someone does.
Why don't you develop your software the same way? 
  • Agree to the same (and clear) goal
  • Work as a team
  • Accept changes
  • Define responsibilites
  • Make it easy to use
  • Provide value
  • Keep it simple
  • Interact frequently
  • Care about what needs to be cared about

Please tell all your friends about this mind blowing article.

1 comment:

None said...

This was very intriguing. I will never think about garbage the same way. I would love to see a followup talking about the other side, monopolies, price fixing, and the mafia's involvement in the industry.