FogBugz World Tour: Vancouver
Scott and myself went to the FogBugz 6.0 World Tour this morning. The purpose of the tour was to introduce FogBugz 6.0 to the world and to discuss the software development process with FogBugz
FogBugz was a bug tracking tool when it was originally released. With version 6.0, it has expanded to include a wiki and features to support project management, scheduling, customer support, and discussion groups.
I first used FogBugz a few years ago when I worked at NGRAIN. We currently use FogBugz 5.0 at Slant Six Games. In the past, I have used JIRA, DevTrack, Bugzilla, and THQ’s in-house bug tracking system. These systems have varied from decent to being absolutely crusty. FogBugz is easily the best of all the systems that I have used.
There is something very Getting Things Done about FogBugz. It is all about simplicity. The user interface is clean and it is easy to quickly add cases.
The presentation was lead by Joel Spolsky from Joel On Software. Joel has been maintaining his website since 2000; long before the term blog was common jargon. Joel On Software is currently in the top 100 of Technorati’s Popular Blogs. You can read more about Joel on his About Me page.
Joel wrote about his presentation here in Vancouver.
Vancouver is, without a doubt, one of North America’s most beautiful cities. Sparkling, clean, everything works well, nothing can possibly go wrong, people are friendly, and with the new weakened US dollar it’s really quite a prosperous place to live. Brett and I had dinner at Joe Fortes, where you get a choice of 4 different local species of salmon, maybe 20 other kinds of fresh fish, or about 10 different type of oysters, and there’s a beautiful rooftop deck where you can enjoy the usually pleasant Vancouver weather.
Vancouverites are odd in that they do their best to evangelize the city and make tourists feel welcome. Then we go around complaining about the city amongst ourselves when the neighbours can’t hear us. I quit complaining about the city a long time ago. I absolutely do love living here.
NB. If I haven’t called you in a while, it is probably because you’re complaining was annoying the jeebus out of me.
Evidence-Based Scheduling is the most notable feature added to FogBugz. The problem that this feature attempts to solve is that developers are generally poor at estimating the amount of time required to complete a task.
The developer estimates the amount of time it will take to complete a task. There are a number of features to track the actual amount of time it takes to complete a task. Over time, this historical data can be mined and analyzed.
A statistical method called Monte Carlo Simulation is applied to this historical data. Reports can be generated based upon this simulation that determine a confidence interval of when your likely ship date is. Basically, you get a graph that says you have 60% confidence that you will ship x days from today and 95% confidence that you will ship y days from today.
Estimation is hard for a number of reasons. If a developer is implementing a new feature, it is difficult to see the bumps in the road past the horizon. Paul Graham’s recent essay on Holding a Program in One’s Head is pertinent. If a developer can’t see all of the code for a feature in her head then there are unsolved problems that must be thought about.
This is especially true for hard problems. Frankly, hard problems are the only problems that are worth solving. Easy problems should be solved by meta-solutions that can solve easy problems. When that fails, outsource the solution to a third-world country.
Estimating the amount of time it will take to solve a hard problem is like asking Einstein how long it would take him to come up with The Theory of Relativity or asking Mozart how long it would take him to come up with a symphony.
There are some bugs that are just completely odd. I like to call these hokey-pokey bugs. An example of reproduction steps for this type of bug may be:
1. Insert MemStick into console.
2. Do the hokey-pokey.
3. Hit Save.
4. Shake it all about.
5. Yank out the MemStick.
6. Put console into Sleep Mode.
7. That’s what it’s all about.
Huh???
A bug like this may take half a day just to reproduce once. The resulting fix may be to change one line of code. The resulting fix may be to completely rewrite how data is copied between some piece of memory and some piece of cache.
During the Question & Answer period the topic of Wasabi came up. Wasabi is a compiler that FogCreek implemented. It compiles a BASIC-like language with features found in modern programming such as Ruby and Python. It is able to generate VBScript, PHP, and JavaScript.
Joel took a lot of heat when this first came to light. Jeff Atwood over at Coding Horror went as far as going ad hominem. Frankly, Joel and others at FogCreek made the correct decision. They are able to run the same codebase client-side and server-side. They are able to run FogBugz on IIS on Windows and Apache on Mac OS X or Linux. In the future, they could run ASP.NET on Windows.
This is a HUGE technical advantage.
Joel could have thumbed his nose, stuck out his tongue, and can say, “Neener, neener, neener” everytime Twitter goes down [1, 2].
Getting back to FogBugz, the time-sheet feature is cool. There is a built in timer but I think I’ll keep carrying my stopwatch. I love the obsession of measuring everything down to the second even if I don’t record the times. The obsession leads to a surreal focus on the current task.
All in all, the talk was excellent and the new version of FogBugz looks great. I hope we upgrade to FogBugz 6.0 after Socom for the PSP and PS3 ship.
—-
My head speaks a language, I don’t understand.
About this entry
You’re currently reading “FogBugz World Tour: Vancouver,” an entry on Parveen Kaler
- Published:
- 09.06.07 / 12am
- Category:
- Programming, Vancouver
1 Comment
Jump to comment form | comments rss [?] | trackback uri [?]