Evidence Based Scheduling 5
Joel Spolsky has an intriguing new article on one of the new features in FogBugz 6.0 called Evidence Based Scheduling.
I’ve actually had some experience with parts of this technique before, as I used it on a project while I was at Symantec. In my estimation, the project went much better because of this technique, partly because of the much better granularity afforded by this technique and the constant feedback given to myself and my superiors.
I also felt much better about my progress, both because I was completing tasks much faster (since they were smaller) and I had a much better handle on the scope of each task. It also did force me to think about the implementation issues ahead of time, something that Joel mentions and I think a lot of us gloss over and hand-wave away when dreaming up schedules and project plans.
Credit goes to Ross Fubini for being the first at Symantec to implement this style of project management.
One thing we didn’t do at Symantec was the the statistical dispersion of potential completion dates. Using a Monte Carlo simulation would indeed give you a much better feel for progress and allows for more realistic estimates of project health. We use statistical analysis at work quite frequently but it had never occurred to me to apply it to the software development process. Hindsight’s always 20-20, eh? Kudos to Joel for having the insight to apply this technique to software engineering.
As I am now responsible for the delivery of commercial software, I look for things of this nature to aid in the day-to-day engineering of projects. Based partly on my experiences and partly on the elegance of the idea, I do believe that EBS is very valuable and those responsible for shipping software should give it some serious consideration. You don’t even need FogBugz 6.0 to do it: an Excel spreadsheet or wiki software can be used to track the tasks and associated times and you can use GNU R to do the Monte Carlo simulations.
Starbucks WiFi Woes 4
For those of you who hit up the T-Mobile WiFi access points at your local Starbucks at various points, I’ve found two things to watch out for:
- T-Mobile proxies port 25 (SMTP) traffic. This wouldn’t be horrendous if they didn’t fail to also proxy the SMTP AUTH commands. Anyone shipping their outgoing mail over port 25 and needing authentication is hosed. If you can, submit your mail over the alternate submission port (587) if your ESP supports it.
- The layout of the stores was not well regarded when Starbucks Corporate decided to install those new sandwich microwaves. As such, any place within about a 60 degree fan-out in front of the cooker will lose WiFi due to microwave interference while it is running. This is quite frequently between the hours of 7 and 11 AM (and even more extended on weekends) so plan to either sit outside or somewhere way off to the side of the microwave unit.
As well, the service is pretty expensive (on the order of a landline broadband connection) and not very fast. But, it does in a pinch. Tim Bray says Boingo is much faster (and cheaper) but I’ve yet to find a place that had this service around me.
Project Euler 1
My friend Kyle recently turned me on to Project Euler. The site is a forum and list of problems and is a great way to get you into some math and numerics hacking examples. The problems are supposedly all solvable by a reasonably-powered computer in about a minute but there’s no proviso for you being able to code up the solution to them in that short a time :) You don’t get to see the forum for a particular problem until you’ve submitted the right answer to that problem, though, so it encourages you to work out at least a brute force solution before seeing what others did.
I’m pretty surprised at how many people chose “Assembler” as their preferred language. Me, I’m not that hardcore: I’m posting my problem solutions in Ruby as I finish each problem.