Monday, August 21, 2006

Ron Jeffries on 80/20 Rule

Ron Jeffries presented an some food for thought at The "Eighty-Twenty" Rule. By playing around the numbers he hints that by providing 20% of high value functionality earlier it is possible to produce 4 times more of the revenue. It all started with Alan Shalloway quote:

"The easiest way to build something simpler is to not build things you don't need. 64% of our software (by the industry) is barely used. The approach of building the 20% of the system that creates the greatest value (80%?) and then re-assessing and building the next 20% has several advantages."


Sure it has. I can figure out the advantages myself, but can you guys please tell me how to guess the right 20%? Come and see my Venture Capitalists, too: they struggle with 80/20 rule as 80% of their software ventures are out of business. Tell them "the easies way to grow venture capital is not to invest to the companies that don't go bankrupt". Imagine their collective "Wow!" in excitement, their respectful stares and pats on you back. Enjoy the image.

The usefulness of functionality is a biggest unknown in software development. Who knows what's going to be useful upfront? Picture 084 Customers don't know it. They may not exist yet. The Market doesn't know it. It may not exist yet. It is all in a future.

Without the sacred knowledge, any selection of 20% functionality will fail under the same 80/20 rule thus delivering 20% of 20% = 4% of useful functionality. In fact it is depressing to learn that even if we knew the jackpot answer on "what are the right 20 to be build", the revenue would grow only 4 times. I hoped for 4000 times!

False promises and anecdotal evidences of agile efficiency is growing to be a huge problem. It is especially dangerous then the gurus as smart and respected as Ron Jeffries indulge themselves for promoting such anecdotes. Watch out.

AddThis Social Bookmark Button

Wednesday, August 16, 2006

Blogger vs WordPress

No, it is not comparison. It's a fight. Two giants are fighting for my blog.


I considered moving to WordPress, and tried it's "Import from blogger" feature. It didn't worked out, becides it killed my Blogger template. I republished posts with new template and lost some formatting. Not too bad. I feel better after ranting a bit.


It will take me some time (summer time!) to restore links and formatting. I am still uncertain if I go for WordPress or stay with blogger. But I am forced to make some change. By this token, there is no black background any more. A few folks complained it was hard on their eyes. More changes are coming.

AddThis Social Bookmark Button

I Hate Software When I See It

Don't bother remind me the benifits the software brings to today. Not today. Today I have no patience to any more software failures. Three things just happend.


First, I opened up my Outlook calendar - everything is messed up! Time for all events has changed, reoccuring events disappeared, some others got lost, what a damage to me who lives out of calendar! Turned out to be a failure in Palm Treo syncronization. All attempts to fix it made it even worse.


Second, I opened my blog, it is gone! Instead, a page saying something like "softwarefrontier is currently unavailable. Please learn about better bloggins software" Heck, this better bloggins software just killed my blog as was trying WordPress import feature to import from Blogger!


Third... you don't wanna hear it. Enough.


I love software. I love it not only as the way I make my dollars. I love software because it works for me. In 1000 situations of everyday life it does it's job so seamlessly that I don't even see it.


But when I see it, when I notice that I am actually using software, it always shows it's ugly failing face. I have to stop my life and spend substantial time fixing something that I so used to get for granted. Auch! my pocket calendar is not synced up with the corporate one! Auch! how come I can't rant to the whole world any more? I get so pissed off that I go rant and flame on my own professional blog.


I hate software, but only when I see it. What an ambitious goal for adeveloper to write invisible software!

AddThis Social Bookmark Button

Thursday, August 03, 2006

It's Often Cheaper to Make a Mistake

We are taught to learn from mistakes. One school of thought says it better be someone else's mistakes cause it is less pain to learn from them, the other claim "no pain no gain" and learning from your own mistakes leaves the longer memory the deeper scars. But both schools agree that there is no lack of learning material: we do so many mistakes of all kinds all the time.

What is a usual way to learn from the mistake in the corporate environment? Right: "Let's put some process in place to ensure we don't get to this situation again". It may be manager's natural reaction, and it may sound logical, but there are two fundamental problems with this approach.

First, a process has a maintenance cost. Documents have to be written and updated, meeting have to be carried and followed up, someone needs to own the process and inspect it, it adds up to work duties of more then one individuals. Put a process to ensure we don't fail again on this particular case? So what? Tomorrow we'll do newer, better mistake! We are very consistent in making all kinds of mistakes, and more productive on this front then most of us care to admit.

Eventually we may come to the point then we won't be doing any mistakes any more, but because we have covered all the areas with good processes: simply because people got so busy serving these processes they have no time left for making mistakes. No time for doing anything productive either.

Second, it takes juice out of the life. Building bureaucracy not only brings down the productivity, it spoils working environment. Robbing creators of their right to eventually fail hurts creativity. "Following the rules" doesn't foster "taking responsibility". With all those processes put in place the work is simply no fun. Hey, if you don't think the work is supposed to be fun, get out now and don't come and read my blog until you change your mind.

Still here? Ah, you came back! You are now saying it was a mistake to think that we are not supposed to enjoy the work?! Take it easy. We all make mistakes. We will continue to do it. It is indispensable part of any creative process. Analyze the mistakes, retrospect on them, learn from them. Then throw them away and go ahead and do more.

But resist the temptation to band every mistake with the process around it. The cost of this process will often offset the cost of the mistake multiplied by the probability of making it again.

If you're up for diving a bit deeper, share my joy of reading and thinking over this aphorism by one of my most favorite philosophers, Lev Shestov:

"We see a man repent for his actions, and conclude that such actions should be avoided: an instance of false, but apparently irreproachable reasoning. Time passes, and we see the same man repenting again of the self-same acts. If we love logic, this will confirm us in our first conclusion. But if we do not care for logic, we shall say: man is under an equal necessity to commit these acts, and to repent of them. Sometimes, however, the first conclusion is corrected differently. Having decided that repentance proves that a certain course of action should be avoided, man avoids it all his life; only to realize in the end, suddenly, with extraordinary clarity, how bitter is his regret that he has not trodden the forbidden course. But by this time a new conclusion is already useless. Life is over, and the newly-enlightened mind no longer knows how to rid itself of the superfluous light."
All Things are Possible (Apotheosis of Groundlessness)

AddThis Social Bookmark Button