Archive for the ‘software improvement’ Tag

A Post About Kaizen in Which I Get Preachy, or, There -is- a “Try”

Scott says (9:41 AM):so a guy is on a cruise ship

Scott says (9:42 AM):and they cruise near this island in the middle of the ocean and he’s on the deck looking out at the view, and sees a haggard man on the island in tattered clothes running around and waving his arms frantically

Scott says (9:43 AM): and he goes to the captain and tells him about it, and the captain says “yeah, I don’t know what’s up with that guy. we cruise by here every month and he’s always out there doing that”

Scott C. Reynolds told me this joke this morning and it really made me think.

A lot of times development teams have this problem.  They are blind to the fact that something could be better.  We have many times when something will get screwed up or be done poorly and no one fixes it.  There are a number of reasons people will do this…laziness, unwillingness to learn, general blindness.  But maybe it is because they don’t know that there is a better way to do something.

One thing I’ve taken away from this past year of change is the philosophy of kaizen.  “Kaizen is a Japanese word adopted into English referring to a philosophy or practices focusing on continuous improvement in manufacturing activities, all business activities, or even all aspects of life, depending on interpretation and usage.” (Thanks, Wikipedia!)  In everything I do I tell myself that I will do it better than I did yesterday but not as well as I will do it tomorrow.  By doing this, by absolutely drilling it into my brain until it is part of my unconscious, I am ensuring the most quality in everything I do.  If my stories aren’t comprehensive enough and my acceptance criteria not robust enough, I am sure to deeply interpret the next thing I have to write and make it more thorough.

This is how everyone should live.

Software will never be perfect, I will never be perfect, and change is a constant.  These are all truths.  If you can fully ingratiate the notion of kaizen into your life and try to make improvements on everything you do, you’re gold.  You can’t expect to write flawless code every day, but you should expect yourself to see how you made those bugs and why you made them and figure out how to fix that in the future.  If you are thrashing with something, do a little more research on it.  Work a little harder.  Anything you can do to make yourself better, to make your products better, is never a bad thing.

Here’s a thing: broken window theory.  The gist is that if a building in a bad neighborhood has a broken window and it’s left alone, that building is more likely to get vandalized worse because the perception is that it doesn’t matter.  You can find these buildings all over the place in DC in the area of the 9:30 Club (that’s all I can picture when I think of this theory).  These people leave one broken window, and then people start tagging.  And then they break more windows.  And then they have bonfires and pee in it.  Et cetera et cetera.  But say someone boards up that window before the crap happens.  It looks like someone cares.  Maybe it still gets a little graffiti, or maybe people don’t mess with it because someone lives there or otherwise uses that building.

Get it?

Don’t just let bad code sit.  Do the Boy Scout thing.  Leave the campsite a little cleaner than when you found it.  Don’t keep making the same mistakes and letting QA catch them and then do wasteful rework.  Figure out a better solution for what you are doing, talk to someone else who knows it, read blogs.  Do SOMETHING.  Stagnation is the death of everything; do not let yourself become stagnant.  Start improving today.

Maybe this sounds hard.  Well, no one said it would be easy, least of all me.

Do a little introspection and take a look at the way you work.  What are your problems?  What is holding you back from being the platonic ideal of yourself?  Why does your code keep getting kicked back from QA?  If you just pick one thing at a time and lock it into your brain to do, you’ll be there in no time.  Making too many changes at once is a sure way to fail.  Your body and mind are sensitive and need time to adjust; if you want to quit smoking and lose 30 pounds and move to a new place, you’re gonna need to space those things out.  You will fail at one of them.  If you do not, you are a freak of nature and should be burned at the stake (I’m speaking to one person in particular).  The rest of you, don’t feel so bad.  There’s always room for improvement.