Stupid Human Programming
Talk on software development.








Subscribe to "Stupid Human Programming" in Radio UserLand.

Click to see the XML version of this web page.

Click here to send an email to the editor of this weblog.


Thursday, May 27, 2004
 

 Software Is Really a Community

Software is far more a community than it is a well ordered bag of bits. This feeling struck me hard during a "transfer of knowledge" session for software i've worked on for over 6 years. The transfer of knowledge is due to an unfortunate plant closing.

Just how do you transfer knowledge of a huge piece of software that you have so lovingly worked on for 6 years? It is a daunting task. There's no real place to start and there's no real place to end. The stories are fractally infinite.

You hope you are transfering knowledge so that the software might live and even prosper. But in the back of my mind i know that this is not the case.

I can talk about the software for days. I can demo it. I can document it better and better. But that's not the software.

The software is really all the people and circumstances that gave rise to it, along with the culture that sustained it.

The meaning for the software isn't it in the code. It comes from the society of people who used it. From the traditions and culture that were built around it. The exciting moments when you were able to add something that made someone elses life easier.

Software is its community. Without a community software can not be said to live.

Anything complex does not stay alive by the written word. Software lives through continual use; through old people handing down knowledge to new people, sharing tips, tricks, and workarounds; through steady continual improvement based on the feedback of actual caring users so that the software fits its niche so well nobody can imagine it working any other way.

When going over each feature i can remember when it was added, who wanted it added, and why they wanted it. I can remember when the feature was completed and their thanks when it worked. Without that person or their living descendents, any explanation of the feature makes no sense. Inside, I know it will never be used again. It will just die.

Over and over again as i explain things i get the feeling that this won't be used again. No matter how much i document they won't understand. They can't really understand. It will just fall unremembered and unused.

A feature grows from an intersection of people, a need, a technology, a time, and a place. Once that context is gone nothing makes sense.

It's hard to understand how unbelievably crushing this is. It's just a piece of software, right? No, it's a community that is going away.








http://www.possibility.com/epowiki/Wiki.jsp?page=SoftwareIsCommunity

comment[]

8:55:08 PM    



Click here to visit the Radio UserLand website. © Copyright 2006 todd hoff.
Last update: 7/11/2006; 12:56:59 PM.
May 2004
Sun Mon Tue Wed Thu Fri Sat
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
Apr   Jul