YOUR FEEDBACK
E-Commerce 2.0
Brian wrote: I think we're heading in the right direction, but we've still...

SYS-CON.TV
TOP MICROSOFT .NET LINKS


Microsoft .NET Feature — Comparing Migration Methodologies
Preserving functionality is paramount

Digg This!

Page 2 of 3   « previous page   next page »

Phase by Phase Methodology Comparison
The following sections compare the Great Migrations Methodology to other approaches in the context of the standard software development lifecycle phases starting with setting scope and running through maintenance.

Setting Scope
Job one for your migration project will be to identify a set of one of more legacy systems that will be migrated. You will also have to scope the project in a way that meets the business case and minimizes disruption to other work.

Know What You Are Getting into and Why
New technology is usually hyped up as the magic solution to our business problems, and this can create excitement and momentum for a migration project. You should expect business and technical people in your organization as well as your technical service providers to try to use your project to cross sell technology, make application enhancements, address the maintenance backlog, and in general grow the migration into an ever-more-ambitious project. Some of this is taking advantage of economy of scale, but if it spirals out of control, the migration will end up trying to completely re-engineer the system and the processes that it serves. An out-of-control migration brings in technology for technology's sake, demands unnecessary technical risk, and promises to deliver an ever-expanding array of new business features.

Pace yourself: understand the technical features of the new platform - including updated in-house architecture and coding standards and SDLC changes. Research the most compelling features of the new platform, then decide if you will include them, defer them, or avoid them altogether. Remember also that new technology is like a puppy: it's cute and fun when you first bring it home, but it grows up to be a lot of ongoing responsibility. (Sidebar 3)

MANAGE DISRUPTION
Migrations can be disruptive if your development teams have to straddle the fence: supporting both the old and new world, but not firmly in either. This disruption means added complexity and operating costs, so a migration project should allow a quick transition if possible. If your legacy code base is too large to allow a quick transition and will be done over many release cycles, you'll have to make migration work part of your standard SDLC and portfolio management process. For very large migrations, the code base will be divided into migration sets that are converted with each release cycle.

One of the key benefits of a tool-assisted migration is speed of transition. The main effort is tuning the translator and this will be completed for each system before you decide to "cut over" to the new platform. Note also that legacy development streams can continue to evolve in parallel with translation tuning; there is no need for a code freeze until you are ready to translate the legacy code and begin maintaining it on the new platform.

Without adequate tool support, it will probably take you a very long time to migrate the code base, so you'll end up supporting both the legacy and new development streams, doing duplicate work, and merging changes. If you don't have resources to support parallel streams, you'll have to freeze or chill legacy development and shift those resources to the migration stream.

Key Point: The primary goal of a migration is to move an existing system efficiently to a new platform so the system team can resume work on meeting new business.

Summary
Remember that even a bare bones migration is complex and risky. It requires significant planning, preparation, and testing. Exploring all the possible technical and functional nice-to-haves demands more coordination and due diligence and the increased scope will increase cost and risk and ultimately reduce the ROI of the effort.

  • Functional enhancements should be evaluated, scoped, scheduled, and delivered through your standard project methodology - not combined with migration work. The ideal functional scope of a migration project is functional equivalence; going beyond this may make sense, but it is beyond the scope of migration work.
  • The ideal technical scope for a migration project is limited to the set of changes needed to provide functionally correct code that meets your architectural and coding standards for the new platform. Bear in mind that a high-yield translation tool is an enabler, not a constraint. It can help you improve existing source code by making API replacements and restructuring the code to meet new architectural standards. A translator can help you stretch your migration budget and allow for more, not less, technical improvements.
Gathering Requirements
Migration projects, like all other IT projects, are defined in terms of two main types of requirements: functional (what you want the system to do) and technical (how you want the system to do it).

Functional Requirements
One of the first questions for any IT project is: What should the new system do? For a migration, the simplistic answer is: "the new system should do the same things as the legacy system." Now consider that most large-scale business systems are born through a big first release or launch and then they grow, and grow, and grow over a period of years: release after release, fix after fix, enhancement after enhancement. By the time a major business system is five years old, it can easily contain over 50 person-years of development effort. So the simplistic "do the same thing as the legacy system" leads to a huge question: how to figure out, in complete and accurate detail, everything the legacy system does. Answering this question is at the heart of the migration project.

Technical Requirements
Technical requirements include coding and architecture guidelines and library and component use standards that make the new code more maintainable, reusable, scalable, robust, etc. There may also be changes to configuration management policies, unit testing, and deployment and operating procedures. Scalability and robustness requirements in particular should also be formalized and new technologies should be stressed to ensure that their beauty is not just skin deep. Clearly the migration is more than just a language problem, and the migration team must carefully control both the total cost of conversion (TCC) as well as the long-term total cost of ownership (TCO). Careful selection of technical requirements is the key to controlling both of these costs.

Migration Requirements Gathering
Table 1 grades the effectiveness of various sources of requirements for a migration that aims to provide functional equivalence and also allows for architectural improvements that can lower maintenance costs.



Page 2 of 3   « previous page   next page »

About Mark Juras
Mark Juras is president of Great Migrations LLC, a technology solutions provider that specializes in helping people migrate their software applications from one programming language to another.

Mark wrote: Thanks for your interest in the article. The diagrams are available at www.greatmigrations.com; there is an updated version of ths material in the downloads section.
read & respond »
Earl Truss wrote: A couple of the figures for this article appear to be cut off. Side-bar-1.gif Mark-fig-1.gif side-bar-2.gif (hard to tell on this one) side-bar-3.gif (hard to tell on this one) side-bar-4.gif side-bar-6.gif Can I get corrected copies of these?
read & respond »
Mark Juras wrote: If you found this article informative, you should also see "Five Pillars of Visual Basic Retirement". It is a case study about how the tool-assisted rewrite methodology was selected and applied in a real migration program. Enjoy. http://dotnet.sys-con.com /read/299072.htm
read & respond »
MICROSOFT .NET LATEST STORIES
Icahn Moves To Force Microsoft & Yahoo Together
Corporate raider Carl Icahn started his proxy fight for control of Yahoo this morning, beginning with the classic Icahn opening, the letter of reproach to the Yahoo board telling them they have acted 'irrationally and lost the faith of shareholders and Microsoft.'
"RIA" vs "Rich Client Platform": The Term Is Now Up for Debate
'RIA' is slowly fading in terms of its definition. When I first started the RIA Evangelism role in Microsoft, I had this nagging feeling that the term RIA was just all over the place. Depending on which technology you are backing and which stream of alliance you uphold, the truth is th
Book Review: ASP.NET 2.0
ASP.NET developers are bored with traditional books that outline concepts in a lengthy way. These books are good if you like to learn the features in a detailed manner. However, by the time the book is read, a new version will be released. Hence, many learners including myself prefer s
Peer Networking Series - A Closer Look at PNRP vs. Bonjour/ZeroConf
It seems as though whenever I bring up PNRP and its benefits, I am immediately inundated with a list of questions or comments indicating that Microsoft is re-inventing the wheel and that PNRP has already been implemented before in the form of ZeroConf and, more specifically, Apple's im
db4o Open Source Object-Oriented Database Supports LINQ
db4objects has announced that its db4o object database is now optimized for Microsoft's LINQ. With the new support, developers can choose an object-oriented optimized engine without changing the API or compromising performance. db4object's db4o database offers a persistence solution to
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE
BREAKING NEWS FROM THE WIRES
XtremeNotebooks Releases First Xeon Quad Core Laptop to the United States
XtremeNotebooks, first to introduce the Quad Core laptop to the United States, offers the firs