Brian's profileSerious ConfusionPhotosBlogListsMore Tools Help

Brian Vallee

There are no music lists on this space.

Serious Confusion

November 29

Work and estimating: philosophy and practice

One of the more difficult activities which new developers are faced with, is determining what they should do, how long will it take and when will it be done.  Being able to handle this will make any developer more efficient, desired and respected on any project they choose to work on.  Why can I say this?  If you know what you are going to do, you by extension know what you are doing, which is a big win.  If you know how long something will take you both prove you have a good grasp of what you are doing and can plan time at home where your significant other can give you the "Honey do" list.  Last, know when something will be done, implies both the time and requirements elements, so that not only do you know when, but what dictates success.
 
What this all means is that no one will be wondering about you, your work can be measured and expected, and you get done when you say you will.  So how does this work?
 
Here is the 2 elements I use when evaluating work I (or others) need to do.  First is determining what you need to do and estimating:
  1. Determine how many days (not hours) a task will take.
  2. If the task time is greater than 5 days, it is too big, break it down into sub tasks and estimate each.
  3. If the task time is less than 1 day, it is too small.  If you can roll it into another task do so, otherwise estimate at 1 day.
  4. Add up the days.
  5. Certainty can be calculated at 5% per task per day, so if a task takes 2 days, it's 2 x 5% = 10%, 10% x 2 days = 0.2 days.
  6. Add up the Certainty days, this is your buffer.
That's your over all time estimate.
 
The second element is how to use this to report status.  One of my work friends promotes the 3 questions:
 
  • what am I doing?
  • when will I be done?
  • how do I know I'm done?
Using the task estimating model, you should be able to answer the first 2 questions easily, the last should be part of the definition of the task, your exit criteria.
 
Reporting status becomes easy, just report your tasks, the estimate, your real start and end dates, and voila.  It's interesting that current development collaboration tools, such as TFS (Team Foundation System) readily support this model, and in fact make the status report easy, so that Project Management does not have to pester you if you teach them to use the tool.
 
Good luck with that!
 

A passage to India

K & B: A Passage To India

 

The wonderful India of her opening weeks, with its cool nights and acceptable hints of infinitely, had vanished.

 

A Passage To India, E. M. Forester

 

I remembered that line when I got off the plane at 12:15 am; Mumbai was anything but cool at night. The quality of the air mirrors the quality of vibrancy in the city.  Like any large city, Mumbai is in someway active at every hour of the day.  During the day, you can feel the rush to grow, and that feeling does not disappear at night.

 

Energy also exists in the people, but it reflects differently from the US experience.  People are more methodical, intent on detail… all the i’s are dotted, the t’s crossed.  It shows in their interactions; service is phenomenal, people even tempered and polite despite the human density.

 

Of course, this is not an absolute, as in any large grouping of people, some are going to act from baser needs, especially on tourists.  Walking into any shop in Mumbai, if it was obvious you were not a local, was exhausting. One of the first skills anyone should gain is the ability to say no, politely but firmly, else you are like to be shown every single item is a shop.  No matter how scruffy you are, all tourists are rich.

 

The second important skill is learning to quietly count everything you are buying, preferably 6 or 7 times; from the point you select the items, to the point you pay, and even after you’ve actually purchased.

 

I make a point of this, since Ken had the wonderful experience of trying to return items to the clothing shop where we both bought sari and other clothes for our families and friends.  When Ken got back from his first trip, he discovered he had both more items than he selected and the wrong size for some of them.

 

So, when I was looking, Ken brought back the extras and mistakes for replacements and refunds.  Apparently the concept of “the customer is always right” has not reached all shops in Mumbai (at least for tourists, I haven’t received feedback from the average Mumbain on the subject).  So, after buying my stuff (actually my wife’s stuff) and a judicious 1 hour extra, including low volume yelling, secretive conferences, police threats (both ways) and general equine level stubbornness, we left.  I walked out with nothing extra, Ken walked out with a stack of small bills as thick as a bible (I’m guessing it was petty revenge on their part, Ken was happy, it made tips easier).

The city of Mumbai has a degree of contrast that Los Angeles and Seattle do not have.  It’s a modern city, studded with tall and numerous buildings.  It’s also a city in transition. The economic malaise of the prior century continues, the older ways of accomplishing are transforming into something like America, but entirely Indian. Traveling around the city, the transformations are from roads that rival the back roads of Oregon and Colorado (if the back roads of those places also had to endure 6 times the rain), to roads like I5 to, in a few places, the Pacific Coast Highway. 

 

In the first few days, you are surprised by cattle in the streets, freely roaming, cars swerving to avoid them.  All too soon that’s normal, so that you’re struck by the one cow in downtown Mumbai who is actually leashed, so that she doesn’t wander (it was a tourist thing so you could take pictures).

 

Where people live and work is also very striking, with high rises sitting next to shanty towns.  Corporations sitting next to traditional laundries, where the cloths are washed in cisterns, and hung in the air to dry.

 

The most profound experience in Mumbai, is the people. Often friendly far more frequently than here, many are also quiet, very personal individuals.  It’s very hard not to respect the ones I met, to see how valuable they are. 

 

Of course, this is not always true!  Some given the opportunity to let loose, got a little scary!  I don’t particularly know how this happened, just that some how Ken was involved.  I hope they can deal with the repercussions!

 

Ok, I’d go back.

 
A list of books that every starting developer should read
A book list of key books any senior developer should read
Photo 1 of 8
No list items have been added yet.