5 Steps to Make Sure Your Next Project is a Complete Disaster
by John Browne, on Feb 7, 2013 2:10:00 PM
So you've got a Visual Basic application that's as old and creaky as Grandpa's Buick and it's time to modernize it? Awesome!
It's going to be great to have that application running on a tablet or iPhone, especially after you add all the new cool whizbang features your users are going to love.
But a rewrite can be, well, problematic if things don't go well. And when you're writing code, sometimes things don't go all that well.
Here's a few tips to make sure the project will fail miserably, destroy your career, and generally threaten modern civilization:
1. Start with a clean sheet of paper
Nothing says progress like throwing out the old and beginning afresh. So let's pretend the old application doesn't exist and find out what the new one needs. By developing a completely new set of requirements and design parameters you'll get to make lots of new friends in the company and spend time writing, not coding.
2. Go for the latest and greatest programming stuff
Now's your chance to try out F# or Go instead of boring old C# or VB.NET. Those things are so 2011. Don't know F# or Go? No problem! Take a class or two. Travel. Download some sample code. I'm sure it will all be fine in the end.
3. Expand the SOW halfway into the project
Hey, it's software, it supposed to be agile. Here's some ideas to take to your boss: Put the whole thing in the cloud. Switch from Go to HTML5. Switch from Go to Erlang (extra points for this one). Turn it into a game based on Angry Birds. Add synchronization with the ERP system. Add touch. Any one of these could keep you employed for the rest of your life.
4. Schedule late? Add bodies.
This one's always good for some chaos. Throwing more resources at a project that's behind schedule always works. Trust me. Ask anyone. Since the number of bodies is directly proportional to the number of project emails and meetings, and the number of email and meetings is inversely proportional to the amount of code written, you just need to find the number of bodies to add where LOC/day goes to zero. That's the magic number.
5. Start over
Once when I worked at a Really Big Company they spent several years and many millions of dollars re-doing their HR system when they realized it wasn't going to get done. So they started over. I left but as far as I know they could still be working on it.
All kidding aside, you know everyone starts a major software development project with the best intentions. So how come more than 80% fail in some dreadful way? Maybe because software development is really really hard.
So if you want to avoid some of the grief above, check out migration instead of a rewrite. You might just be glad you did.