Migrating: tips from experienced travelers

Rough order of operations—plan your migration to best effect
From interviews we conducted with people who have done their migration work, we derived this checklist you can follow in planning your own migration:

  1. Do your homework. Understand the porting issues.
  2. Set expectations.
  3. Sort out code.
    • Separate your code from third-party code and determine appropriate solutions.
    • Separate code modules for individual work and test individually before assembling.
    • Separate easy from difficult code—start with DLLs and end with executables and services.
  4. Assess code. Identify expected problems such as data size assumptions and misalignment.
  5. Lay out the process. Document the details of the code (size, language, etc., and work needed).
  6. Start cleaning up problems to aid portability. You won't catch everything, but it will help.
  7. Investigate tools.
    • Find out which programs for operating systems, databases, etc. are open and which are closed.
    • Check availability of compilers in your languages.
    • If necessary, pound on your suppliers to ship their upgrades.
  8. Get tools—compilers, alignment tools, etc.
  9. Get started with simple port to get your feet wet. You can compile 64-bit code on a 32-bit machine—then use remote access to a 64-bit machine for debugging.
  10. Use alignment tools.
  11. Test
    • Do full regression testing to make sure there aren't run-time issues that didn't come out as compiler issues. Debug.
    • Test output against known results.
    • Make sure port is solid.
  12. Identify and fix runtime specific issues.
  13. Test again.
    • Make sure port is very solid.
  14. Optimize.
    • Try compiler run-time optimization.
    • Get in and optimize further as necessary
  15. Test, test, test!

Get a pdf version of this article: click download, below.

© 2005 Intel Corp.


Subscribers who liked this article also read:
Embedded development - QNX or Linux?
by Thomas W. Burger. Intel Corp. In the late 1990s, the Web applian...
Case Study: Animation Company Improves Rendering and Cost with Intel Xeon Processor
Maya Entertainment Ltd. is a leading computer animation and visual eff...
Turn performance killers into performance enablers
by Alan Zeichick, principal analyst, Camden Associates. Intel Corp. ...

If you're interested in this topic, these articles may be helpful:

Compatible
A database that is compatible with other popular database products and...
Achieve maximum application performance migrating from Unix to Linux
by An Le, technical consulting engineer, and Max Domeika, technical c...
Intel Itanium microarchitecture support for .NET and Java
by Matt Gillespie, technical author and editor. Intel Corp. The Int...
Migrating Java to C# manually: four case studies
by Jason A. Fletcher, application engineer, Intel Software and Solu...

Related Jobs:

Senior SQL DBA/Developer #3225 - MD - Silver Spring - Vision Technology
Title DB Administrator - Senior SQL DBA/Developer Position Descrip...
Senior Oracle DBA #RX1000018573 - CA - Sunnyvale - Yahoo! Inc.
Senior Oracle DBA, Unix, Perl Job No. RX1000018573 Location US ...
Data Warehouse Developer #18197BR - VA - Arlington - ManTech International Corporation
Provide engineering and analysis support to the Department of Homeland...
Sr. Kernel Developer #18344BR - MD - Columbia - ManTech International Corporation
The Computer Forensics and Intrusion Analysis Group (CFIA) of ManTech ...
Solutions Specialist #Corp-BK - NJ - Voorhees - SunGard
Reference No.: Corp-BK Opening Date: May 23, 2007 Job Title: Solut...
Director, Infrastructure Service Optimization Projects #184954 - MN - Bloomington - UnitedHealth Group
Director, Infrastructure Service Optimization Projects, Plymouth, MN...
ABAP Developer #EVELOPR - MO - St. Louis - UPP Business Systems
Available Jobs Your search on All Jobs returned 26 record(s)....
Multiple .NET C# Developers #SHARP - MO - St. Louis - UPP Business Systems
Description: Multiple .NET C# Developers experienced in programming, ...
Sr. Embedded Software Developer #18343BR - MD - Columbia - ManTech International Corporation
The Computer Forensics and Intrusion Analysis Group (CFIA) of ManTech ...
Technical Architect #20678 - MI - Allen Park - MSX International
Description: We are currently seeking a Technical Architect who wil...