Thursday, June 10, 2010

Software migration proposals: translate or rebuild from scratch?

One of the most difficult software migration challenges occurs when the client either assumes a migration methodology or so tightly specifies the requirements that a "lift and shift" approach is basically required.  I have been involved in two migrations where this was happening.  Often the "lift and shift" style vendors promote "code translators" that are supposed to save time and money for the client, but my thesis for this blog is  "dont translate! - "REWRITE!"

Today's new programming patterns, tools, and Sr. developers can provide much  higher levels of programming "muscle".  A well specified, well understood project allows a small, yet powerful team to rebuild a large legacy application more effectively than a "translation" approach.

One reason for translate projects is the lack of knowledge and expertise for the old application.  Also, the clients often lack the desire to list requirements not only for all the known and unknown features, but also the business rules of the old, tired application.  Mainframe migrations are often rife with this problem.  Beware of the project where the migration vendor must write their own software requirements by reviewing old source code!

On the other hand, an application rewrite is often dismissed because larger amounts of client resources will be needed to write new and complete software requirements. A strong, confident software team can successfully overcome the resistance and propose a lower cost application rebuild that is designed from the ground up with a modern, modular architecture.  

With Agile project management, .net4 framework, Visual Studio 2010, MVC programming patterns, and experienced architects,  today's high performance software teams can accomplish massive feats of software construction.

The challenge as Software executives... we are often hunting for the project, and so the architecture proposed is secondary to winning the project in any way possible.  So, do you lead with good software design, or compromise to whatever is needed to win your proposals.....??

More to come..  Please comment!

No comments:

Post a Comment