Joel Spolsky: Things you should never NEVER Do

19. September 2006 03:57 by Fzoufaly in General  //  Tags:   //   Comments (0)

"When you throw away code and start from scratch, you are throwing away all that knowledge. All those collected bug fixes. Years of programming work. You are throwing away your market leadership. You are giving a gift of two or three years to your competitors, and believe me, that is a long time in software years." Joel Spolsky. -- (The second NEVER in the title is mine, not Joel's!.)

I am not sure if when Joel wrote this quote (to which I profoundly agree) was thinking about automatic conversion of software.  I absolutely agree that if you have a running applicatiion and you want to move it to a new platform, a rewrite from scratch is the WORST possible option.  You would not believe how frequently I see this happening in my day to day work at ArtinSoft.

When you can automatically transform your source code to a new language you can have the best of both worlds.

Let me explain.  With automatic conversion you maintain all the knowledge that is embedded in your current application.  At the same time, you are able to move your source code to the more modern environment and immediately be able to take advantage of the new features and to effectively extend the life of your code.  The cost of migration of programmers skills is also reduced dramatically by the automatic upgrade approach.  What is the most difficult aspect to learn for a programmer?  Is it the new language or the inner workings of an application?  I would argue it is the second aspect.  Programmers are very adaptable in terms of technology, but learning the intricacies of a business model supported by an application can take years!  Again, the automatic migration approach allows a smooth transition for a programming team.  All the knowledge they had about the application is still there.  In fact, they can easily study the converted code and learn from it.  It is much easier to start modifying an existing program than creating one from scratch when you have never programmed in a certain language.

In summary, Joel is right.  You should NEVER throw away your code.  Automatic Upgrade from Visual Basic 6 to Visual Basic .NET is an excellent option to modernize your app while maximizing its ROI.

Categories