Time to boil the ocean!

A colleague of mine told me a great allegory today.  The shortened version is that a bunch of sailors fell off a boat into the cold, icy waters of the Pacific.  The captain, understanding that his men would surely freeze to death, immediately ordered the rest of his men to work on heating the ocean so that the sailors could survive.  The moral of the story is wonderfully clear: managing scope and thinking of the reasonable solution that is achievable and meets your goals is so important in life, but especially in software development.  I found the story so great because I think I've seen so many people guilty of this over the years and I must admit that I have been guilty of this.  In fact, I was guilty this past month.  I've been spending a lot of my free time writing a WinForms app to manage our projects, resources, invoices, etc. Think of it as ERP-lite (our group isn't big, so a custom solution isn't a bad idea).  Of course, a useful WinForms app is not a trivial task.  So, I've spent the last few weeks creating databases, dialog boxes, sprocs, etc., all in an effort to create this super app that will make us smarter.  Here's the funny part:  I did this last year as a ASP.NET app and it dominated about 4-5 months of my free time.  I got a lot smarter, but it was a bear to maintain and after I accidentally did something weird in configuring IIS, the app went dead.  That pushed the need for v2.  However, the pain of developing the first app, the maintainance required, and then its frailty should've made me think twice.  Plus, no one could really administer the app but me.  What if I left the group?  Now, this project isn't impossible, but given my other responsibilities prevent me from doing this full-time, I really should have started searching for an alternative.  Like perhaps a hybrid with a really complex Excel spreadsheet.  Excel has some decided advantages over SQL when it comes to figures and I know Excel really well.  When I heard the story, I suddenly realized that I was trying to boil the ocean to save the sailors because I had a really cool kettle.  Excel is my lifejacket--it's quick, it's known to work, and can take care of a lot of what I am trying to do the hard way through my app.  Of course, unlike the ocean boiling, my Winform app isn't completely ridiculous and I think there will be some usefulness to it.  However, when breaking down the project to it's atomic elements, there are certain pieces that I should be sticking with common sense over technology.  Technology is cool when it is appropriate and a nuisance when it is not.

{Red Hot Chili Peppers-By The Way}