14
Overview of An Enterprise System Upgrade Project How I Approached and Executed the Major Upgrade of an Enterprise Resource Planning (ERP) System David Olson BUSINESS + TECHNOLOGY SOLUTIONS [email protected] +66 86 924-8482

Enterprise System Upgrade (Overview)

Embed Size (px)

Citation preview

Page 1: Enterprise System Upgrade (Overview)

Overview of An

Enterprise

System Upgrade

Project How I Approached and Executed the

Major Upgrade of an Enterprise

Resource Planning (ERP) System

David Olson BUSINESS + TECHNOLOGY SOLUTIONS

[email protected]

+66 86 924-8482

Page 2: Enterprise System Upgrade (Overview)

+66 86 924-8482 | [email protected]

EXECUTIVE SUMMARY While working as the information systems manager for LPA, Inc., a Southern California-based architecture firm, I

was responsible for the upgrade of Deltek Vision, a project-based Enterprise Resource Planning (ERP) system

designed for professional architecture and engineering firms1. Vision was used primarily by the accounting

department but managers also used it to access project management reports and all employees used it for their

timesheets. Thus, the upgrade affected everyone in the organization.

Deltek replaced all of the underlying technologies for the new version of Vision including those used for the

application, database and reporting. Originally a Web-based application that used Microsoft ASP/ASP.NET, the new

application was redeveloped using Windows Forms. Vision uses SQL Server for its database and the new version

required a more current version of SQL Server than LPA had implemented at the time. The original report server,

Actuate, was replaced with SQL Server Reporting Services (SSRS).

Upgrading the database server would affect every application that had a database associated with it. Thus, all of the

affected applications needed to be tested and verified that they would work properly on the new version of SQL

Server. For LPA, Vision was the de facto master database for project, client, employee and other data. In addition,

several third-party and custom applications were integrated with Vision. Thus, there were several data-related

issues that needed to be addressed.

LPA had been using Vision for about seven years at the time of the upgrade no other upgrades had been done for

several years before this one. During that time many customizations had been made to the system including the

development of several custom reports, the creation of user-defined fields, and user interface modifications.

The result of all of the underlying technologies being changed, the upgrade was essentially a new implementation

of Vision with the added complexities associated with converting data and customizations to a new system,

ensuring compatibility of applications that used SQL Server and that integrated with Vision, and all of the custom

reports needing to be redeveloped. (See the Summary of Issues section for a summarized list of issues associated

with the upgrade.)

My approach to the project was to collect as much information as possible, create an LPA-specific guide that I

would use to perform the upgrade, create checklists (see Appendix B: Step-By-Step Instructions/Checklist for an

example), create models (see Appendix A: The Physical Deployment Model for an example) and diagrams to help

everyone involved in the upgrade to understand the various business and technical aspects of the project, test

heavily, and use the project execution system that I developed to execute and manage the project.

The result was that all of the systems were successfully implemented and there were no major issues associated

with the upgrade. There were, however, some minor problems that affected some people trying to log into the new

system, which were able to be resolved quickly. The documentation that I developed was later used to aid in

subsequent upgrades and, as it was intended, for ongoing support.

1 http://www.deltek.com/~/media/pdf/brochures/professional-services/vision_brochure-ae.ashx

Page 3: Enterprise System Upgrade (Overview)

Overview of An Enterprise System Upgrade Project Page 3 of 14

+66 86 924-8482 | [email protected]

TABLE OF CONTENTS

Executive Summary ......................................................................................................................................................... 2

Table of Contents ............................................................................................................................................................ 3

About the Author ............................................................................................................................................................ 4

Summary of Issues .......................................................................................................................................................... 5

The Upgrade .................................................................................................................................................................... 6

Background ................................................................................................................................................................. 6

Project Planning .......................................................................................................................................................... 6

Project Execution .................................................................................................................................................... 7

Project Management .............................................................................................................................................. 7

Cutover Weekend ................................................................................................................................................... 8

Final Result .................................................................................................................................................................. 8

Appendices ...................................................................................................................................................................... 9

Appendix A: The Physical Deployment Model ............................................................................................................ 9

Appendix B: Step-By-Step Instructions/Checklist ..................................................................................................... 10

Steps 1-5 ................................................................................................................................................................ 10

Steps 6-8 ................................................................................................................................................................ 11

Steps 9-10 .............................................................................................................................................................. 12

Steps 11-13 ............................................................................................................................................................ 13

Page 4: Enterprise System Upgrade (Overview)

Overview of An Enterprise System Upgrade Project Page 4 of 14

+66 86 924-8482 | [email protected]

ABOUT THE AUTHOR

David specializes in developing software tools and systems that help systematize and simplify work. Starting early in

his career, David developed tools to streamline and automate routine, and often tedious, tasks that he was

required to perform on a daily basis. He went on to work with clients to do the same for them as he continued to

develop tools to help him in his own work including those in the Business Management System.

He has hands-on experience in every aspect of planning, executing and managing business and technology projects

and in software development including business analysis, design and construction. Having worked as an

information systems manager, David also has experience managing all aspects of mid-market, enterprise-grade

systems including their identification, features and use case analyses, procurement, implementation, support and

maintenance.

David’s mission is to simplify the effort that is required to perform knowledge- and information-based work

including developing, finding, accessing and managing information. Eliminating duplicate and unnecessary effort

through the automation of tasks and the integration of data, content, tools and systems is at the center of David’s

approach to solving business and technology problems. Business and project monitoring and intelligence in the

form of reports, dashboards, alerts, etc. is also central to his approach to managing business and projects.

David received his Bachelor of Science in Business Administration (Marketing) from California State University, Long

Beach. He currently lives in Chiang Mai, Thailand. Please feel free to contact him at +66 86 924-8482 (086 924-8482

within Thailand) or send him an e-mail at [email protected].

For more information about his views on contemporary information-based work, approaches and experiences,

please check out his blog Simplification of Work at http://SimplificationOfWork.com/.

Page 5: Enterprise System Upgrade (Overview)

Overview of An Enterprise System Upgrade Project Page 5 of 14

+66 86 924-8482 | [email protected]

SUMMARY OF ISSUES

Figure 1: Issues Affecting the Vision Upgrade

LPA Was Two Versions Behind the New VersionThis resulted in the need to perform two consecutive major upgrades.

Deltek Changed All of the Underlying Technologies in The New VersionWeb technologies (ASP/ASP.NET) were replaced with Windows Forms, a newer version of the database (SQL Server) was required, and the report server (Actuate) was replaced with a different technology (SQL Server Reporting Services).

There Are Several Applications That Are Integrated With VisionUtilities that integrate data between Vision and other applications, custom reports that are external to Vision, and a variety of other integration points existed that needed to be verified and in some cases adapted to the new technologies, data structure, etc.

All Custom Reports Needed to be RedevelopedSince Deltek replaced the report server all custom reports had to be redeveloped using the new technology. This required training to learn how to create the new reports. It also led to the development of a style guide and custom report templates.

Three Environments Needed to be Implemented (Development, Testing/Staging and Production)The upgrade provided an opportunity to put in place new development and testing/staging environments that had been needed forsome time.

The Central Database Server Needed to be Upgraded, Which Would Affect All Applications That Use ItThe new version of Vision required a newer version of SQL Server. Thus, all applications that used SQL Server databases needed to be tested to verify that they were compatible with the upgraded database and some changes needed to be made and tested.

Customizations Had Been Made Over a 7-Year Period That Had to be Moved to the New VersionMany customizations such as modifications to the user interface and the addition of user-defined fields needed to be ported to the new version of Vision.

Page 6: Enterprise System Upgrade (Overview)

Overview of An Enterprise System Upgrade Project Page 6 of 14

+66 86 924-8482 | [email protected]

THE UPGRADE

Background The upgrade began about two years or so before the implementation. During that time I attended two national

Deltek conferences where I went to as many sessions as I could to learn things about the upgrade, listen to other

Deltek customers, and get information from Deltek staff. I compiled that information into several documents,

diagrams and models that served as guides, plans and documentation for both the implementation and for ongoing

support and maintenance.

The original plan, however, was to hire a Vision consultant to perform the upgrade but that never materialized.

Because Deltek was ceasing support for LPA’s version of Vision the upgrade had to be done imminently so I

volunteered to do it.

I worked with the internal IT staff to get the physical infrastructure in place and, based on all of the information,

research, testing, etc. that I had done I was able to reduce the upgrade process to 13 steps (Appendix B: Step-By-

Step Instructions/Checklist) that included 17 SQL Scripts, some configuration steps that couldn’t be done in code,

and verifications using pre- and post-implementation checklists that I had created.

Project Planning While project planning is helpful and important for all projects, it was especially important for this project because

of all of the dependencies among the various applications, systems and platforms including the integration points

with Vision and the reliance that many applications had on the database server.

There was also a lot of coordination that was needed among internal accounting and IT staff and external partners.

Providing estimates of the timeline to people, not the least of which was my boss, who was the Chief Operating

Officer, and the Controller both of whom were direct stakeholders in the upgrade. I created several graphical

timelines to augment the written plans to help simplify the plan for everyone (see Figure 2: Sample Project Timeline

and Figure 3: Cutover Weekend Timeline).

Page 7: Enterprise System Upgrade (Overview)

Overview of An Enterprise System Upgrade Project Page 7 of 14

+66 86 924-8482 | [email protected]

Figure 2: Sample Project Timeline

Project Execution The success of the project was based on the testing of the upgrade steps, the verification of all dependencies, etc.

Thus, the bulk of the Vision upgrade-specific work was in the creation and testing of scripts that would convert the

data and customizations from the old version to the new version and the testing of tools, systems and platforms in

the new development and staging/testing environments.

Project Management To manage all of the information for the project and the work of the people who were involved in the project,

including a software developer in Vietnam, I used SharePoint and Team Foundation Server (TFS), respectively. I also

created a variety of business tools such as templates, including those that I used to define the project and for the

aforementioned checklists. Collectively, various inter-related business and technology tools, systems and platforms

were used to plan, execute and manage the project.

Page 8: Enterprise System Upgrade (Overview)

Overview of An Enterprise System Upgrade Project Page 8 of 14

+66 86 924-8482 | [email protected]

Cutover Weekend The upgrade took place over a weekend and I created a timeline that I shared with the people who participated in it

(Figure 3: Cutover Weekend Timeline). Because extensive testing had been done in both the development and

staging environments, the upgrade went smoothly in a single attempt.

Figure 3: Cutover Weekend Timeline

Final Result All of the planning and work that went into the upgrade resulted in a successful implementation. As with any major

upgrade, there were some issues but they were minor and quickly fixed. There was no disruption in anyone’s work

that I was aware of, and that includes everyone in the organization because of the reliance on Vision for

timesheets, the integrated applications, and project management reports.

Page 9: Enterprise System Upgrade (Overview)

Overview of An Enterprise System Upgrade Project Page 9 of 14

+66 86 924-8482 | [email protected]

APPENDICES

Appendix A: The Physical Deployment Model

Figure 4: Physical Deployment Model

Page 10: Enterprise System Upgrade (Overview)

Overview of An Enterprise System Upgrade Project Page 10 of 14

+66 86 924-8482 | [email protected]

Appendix B: Step-By-Step Instructions/Checklist

Steps 1-5

No. Run Time Step Description

1 3-5 Minutes Copy Configuration

Database

Copy (replace) the [Vision Configuration Database Name] database from [Development Server

Name] to [Target Server Name].

2 3-5 Minutes Copy Production

Database Backup File

Copy the latest backup file from [Backup Path]. Rename the backup file so it is [Vision Database

Name].bak.

3 1-5 Minutes Detach and Backup the

Existing Database on

Target Server

If the [Vision Database Name] database already exists on the target server then Detach it and

back it up before proceeding. In the next step the [Vision Database Name] database will be

restored but the script won’t replace an existing database.

4 10 Minutes Restore Production

Database Backup on

Target Server

Run the following SQL Scripts in this order:

1.) 01-RestoreTheVisionDatabase.sql: this script will create the [Vision Database Name]

database on the target server and it requires that the production backup database file

exists in the backup folder and is named [Vision Database Name].bak (see step 2).

5 5 Minutes Perform Initial

Configuration and

[Company Name]-Specific

Database Fixes

Run the following SQL Scripts in this order:

1.) 02-SetRecoveryModelToSimple.sql: this script sets the recovery model to Simple. A later

script will set it back to Full. Setting it to Simple during the upgrade process allows the

transaction log file to be shrunk so all of the disk space isn’t used when the larger scripts

are run. If the server runs out of disk space then an error will occur while running one of

the larger scripts and the process will have to be started from the beginning.

2.) 03-ChangeDatabaseCompatibilityLevelToSQLServer2008.sql: this script will change the

Compatibility Level to SQL Server 2008 (100).

3.) 04-VisionSEReportTableFixes.sql: this script was developed by [Vision Staff Name] at

Deltek. It removes a duplicate record in the SEReport table which causes an error in the

SQL Script that upgrades the database from 5.1 to 6.1. It also modifies folder names in

the SEReport table so users can access Standard reports.

Table 1: Vision Upgrade Steps 1-5

Page 11: Enterprise System Upgrade (Overview)

Overview of An Enterprise System Upgrade Project Page 11 of 14

+66 86 924-8482 | [email protected]

Steps 6-8

No. Run Time Step Description

6 20-25

Minutes

Upgrade the Database

From 4.1 to 5.1

Run the following SQL Scripts in this order:

1.) 05-UpgradeVision41DatabaseTo51.sql: this script was developed by Deltek and it is the

standard script that will upgrade the database from version 4.1 to 5.1.

2.) 06-ShrinkVisionDatabaseLogFile.sql: this script will shrink the log file.

7 50-60

Minutes

Upgrade the Database

From 5.1 to 6.1

Run the following SQL Scripts in this order:

1.) 07-UpgradeVision51DatabaseTo61.sql: this script was developed by Deltek and it is the

standard script that will upgrade the database from version 5.1 to 6.1.

2.) 08-ShrinkVisionDatabaseLogFile.sql: this script will shrink the log file.

8 5 Minutes Run Database Hotfixes Run the following SQL Scripts in this order:

1.) 09-DeltekVision61SP4HotFix035.sql: this script was developed by Deltek and it is the

standard script that performs required database fixes.

Table 2: Vision Upgrade Steps 6-8

Page 12: Enterprise System Upgrade (Overview)

Overview of An Enterprise System Upgrade Project Page 12 of 14

+66 86 924-8482 | [email protected]

Steps 9-10

No. Run Time Step Description

9 5 Minutes Create Custom [Company

Name] Database Objects

Run the following SQL Scripts in this order:

1.) 10-CreateAndRunAllConfigurationObjects.sql: this script will create and run all stored

procedures, SQL Server Agent Jobs, etc. that are required to update Vision configuration

data such as Info Center screen elements (controls) and custom report options.

2.) 11-Vision61ModifyCustomDataObjectsForDeletedCFGAccountsTable.sql: this script will

modify custom data objects (user-defined functions and stored procedures) to replace

the deleted CFGAccounts table with its replacement, the CA table (using the new Type

column).

3.) 12-

VisionXXModifyCustomDataObjectsToRemoveUnnecessaryDatabaseServerName.sql:

this script will remove from any data object the server name (i.e., [Database Server

Name]). The name is not necessary for data objects that run on that server.

4.) 13-Vision61CreateCustomVisionReportsUDFs.sql: this script creates the new user-

defined functions that are required to run custom reports. The queries were pulled out of

the original Actuate reports and resulted in these UDFs which moves them from

individual reports to the server for easier report development and easier and better

query management.

10 15-20

Minutes

Create and Consolidate

Labor Codes

Run the following SQL Scripts in this order:

1.) 14-Vision41To61ConsolidateLaborCodes.sql: this script will create new Labor Codes and

update the original Labor Codes throughout the database. This was required for the

Newforma Project Analyzer (NPA) implementation and not for the Vision upgrade.

However, it is included as part of the Vision upgrade because the original plan was to

deploy NPA around the same time as the Vision upgrade.

2.) 15-ShrinkVisionDatabaseLogFile.sql: this script will shrink the log file.

Table 3: Vision Upgrade Steps 9-10

Page 13: Enterprise System Upgrade (Overview)

Overview of An Enterprise System Upgrade Project Page 13 of 14

+66 86 924-8482 | [email protected]

Steps 11-13

No. Run Time Step Description

11 1-5 Minutes Update Custom Report

Access Security

Run the following SQL Scripts in this order:

16-UpdateCustomReportAccessSecurity.sql: this script will update the SEReport table performing

a conversion that will upgrade the custom report access from 4.1 to 6.1

12 1-5 Minutes Final Configuration Run the following SQL Scripts in this order:

17-SetRecoveryModelToFull.sql: this script will set the Recovery Model to Full.

13 15-30

Minutes

Vision Configuration The following steps need to be performed before the database is ready for use:

1.) If copying the upgraded database to another server then do so now, otherwise go to step

2:

a. Backup the database on the server that the previous steps and scripts were run.

b. Copy the backup file to the new (target) server.

c. Detach the [Vision Database Name] database from the target database and

backup the file.

d. Restore the [Vision Database Name] database from the backup file in step b.

2.) Launch Vision that is pointed to the upgraded database

3.) Enter the Vision 6.1 module activation codes:

a. Accounting: [Activation Code]

b. Billing: [Activation Code]

c. Time: [Activation Code]

d. Expense: [Activation Code]

e. Resource Planning: [Activation Code]

f. CRM: [Activation Code]

g. Proposals: [Activation Code]

h. SF 330/255/254: [Activation Code]

i. Synchronization Server: [Activation Code]

j. Payroll: [Activation Code]

k. Project Control: N/A (just leave it as it is because it’s not required since

we have the Accounting module)

Page 14: Enterprise System Upgrade (Overview)

Overview of An Enterprise System Upgrade Project Page 14 of 14

+66 86 924-8482 | [email protected]

4.) Refresh Reporting:

a. Go to Utilities|Report Administration.

b. Click the Report Printers tab.

c. Click the Refresh Report Printers button (right side of the table’s title bar).

d. Click the Load Reports tab.

e. Ensure that “Standard” is selected in the Type drop-down box and that the Delete

existing reports in each folder before loading checkbox is checked.

f. Click the Load Report Files button. This will ensure that standard Vision reports

are loaded/refreshed (this will take several minutes to complete).

g. When the Standard reports have finished loading, select “Custom” from the Type

drop-down box, and ensure that the Delete existing reports in each folder before

loading checkbox is still checked. Click the Load Report Files button. This will

ensure that custom reports are loaded/refreshed (this shouldn’t take but a few

minutes to complete).

5.) Verifications/Testing

a. Verify that 2-3 reports work properly (both preview and print).

b. Verify that the Info Center screens are formatted properly.

Table 4: Vision Upgrade Steps 11-13