ZDNet UK


Skip to Main Content

ZDNet.co.uk - Winner of Best Business Website 2007
  1. Home
  2. News
  3. Blogs
  4. Reviews
  5. Prices
  6. Resources
  7. Community
  8. My ZDNet

 

ZDNet UK RSS Feeds


IT Jobs

Office applications Toolkit

Buy or rebuild core systems?

Tim Landgrave

Published: 01 Sep 2002 20:42 BST

  • Email
  • Trackback
  • Clip Link
  • Print friendly
  • Post Comment

I recently spent a few days reviewing the design and operational issues of an existing system with a CIO and his development manager. The company wrote the system several years ago using Microsoft Access, and it has become a core tool in the budget management process.

The system collects the prior year's budget and actual information from the company's various accounting systems, partitions the database by corporate division, and then sends out germane information to each division. Division heads use the database and associated spreadsheets to enter their budget information, assumptions, and other data for the upcoming year. Throughout the year, division managers can request an updated copy with the prior-year and current-year numbers to see how their divisions are performing. They can also ask for advanced analysis of the company's performance.

It's a classic example of a system that's integral to operations, yet is technologically and operationally challenged to the point that it has to be replaced. These types of systems were written in an era when it was too expensive to connect all of a company's locations. These distributed processing and storage applications -- and their brethren, client-server applications with the assumption of local, high-speed connectivity -- are prime candidates for replacement with new distributed processing technologies.

In this kind of scenario, a CIO has to determine the best strategy for replacing outdated applications. The answer boils down to one or more of the following options: package migration, system migration, and application rewrite.

Package migration
The first option -- likely much to the chagrin of most development managers -- is to look at a package migration. As packaged software continues to evolve, many systems now include features that companies were forced to develop and integrate themselves.

The first place companies should look is off-the-shelf products that provide functionality similar to that of existing custom solutions. In my client's case, the company already was looking at alternative accounting systems that would let it consolidate all accounting operations into a single, integrated package. I urged my client to make sure the packages most likely to be purchased included features that the company's users rely upon to get their work done.

System migration
The system migration option involves taking features of existing systems and finding ways to perform them more efficiently without replacing the application outright.

For example, most of the problems my customer encountered in its budgeting application revolved around one of two issues: the distribution of the databases and the user interface for processing. Although Access works very well as a departmental database with a limited number of users, it was never designed to be an efficient distributed processing system. But since all the code in my client's custom solution was written in Visual Basic, the company could reuse a significant amount of the logic within a new application architecture.

One possibility we considered would move the data from Access databases to a shared, centrally managed SQL Server database; the processing logic for forms would move from the Access code modules to Active Server Pages hosted at the company's data center. In this scenario, the new system would make extensive use of the existing user interface and business processing logic. System migrations generally happen on the same or similar platform and entail the reuse of significant amounts of the existing technology or an application's architecture.

Application rewrite
Existing technology or an application's architecture sometimes don't allow for a system migration. In these cases, the only available option is to rewrite code. This approach generally is the most expensive option, but it allows you to architect the application to take advantage of advances in technologies or platforms.

When considering an application rewrite, CIOs need to determine whether the application is hosted on the appropriate platform. The most common mistake companies make when rewriting applications is developing an architecture that's specific to a given environment (e.g., COM, .NET, Java, or Oracle Forms) instead of first evaluating the business needs.

Once you develop a design document that's platform-agnostic, you can choose the deployment environment that best fits the design, based on cost, features, and scheduling factors. If you have a predefined, immutable deployment environment, creating a generic design allows you to make objective decisions about how to implement the features of your new application design based on best practices rather than relying on prior experience.

Other important issues to consider
When making a decision between package migration, system migration, and application rewrites, you need to consider some other important issues.

  • Weigh the three major system development factors (cost, features, and schedule) equally before deciding which alternative makes the most sense.
  • Contrary to common wisdom, a system migration doesn't always cost less than an application rewrite. If you consider the costs of the application rewrite along with the benefits of the new deployment platform, the application rewrite may not only cost less but also be worth more to the company.
  • A package migration locks you into a vendor's implementation of key features. For example, using the budgeting features of a new accounting system rather than continuing to use your existing application means that the process of moving to a different system later will be more expensive and cumbersome.
  • If you have several applications that need to be updated, consider whether to upgrade the overall deployment environment first, followed by the applications. A single application often won't justify a change of the deployment environment, but the benefits achieved by considering multiple applications become apparent.


Have your say instantly in the Tech Update forum.

Find out what's where in the new Tech Update with our Guided Tour.

Let the editors know what you think in the Mailroom.

  • Email
  • Trackback
  • Clip Link
  • Print friendly Print with Kyocera

Did you find this article useful?
29 out of 54 people found this useful


Full Talkback thread

0 comments

Company/Topic Alerts

Create a new alert from the list below:










Related Jobs

CRM Incentive Compensation Management Consultants-00047339

Typical activities for an ICM technology consultant would include: Project Management manage project team and resources to ensure deliverables are ...

Senior Consultant - SAP IS Utilities Scotland - 55,000 - 85,000

EDM SAP for Utilities: IDE/ Change of Supplier SAP BW for Utilities SAP for Utilities: Financial Accounting (FI-CA) SAP for Utilities: Billing & ...

Business Accountant-00053477

These are long-term partnerships with clients for whom we manage and provide increasingly specialised business operations, such as finance and ...

Featured Talkback

Why do so many (virtually all) software packages think that they are so important that they have to be started automatically every time the computer boots? What is the largest number of "speed access", "update check", "camera download" and whatever other background programs you have ever seen running? Of those, how many did you really need?

By: J.A. Watson

Read full story:
Annoying software: a rogues' gallery

Vista Upgrade Blog

XP survival, from one horses mouth, an...

Hi everyone....for those that need more information on XP survival, I have pasted this open letter from Bill Veghte, senior vice president of microsoft, found on microsoft .com. Hope... More

2 comments

A $40 CONSUMER-class router has create...

Believe it or not I don't work in IT, haven't for 7 years. Yes I work with Microsoft's Windows XP Embedded and as a result I have to know a lot about the OS, the kernal, Win API calls... More

Post a comment

Sick Puppy Redo

I generally follow a dispassionate investigative process when trying to discern what happened when a project goes bad. Although its a low priority item, it gets done simply because... More

Post a comment