Next time you’re flying somewhere in the US, consider this: the air traffic controllers that are guiding your plane are using technology originally developed in the 1960’s and 1970’s called ARTS to make sure you don’t crash into another plane. They started working on a new system called AAS in 1983, canned it in 1994, and resurrected part of it in 1996. Now we’re already in 2006, and they’re saying Phase I deployment won’t be done for another year.
I won’t bore you with what happened, because your tax dollars produced a nice report from the House of Representatives that goes into enough detail to put you to sleep. But the FAA, and subcontractor IBM, faced a problem that isn’t all that uncommon in software development: they were trying to build something and they didn’t know what it was.
It’s a problem frequently faced by startups. You’ve got six customers, two of whom want to do something that you never dreamed your product would do. But they are paying you money. Maybe even A LOT of money. You need money to make things like the weekend company ski trip happen. Also things like payroll. So what now?
What you need is a good strategy for managing the changes, letting them happen but keeping your product plan on track.
So what is that? Here’s what’s worked well for me:
cp dev/* live/
, you might want to look at a 3-6 month cycle.That’s it. There is no number four. I specifically don’t advocate adding a lot of layers to the management of the software project: don’t do change documents, risk analyses, and all those other things that ‘good’ software development requires. You’ll waste time thinking about them.
The key here is to have documentation, and have plans, but keep everything really lightweight. That way, if the guano hits the fan, you can react quickly.
As for the FAA? The good news is that they seemed to have learned some lessons. They’ve been deploying measurable technology upgrades for the last several years, such as the new ARTS Standalone Tower Display System, which first came online in 2003 and helps smaller towers control their airspace. Of course, not everything at the FAA is up-to-date: this 2003 system uses Windows NT 4.0 running on a 366MHz PC with a 9.2GB hard drive. But you take what you can get, right?