Saturday, October 01, 2005

The Art of Effort Estimation - Accuracy not necessary

Estimating efforts to complete a software project or a component is a fact of life for all software engineers. No matter what stage your career is in, be it project manager or junior developer, there will be times that you need to come up with estimations.

But effort estimation is hard. Software components and projects come in different shapes and sizes in: technology used and their maturity; customer expectation; time constraint; previous experiences... The list can go on and on.

I think the obsession to get an accurate estimation is missing the point. There is simply no such thing. Rather, what counts is how the project is executed against the estimations.

So how do you come up with a good plan that a project can be planned against? I believe a copule of simple policy will be able to achieve this:

#1: Estimation must be made by the person who will be ultimately responsible for the job.
#2: Great trust must be given to the person making the estimation.

That's all about it. The rules are self fulfilling because they provide an implicit social contract to the engineers.

Thursday, September 08, 2005

New Orleans


Hard to imagine that it was only a year ago we visited that vibrant city called New Orleans.
Here's a snapshot of the happier times last August at the Preservation Hall.

Corporate ladder

Just came across Paul Graham's article. Interestingly, pretty much confirm my thought in the last post. Paid attention to the second and last paragraph.

Sunday, August 28, 2005

Why a startup won't make an engineer rich

My wife and I moved to the US in 2001. As I remember there were two primary motivations for us to make this move. One is that we think the United States is a fascinating country, magical things happen. The other was that we wanted to get financially independent quickly through stock options - I was working for a wireless startup company at that time.

Looking back now, the first reason still stands. I still think the US is an amazing place. If you want to accomplish something, it provides a lot of freedom for you to get it. However I am not sure about the second reason any more, that is, an engineer can get rich through stock options. Thinking about it now I am even surprised about my own naivete. Here's math.

Let's assume that your startup makes it. (In reality, very few startup did. In fact, the way venture capital works, is that they purposely arrange it so that only a handful companies makes it.)

How much is your stock options worth?

One intelligent guess is by the estimated annual sales. Let's say your startup has annual sale of 20 million US$. This is not an unreasonable guess, as I will explain later.

An IPO or a total buy out might be about 5-7 times sales. Let's say 5, then your company is worth about 100M.

Say you joined the company really really early, and your options comprises about 3% of the company. Note that this is an extremely optimistic figure for an engineer. The VCs and the management usually owns a much bigger shares of the company.

So you get about 3 million dollars. After tax, you'll probably get little more than half, say 1.7M.

You might think 1.7M is a lot, but in certain areas of the US, it only buys you half of a house. (My cousin lives in Saratoga in the Bay Area, and nothing in her neighborhood is less than 1 million).

Also, 1.7M is hardly enough for retirement. My retirement fund web site says I'll need at least 3M if I want to retire at 50.

With all the tear and toil, is that all you'll get?

P.S.
There are two things I need to clarify:
1) 20M annual sales for a startup is not unreasonable.
Anything you are working on, which might generate revenues larger than that, is likely to have attracted large incumbent companies. They have better resources and power to make your work totally worthless.

In other words, a successful startup needs to work on niche areas overlooked by incumbents. Unfortunately, by the definition of niche, the revenue is small. At least initially.

2) I am not against joining a startup. In fact, startup is a wonderful place to work if you like the work and the people because it offers lots of freedom.
What I am saying is that you need to be realistic about the expectations.

Wednesday, July 13, 2005

Turning blog in to a business

To proof:

- Weblogs collects about 80 blogs under it and share advertising profits with the authors. It turns out that Engadget, one of my favourite blog, is under this consortium.

- Joel Spolsky published a book. It's no more than a collection of blogs.
In fac, you can read the entire book on line.

Thursday, June 16, 2005

Social status of a UI designer

In my work lately, I have to use a phone built with Microsoft Windows Mobile. I have to say that MS has a long way to go with their UI design. I haven't seen their newer version of the software (MS Mobile 5.0) yet. Hopefully they fix some of these problems.

For one thing, there is a lack of consistency in the UI. For example, the back-space key is normally used to close windows, but turns into a backspace key in a text edit box. This ambiguity is confusing to the user.

You can probably tell from the design that UI designer in MS don't have a very high social status. It's probably below the level of testers. (rumor is that the social ladder in MS the following, from high to low: Programmer => Program Manager => Tester).

In contrast, in another leading cell phone maker that I have worked with closely in my day time job, UI designers have god-like status. One illustration is that if a UI designer thinks certain screens and keys have to be function that way, the programmer MUST implement it no matter how difficult or convoluted the code turns out to be. There is simply no way a programmer can take a shortcut in the UI design simply because it's more convenient to code it.

So, not matter how good your UI designers, it's not going to matter if the programmers have a higher say over the product.

This is one example where culture in an organization is so important, that it sometime overshadows all the other things. It's also the hardest thing to change in an organization too.

Tuesday, June 07, 2005

Greg & Naoni


Greg
Originally uploaded by 518.
Greg & Naoni Zervas runs the Hillside Bed & Breakfast at Friday Harbour, Washington. This is the second year we stayed with them. Lovely rooms, breathtaking views and fantastic breakfast:

This morning: vegetable quiche, pineapple cake and pan fried hash brown.

Friday, June 03, 2005

Making money from Google

Not by buying the stock.

I scanned through GOOG's financial to find out how much they actually spent on those Linux boxes - there are thousands of them, each lasting 2-3 years - and was surprised to find these:

For year 2004:
- cost of revenue is $1.4 billion;
- 84% of the cost, or more than $1.2 billion, is spent on "Traffic Acquisition". These are money paid to "Google Network members", people who put those Adsense links on their web sites and got paid by Google.

$1.2 billion is a lot of money, going out of Google. That''s roughly $1 for each person in China.

Comparing to this, their cost in running the data centers, including the Linux boxes is only about$ 229 million, and expecting it to be $500 million this year.

GOOG supercomputer

In The hitchhiker Guide to Galaxy, people asked the "ultimate question" to the supercomputer Deep Thought (which eventually spited out the short and cryptic answer).

After reading some of the Google papers, (the GFS, Linux cluster and MapReduce algorithm are most interesting), it's not hard to imagine what GOOG is up to: to build the most powerful supercomputer that indexes all human knowledge, and one day be able to answer the ultimate question.