Eating the Software Elephant–One Byte at a Time.

You’ve probably heard the question, “How do you eat an elephant?”  And the typical answer:  “one bite at a time.”

What does this have to do with software development?   Actually, it’s a great analogy.   Because over the years, we’ve met many business owners who run their companies on really old code.   (Some might even call the software ancient, by today’s standards.)  In fact, we often find programs written back in the 1980’s, still hard at work today.  But even when better solutions have evolved, some companies still hang on to the legacy system for as long as possible.

Managers have their reasons to sit tight

But why would business owners entrust their core business processes to old software, when so many improvements and innovations have become available?  They do so for several reasons.  And we hear these most often:

  • “Our custom software has been a wonderful asset for many years. It’s tailored to the way our company does business.  And it has run well for a long time.   Why fix something that ain’t broke?”
  • “Our software application is huge.  It has many modules and contains hundreds of thousands of lines of code. So, migrating to newer software would be a colossal challenge.”
  • “Our people are very comfortable with the existing software.  Training them on a new system would take time.   And change always upsets the normal flow in our office.”

Migrating to a newer software platform can present real challenges.  It often involves a review of how the current software meshes with today’s business operations, and how it could be improved.  So it’s not surprising when companies hesitate–even when yesterday’s software no longer meets today’s demands.

But folks, this doesn’t have to be an all-or-nothing proposition.

What’s a good manager to do?

Software Development Life Cycle

Let’s rephrase the first question slightly:  how do you migrate a huge software application?   In my opinion, the best answer is:  one byte at a time.

Yes, you could tackle a migration project all at once.  But migrating smaller, manageable byte-sized chunks often makes more sense.  And there are several reasons you might go this route:

  • Rolling out incremental changes allows you to see results more quickly.  And smaller updates won’t upset your business operations nearly as much as larger ones could.
  • Small updates will introduce change to your employees at a slower pace.  As a result, they’ll have time to get comfortable with the change.  And hopefully, they’ll recognize the benefits as well.
  • When you migrate gradually, you’ll spread the cost over a longer period of time.
  • Taking smaller steps gives you a chance to evaluate a software developer.  It lets you see how well they understand your needs.  Plus, you’ll find out how well they implement your programming specifications right away–rather than months later.

Because we all have lives outside the workplace, it’s understandable why some might postpone adding yet another project to our busy schedule.    But hardware and operating systems continue to evolve.  And the day will come when 30-year-old software won’t support your core business applications any longer.   So it’s wise to start planning now, rather than waiting until you have fewer options.

Not ready for any changes just yet?

What if you’re not ready to begin the process today?  At the very least, you might want to find programmers who can support your application in its current state.  Not only will you have someone to call if anything goes wrong.  They’ll also be more knowledgeable about your business processes when migration time finally arrives.

If you’d like help evaluating how best to migrate your software application, give us a call.

Leave a Reply

Your email address will not be published. Required fields are marked *