Tuesday, February 27, 2007

Risk Assessment or thoughts in an airport

Recently I was traveling from Vancouver to New York. I could not say it was a smooth trip. At first, my taxi was late. I was about to call a dispatcher, when the driver eventually arrived. When I came to the airport, I had an hour and twenty minutes until the flight and was glad to see that the check in line to Delta Connection was not that long.

Oh boy, it was probably the slowest line I ever saw. There was only one Delta guy at the counter and he was not in a hurry. Also, something was not working properly at his stand and for each passenger he was leaving his seat and going to another counter to print baggage tags.

Thirty minutes later, he started to deal with two old ladies who were definitely planning a trip around the world based on a number of boarding passes he printed for them.

I was the next in line, and was starting to feel nervous that I may be really late for my flight. When I expressed my concerns to check-in clerk, he smiled back and said: “Don’t worry, the flight has been delayed”.

Sure, this put me at ease! I had just forty three minutes to make a connection in Salt Lake City. Without skipping a bit, instead of worrying about missing the flight from Vancouver I switched to worrying about missing the flight from Salt Lake City.

We landed in Salt Lake City about 30 minutes late. Those of us, who had connection to New York, started to run to another terminal with a slight hope that our plane was delayed. When we arrived at the gate, there was no sign of the plane.

But the plane has not left without us; it was canceled, due to a snow storm in New York.

I did not make it to New York that day. Airline rescheduled my flight to arrive in NY in the next day evening. My meetings would have been over by that time, so I decided to go back to Vancouver.

When I was sitting in airport’s restaurant waiting for my flight back home, it occured to me that I spent the entire day worrying about the wrong thing. Whatever I was considering the biggest risk in completing my journey, was not worth worrying about.

At every step I was getting more information about my environment, which changed my assessment of what prevented me from finishing the trip. At the end, bad weather in New York happened to be a higher risk, than the late taxi, slow check-in line, or short connection time.

After getting to terms with the idea that I won’t get to New York this week, my thoughts switched by a strange analogy to the way we assess risks in software development.

While nobody really likes spending too much time on assessing risks, most people including myself agree that it is good idea to keep track of a project’s risks.

A much more interesting and controversial issue is when do you need to start addressing risks? If you follow a waterfall approach, the answer is clear – address them at the beginning of the project as all important deign decisions are made at that time.

Many of us were on projects where people worried about wrong things. And not just worry, but spent time and money addressing problems that won’t be problems at the end of the project, while failing to anticipate some real future headaches - all these complex solutions for weird use cases, high performance scalable frameworks for never implemented features, risks addressed in alpha release for release 5.0 features.

This is just one of the reasons, why Agile approach saves money. It views software development as a learning experience. In Agile, you delay making a decision and acting on it up to the last possible moment, because it is guaranteed that you are going to know more about the problem in the future and be smarter then, than you are now.

I booked another trip to New York - direct flight this time :-)
Digg! Bookmark this post to del.icio.us

No comments: