
Joel Spolsky – FogBugz World Tour 2007, Boston
I attended the FogBugz World Tour 2007 at Boston today as I was quite interested to meet Joel in person. He’s been a guru of sorts in evangelizing a lot of entrepreneurial visions in a sense that amazingly connects well with the developer and here is why.
As usual, one would expect Joel to organize this event impeccably. The refreshments were good, everything was setup before we got in. (No last moment surprises and glitches) and Joel was right there receiving guests. An impressive brochure of FogBugz 6.0, a FogBugz notepad and a branded pen lay there. Joel walks in and starts out with a Dilbert joke (Do all presentations need to begin with a joke? Well, I liked this one, I don’t complain). The session was presented well, where Joel highlighted some of the newer features of FogBugz 6.0. I was impressed with the list. A WYSIWYG wiki, Evidence based scheduling, Bug Tracking, Email and discussions, Bug Tracking – an all in one project management system designed to help software teams communicate. For a moment, it looked like Basecamp. But when the demo unfolded each of the features and some really snappy UI interaction, Basecamp looked like a toy.
The best feature, I liked was the Evidence based Scheduling. Using a sophisticated statistical technique, it displays a probability curve of ship dates that dynamically takes into your teams skills at estimating. It will also show you how the ship date has changed over time so you can tell when you’re slipping, and it will show you each developer’s ship date graphically so you can find bottlenecks. And there are so many reports. The Evidence Base Scheduling reports, Ship Date Confidence Reports. The most useful report was Developer ship Dates report which shows you when each developer will finish the task assigned to them. For each developer you get a horizontal bar which shows five points: the developer’s 5%, 25%, 50%, 75% and 95% probability rates.
Mouthful? Not really.
These reports are generated on Monte Carlo simulation. In lay man’s terms this means, suppose the system has tracked 10 worst estimates and 10 best estimates of a developer, now add this sampling for all developers in your team. Let’s say, each developer on an average had estimated 100-150 hrs for their tasks. All holidays are taken off. At any point of time how would you come to a conclusion to this question?
“Will my product be delivered on September 20th?”
What Monte Carlo simulation does is, it takes a random estimate ( from the above feed), for each developer and adds them up to see if it can match the target date. This cycle is repeated for an optimal 60 times to reach the probability curve saying
“Perhaps 92%, yes.”
If you think about it, this is by far a very smart calculation if you insist that micro management is a part of all development activities.
I personally think this won’t work in companies where random and undisciplined work culture exists. (Offshore Body shops tend to make their developers work for 14 hrs sometimes during a release phase but lets talk about it later)
Coming back to the session, I liked a lot of features of FogBugz, for it’s slick UI and no nonsense design approach of assigning tasks that knows how to keep track of itself. Unlike MS Project or your boring Project Manager who know nothing but still want to be your pain in the butt. In fact FogBugz makes the job of a Project Manager obsolete.
The Q&A session was informative and I think Joel is a pretty smart guy. He knows how to keep the audience in splits, at the same time with minimal ‘marketing buzz’, makes his product appealing to his audience.
Watch the Feature Tour for yourself here.
Some of highlights from Joel’s mouth, that’s worth a mention: -
- Never estimate for more than 2 days, if you are, then something is wrong with your tasks. You either will miss something or you don’t know what you’re doing
- Avoid project planning with dependencies (like in MS Project, which btw is only useful for construction workers). Adding predecessors and multiple dependencies will only complicate your schedule and plan. Instead add a task that can fill in the dependencies with ‘scaffolding’
- Track each and every item in your tasks (min 1, max 4 hrs). Helps in generating a probability chart for your estimates. Helps in automated timesheets
If Steve jobs is a master of presenting new Hardware Product Demos, I think Joel is the equivalent in Software.
I have a few pics from the session here.
Post a Comment