enterprise system upgrade (overview)
TRANSCRIPT
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
+66 86 924-8482
+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
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
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/.
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.
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).
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.
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.
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
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
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
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
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)
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