Archive for October, 2008
How relavant is ‘The Mythical Man-Month’?
Few books grab your attention on the first page and keep it that way until the last. It is surprising that a technical book written by a technical person would be such a one. As I read every page of ‘The mythical Man-Month‘ (MMM), I was thinking to myself, “Damn, I should’ve read this book in college; or at least when I started with my career”. The author, Frederick Brooks, is dealing about those invaluable lessons that I learnt hard way over these many years in this field.
Every problem that the author talks about is so relevant today. Fundamental to the book is the ‘fallacious and dangerous myth about interchangeability of men and months‘. Even today when I present effort estimates to stakeholders, the immediate question is, “So if we double the team size, we should half the time to build this application?”. Brooks derives his response from a restaurant menu in New Orleans – ‘Good cooking takes time!’. Some tasks can’t be hurried without spoiling the result.
Or take the problem of communication. Though every one talks the same business language (English), their interpretations vary. Often one hears, “Oh! you meant that? I thought it was something else!”. Despite plenty of modeling techniques, understanding between parties involved remains a paramount problem in running a software project. (This is compounded in offshore projects).
Those of us who have handled large systems with different functional owners for different modules would have dealt with the issue of ‘conceptual integrity‘. I have managed such projects and it is not only difficult to integrate these modules; such systems throw enormous amount of confusion to the end users.
Building prototypes and releasing alpha & beta software are a common practices today. Open Source Software Practice advocates ‘release often; release early’. Yet, I’ve witnessed large projects with multi man-year effort and high complexity being developed in isolation after gather user requirements. When the project is released after years of development, the ‘actual need and the user’s perception of that need’ changed; and the project is a colossal failure bringing frustration and humiliation to the technical team.
These are just few of the problems and solutions discussed by Brooks. As I said in the beginning of the article, all the issues discussed Brooks are surprisingly relevant today. If you are in software stream – as a developer or as a functional analyst or as a manager – you should read this book. It will avoid you going though the path of agony.
Don’t throw away your opportunity
In an earlier post, I mentioned about interpreting scriptures for practical application in our lives. In this post, I’m sharing with you a story in a Hindu epic that inspired me greatly. It’s a pity that I forgot the names of the character and reference but the moral of the story inspired me all through my life.
In the ancient days, according to Hindu epics, it is a common practice for men to undertake penance to invoke blessing of gods. One such story goes like this:
A king undertakes penance with a desire to taste God’s food. Days go by; months go by; and years go by. After many many years of penance, the king is tired and thirsty. Then a lowly man walks by and enquires the tired king, if he needs something. When the king requests for water, the stranger pees in his ‘thiruvodu’ (earthen pot used by beggars for collecting food) and place it before the king. Annoyed by this, the king throws away the pot in anger. As the king throws away the pot, the lowly stranger transforms into God saying, "You threw away what you’ve been longing for – It was God’s food’.
We all long for that one ‘thing’ in our lives – be it the job that will get us out of our debts or the gal of our dreams, or the article that will take us to the pinnacle of fame. Call it ‘unfair’, but life never gives that in a golden plate. It comes in as a ‘pee in the earthen pot’.
In software industry, it always takes the form of ‘the risky project that none wants to handle’. Taking it could spoil your reputation. But there lies "God’s food", that one thing that you’ve been waiting for.
Those who know me, know that I grab such projects with all enthusiasm. (Sometimes it had been just plain ‘pee in the earthen pot’. When that happens, the emotional pain is too high. Still you learn something valuable about handling risks). But most often I end up as a winner.
Is this true only for professional life? No. I’ve found it to be true even in personal life.
Taking risks is a difficult decision. During the decision making phase, it drains you emotionally and during implementation it drains you physically. But there lies ‘God’s food’.
A new way to read books
Next to programming, reading books (along with Photography) is my hobby. If I have not read a book in a month, I feel I’ve wasted that month; and I spend a weekend exclusively on reading.
Topics I read vary, but I’m particularly interested in practical applications of theories than plain academics. Software Engineering, Management and Self-development top my reading list; followed by theology and psychology. I do read novels and other topics but they have to be really interesting for me as I dedicate less time to straying away from my primary interests.
With increasing work load at office and at home, there is a serious crunch for time to read books. So when I came across a service that enables one to read books via email, I was thrilled. DailyLit emails a snippet of a book daily at a time of your choice.
I like it because it is via email – any ways email client, in my case Microsoft Outlook, is opened throughout the day; it is a snippet, it takes only 10 minutes a day. And since I got Blackberry, I can read the book snippet anywhere.
I’ve already read Tom Peters’ 100 ways to succeed/Make Money in 100 installments. Currently I’m subscribed to Good Experience Columns, series of articles on improving user/customer experience. I’ve gotten only 3 installments and I’m already loving it.
DailyLit has both free and paid services. I’ll try out couple of more free books and then wouldn’t mind subscribing to their paid services.
If you are a book-lover, like me, and crunched for time, try DailyLit. You might like it.
So do we throw the scriptures away?
It’s easy to think of life in black & white. But in reality, it is never the case. Lots of factors throw in various shades of gray in between.
So is the case with scriptures. You can’t classify them as either bad or good. Its true that (relatively) few insane bigots (and institutions) have taken the scriptures into their hands and created a whole lot of bloodshed and madness. But that doesn’t mean you need to throw the scriptures completely.
Ancient wise-men realized that unless life-governing principles were coated with ‘God’, the message won’t get through. So they used the then prevailing religious medium.
Somehow over the years, we’ve trained ourselves to take the coating seriously leaving what is inside. That is just too sad.
Though the scriptures were written for an earlier generation, there are lots of gems still left in there. We should learn to distinguish the chaff from the useful. Having learnt to identify the gem, put that gem in to good use.
I’ve personally benefited from such a process – distinguishing a gem, and then applying it in real life. Lots of stories from both the Christian and Hindu scriptures have helped me enrich my life.
Though I’m vehemently against interpreting the scriptures literally and creating chaos in the world, I do encourage reading them to enhance the quality of your life.
In the coming days, I’ll share some of these stories and how they helped me. I’m not trying to convince you or to convert you into any principle. I’m sharing what worked for me. If it works for you, then well and good.
Or else, well, don’t go and burn my village. Just ignore it.