September 18, 2011

What if Humans were versioned?

This thought stuck me when I was wishing a friend of mine on his birthday.  But before we get into what I am trying to say let’s do a quick recap of software release and its versioning.

Almost all the software undergo certain stages of development, mainly Pre-Alpha, Alpha, Beta, and Release Candidate (RC) or the final release. Once the final version is out, every subsequent release is versioned to track and communicate the updates.

Most of the software maintain a numeric versioning upto 3 places, e.g.  x.y.z where change in the rightmost digit usually indicates bug fixes or minor updates, middle one is for new features and major updates, and change in the leftmost denotes substantial improvement in the software, like completely new UI, significant change in functionality etc. 

Also, one of the integral part of every release is a release note, which contains the details of the changes or the enhancements made in the software.  It has to justify the need of a new release and sometimes be compelling enough to make the user download the new version (especially if it involves money).

Okay enough about the software, now lets get back to the humans.

Similar to software, once our final version is released, i.e. we are born, we keep track of ourselves via our age, which we write in Years, Months and Days.

Now, instead of writing age like 29 years and 10 months, what if we start using the regular software versioning convention, so my age/version today will be something like in a format.

And if we stick to the popular nomenclature, and drop the fourth digit, calling myself version 2.9.9 will make sense, as every decade there is a huge change in what we are and the way we look, every year makes us slightly different from the last one and every month, there are minor changes or fixes.

But there are two things in which we differ from software.

First, unlike them, we neither have a choice of deciding whether to release a new version or not, nor the timing of it, it comes out automatically with every passing second.  Infact we are the best example of continuous integration.

Second, and the important one, we don’t write our release notes.

Now this is a tricky part, what if now we are also required to publish a release note for each release of ours, a note that describes all the things that we have learned or done in that duration.

I feel, its not that we have stopped learning, although the source might have changed from teachers to tweets. But amid this demanding life that we are living today, we don’t make a conscious effort to figure out what we have learned and how does it makes us a better person than what we were before.

Thus writing a release note might be of some help.

Now I am less than three months away from a major release, i.e. Satya 3.0 and so much has changed in last 10 years. From young & restless, to not so young and much more restless. From a BCOM FY student, to a professional with over 6.5 yrs of work ex. So many new people, so many new places and I have learned from everyone, everything and every little mistake I made.

And all this made me who I am today, a person starkly different from Satya 2.0 (including the size and amount of hair on my head ;)

I know it’ll not be easy when I’ll sit down and try to write my release note for this major release, since I didn’t write any for the previous ones.

Nevertheless, I’ll write one, though I might choose to keep it unpublished.

 Good luck for yours :)

No comments: