Category Archives: Aviation

What becoming a pilot has taught me about managing software projects

In my professional life, I develop and manage software projects.  In my personal life, I am a recreational private pilot.  Becoming a pilot was challenging but extremely fun, and continues to be a great learning experience.  I’ve found that the process of becoming a pilot has taught me a lot of useful things about how to manage software projects.

When you are taking flight lessons, you need to learn many different things, in a broad range of topics.  You learn some academic stuff (like aerodynamics and meteorology), some hands-on stuff (like how to actually control an airplane) and a bunch of details (like airspace regulations, and other rules and numbers you just need to remember).  But one of the most important lessons you are taught is problem solving and resource management.  In other words, all that knowledge you gained during your lessons is no good if you are too stressed or overwhelmed to keep control of the airplane and get it to its destination safely.

Here’s four key points I’ve taken away from my flight lessons and how they can be applied to software projects:

  1. Use checklists. The human brain can only hold a small number of things in short term memory at any one time (somewhere around 7).  Pilots use checklists to avoid relying on the memory limitations imposed by human anatomy.  They are used at just about every stage of flight, from approaching a plane for the first time, until it’s parked and tied down at the end of the flight. Forgetting one small but critical item (like neglecting to release a handbrake or setting the fuel mixture to the wrong setting) can have some very serious consequences.  By regularly using a checklist, you ensure you do the same things every single time and in the same order.  This idea is useful for many other areas (in fact, a whole book has been written on the subject).  Deploying a server, make a list.  Testing a release, make a list.  Need to fix bugs and track which ones you have fixed already, make a list.   And the great thing about software development is that you can use scripts to automate your lists.  What could be better than typing in a command like “deploy_server” and having all the items on your list execute the same way every time.  It sounds simple, but how many people do you know that do something repeatedly, but manually, and from memory.
  2. Have a flight plan and stay focused. Before take-off, pilots make a flight plan – sometimes on paper or via software, and sometimes in their head (if they are only flying around the airport for some practice).  The plan includes a goal for the flight, a destination, some alternates in case the first plan doesn’t work out, and a personal assessment of whether you are up for the flight.  If you have a lot on your mind, are feeling distracted, sick, or otherwise not ready to stay focused, then you are trained to not take off in the first place.  Once you take off, the only certainty is that you will be coming back down at some point – hopefully on a runway.  The same is true of software projects – once you “take off”, are you committed to seeing the project through?  Are you ready to stay focused on the primary goal of the project?  Do you have alternates when the primary plan needs to change mid-course? Do you even know what that goal is?  Does everyone on the team know what it is and do they agree to it?  If you paused when answering any of these questions, maybe you need to revisit your flight plan before you take off.
  3. Aviate, Navigate, Communicate. When flying a plane, your most important job is to, well, fly the plane.  It won’t do much good to know where you are and tell someone about it if you crash in the process (unless you care more about them finding your wreck than you do about walking away from it).  FAA crash reports are filled with people who crash after losing control because they were fiddling with a GPS or worrying about what to say to air traffic control.  Those three words remind you of the order in which you should focus your attention: only after ensuring the plane is under control should you worry about navigating, and only after that should you worry about talking to ATC.  In software projects, however, I think you need to go in the opposite direction: Communicate, Goals, Code.  Coding does you no good if you don’t know why you are doing it (the goals),  and having goals is no good if everyone on your team (and your customers) doesn’t know what they are.
  4. Use check points.  Whether using GPS or compass, maps, and a clock, before setting out on a flight, pilots mark down prominent points along their routes (a river crossing, a large town) and the approximate time into their flight they expect to pass them (based on winds and estimated airspeed).  Once airborne, the pilot ensures that these check points are passed at about the right times.  If not, you are either off-course or moving slower than expected (or both).  Either scenario is bad, since unexpected fuel starvation in an airplane is a very bad thing (which unfortunately is also common in FAA crash reports).  The same idea applies to software projects, where you should have regular check points to be sure progress is moving as planned.  Software methodologies like Scrum and Agile have iteration meetings every few weeks where you can adjust course as needed.  Projects get to be one year late one day a time, and while having these regular check points won’t necessarily make you go any faster, it will let you make more informed decisions.

One of the unique things about being a pilot is that once in the air, you are keenly aware that your life and the life of everyone in the plane with you is in your hands alone (the same is true of driving a car of course, although you have the luxury of pulling over if you suddenly decide you aren’t fit to drive anymore).  Most software projects don’t have that same level of importance, but they can still benefit from the all tricks that aviation has come up over the years for keeping that key take off/landing ratio = 1.


The Biennial Flight Review

I just completed my Biennial Flight Review (BFR) yesterday to keep my Private Pilot’s License current. The BFR is mandated by the FAA every 24 months to keep your knowledge current and is required in order to continue acting as pilot in command (i.e. in order to fly solo or carry passengers on your own).  The flight review consists of a minimum of 1 hour ground instruction and 1 hour flight instruction with an approved flight instructor.  The BFR is not a test, and it is not possible to “fail”, but the instructor can decide to not endorse your logbook, thereby requiring you to do it all over again.

I flew out of Alpha-1 Flight School in Plymouth, MA and was originally scheduled to fly a Cessna 172.  But the plane I had booked turned out to be in maintenance that day, so I was switched into a Cessna 152.  The 152 is a two-seat version of the 172, and is lighter and tighter (you will bump shoulders with the person in the other seat).

I preflighted the plane first, and found a few minor problems, which also turned out to be noted in the maintenance manual (cracked side window, no landing light, and a drippy fuel drain valve).  Nothing to stay on the ground over during a flight in daylight.  As I was finishing up, a personal jet landed and it was quite loud – not like the other little prop planes buzzing around the airport.

The ground portion of the review went fine, just some questions about airspace, reading the symbols on an aviation sectional chart, a couple trick questions (“what’s the stall speed if you are zero G?”, answer = 0 knots; “do you need to carry the latest charts?”, answer = no, as long as you meticulously pencil in all the changes from the latest charts that pertain to your particular flight onto your old one) and some general back and forth to make sure I remembered all the tidbits from the original written test.  The instructor was quite nice and it wasn’t stressful at all.

Then the fun part began – the flying!  We took off from Runway 24 with a left crosswind and then turned out to the east over Plymouth harbor.  We climbed up to 2500 feet and started to pick up some light rain and mist on the windshield.  A warm front was moving in from the west, and the high clouds were starting to descend well ahead of the passage.  We were staying close to the airport and the front was still a good ways off, so we pressed on without too much concern.  But ours was likely to be the last VFR flight of the day before the weather moved in. Winds were gusty and strong from the south-west, pushing our little Cessna along.  Just for reference, the Cessna 152 is about half the weight of a normal sedan — basically lighter than a Geo Metro, so you can imagine what 25 knots of gusty wind will do to you.  Note that steady winds are not a problem — all they do is change your ground speed.  The only time winds are a problem is when they change quickly (wind shear), or when they are not aligned with a runway when you take off and land : the two times of flight when your plane transitions from being in contact with the ground and thus resisting the wind, to being able to float freely with it.

At 2500 feet, we did a couple “clearing turns” to make sure no other planes were in the area, and then practiced steep turns, where you put the plane into a 45 degree bank and turn a tight 360, ending up at the same heading you started at with a minimum of change in altitude.  No problem – I like steep turns and don’t find them very challenging.  It’s the one time in a small plane you are likely to feel some g’s and it’s kind of fun.  Next we did slow flight, where you slow down to minimum controllable airspeed, with full flaps, and then maintain altitude and do some gentle turns.  The fun part is seeing how slow you can go without stalling, which in a Cessna 152 is around 40 knots or so.  If there is a nice stiff headwind, you might even get close to 0 knots ground speed. Note that in an airplane, a stall is not related to the engine, but is rather the condition of losing lift when your wings are angled too steeply relative to the oncoming wind. Slow flight feels very different to normal flight – it’s feels “mushy” and sloppy with the plane wallowing around.  We had the stall warning horn wailing the whole time as I did a couple 180 degree turns.  When the plane is flying that slowly, you turn almost entirely with the rudder, and you have to be very careful to not overbank, stall, or worse, stall while uncoordinated. Uncoordinated flight is when the nose of the plane is not pointed in the same direction it is moving, and it can an lead  to a spin when it is combined with a stall.  Also, planes usually don’t turn with the rudder – they turn with ailerons, which change the relative lift of the wings, causing one to bank more than the other.  You then “pull” the plane through the turn with the elevator (by moving the nose “up” into the banked wings).  The rudder just helps you keep the nose pointing in the same direction as the turn (i.e. keeping you “coordinated”).  Its always good to be pointing the in the same direction you are flying.

Stalling is not hazardous if you are high enough and know how to recover, and in fact, we practiced stalls next.  First was the “power off stall”, which you do with the engine at low power and configured as if you were landing (flaps down).  The onset of the stall is heralded by the feeling of “going over the top” of a roller coaster hill and a mild shaking of the airframe.  In a Cessna, it’s quite benign and recovery involves pushing forward and increasing engine power to full.  It was actually quite hard to stall the Cessna 152 – I had the yoke pulled almost all the way back in my lap with the power off and it still took some effort to get it to stall completely (probably the only time you’ll hear the phrase “come on — stall damn you!!” coming out of a pilot’s mouth).

Next we did a “power on stall” to simulate what might happen if you climb too steeply after take off.  This required going up at a very steep angle with full power.  I felt like we were an F16 (OK, a really slow F16) for a bit before it finally slowed enough to stalled and slide off to the side.  You have to use a lot of right rudder to keep the plane tracking straight during a power on stall due to the various forces that make the plane want to veer to the left in this condition.

Next we practiced spin recovery techniques using the rudder to correct for a “messed up situation” (flight instructor quote).  You have to use the rudder to recover in a spin, since your wings are somewhat or completely stalled, making your ailerons useless and potentially dangerous.  Finally we did some turns around a point, where you pick a point on the ground, and try and fly around it without drifting due to the wind.  We flew around the Miles Standish Monument at about 900 feet, which is a pretty nice point to fly around.  And, oh yes, we also did some sight seeing (no flight instruction is complete without the instructor pointing out the fancy houses in the area and the grumpy people who live near the airport who complain about the noise).

Finally, we went back to Plymouth, entered the traffic pattern and flew five landings, including a couple touch-and-goes and a couple taxi-back takeoffs.  I also got to practice my non-towered field operation, including all the radio chatter.  Among the takeoffs were a practice soft-field takeoff, which basically involves doing a wheelie down the runway, popping up into the air as soon as possible, cruising 10 feet off the ground to pick up speed, and then climbing normally.  The idea is to get the nosewheel off the runway as soon as possible to prevent it from getting caught in a rut in a grass field.

Most of the landings were fine, although it was a bit gusty and I was having some occasional problems over controlling the lighter-than-expected 152.  I kept overdoing the rudder movements since I was used to the 172, which needs a bit more muscle to get it going where you want.  Normally you use the rudder and ailerons in a coordinated way (turn left, use left yoke and left rudder), but the 152 needs very little left rudder when you are slow with the engine running.  The first landing was also a bit of clunker – I flared a bit high, and so we dropped a few feet to the runway at the end (the kind of landing where you would might say”oops” if your passengers couldn’t hear you).  Nothing too bad, but not the nice soft landing that makes passengers happy.  The last landing was the best actually and, as they say, any landing you walk away from is a good landing.

Anyway, he said I did fine, signed my logbook and off I went.  Next BFR – two years away.

The space race is now a space crawl…

July 20, 2009 was the 40th anniversary of the Apollo 11 moon landing. I’ve always been fascinated with the Apollo missions, mostly because they were so extraordinary. It’s pretty amazing to think that in one generation, we could go from learning how to fly, to traveling to the moon, 250,000 miles away, and then returning. While we’ve made progress in so many other areas in the last 40 years (computers and communication technology come to mind), space flight and aviation progress has paled by comparison.

I learned how to fly in a Cessna made a couple years after I was born. Gerald Ford was President then and Ronald Reagan was not yet the savior of the Republican party. A brand new Cessna made today is remarkably similar, except for much upgraded avionics. The avionics, computers and GPS make navigation and weather avoidance much easier than in the 1970s, but the engine and airframe is basically the same.

The aviation industry has faced some tough times in the last decade. September 11 caused a major slump in the commercial airline industry and the pilot population has been on a decline. General aviation is struggling to keep the pilot population from dwindling too much, as it battles increased regulation, mostly unfounded fears of terrorism (for perspective, a fully loaded Cessna weighs less than my car) and gas prices. The auto industry, not exactly a hotbed of innovation, is at least starting to produce hybrids and other innovative vehicles as it starts the long move away from the internal combustion engine. Aviation has a long way to go, especially general aviation planes like Cessnas, which still burn leaded fuel and are kept deliberately simple for safety reasons (no cooling system means the cooling system can’t fail!)  There has to be many opportunities for innovation in this area, especially with new regulations bound to take effect at some point in the future.

I’m not sure what will spur innovation in the aviation and space industry, but I believe it has the potential to inspire a new generation of engineers and scientists. The Smithsonian Air & Space Museum in Washington DC isn’t packed for nothing – the general public and kids have a natural love affair with aviation and space flight. Let’s just hope NASA continues to live on as a source of inspiration, as is so evident it was in the all footage from 40 years ago.

Incidentally, if you’d like to try your hand at landing on the moon, check out the Eagle Lander 3D application (Windows only). As you listen to the calm voices of the Apollo 11 astronauts, it’ll make you appreciate what Neil and Buzz did 40 years ago that much more.