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
8:55:08 PM
|