Fueling Success Upgrading Tools and Strategies Presented By: Scott Frappier Symbiant Technologies, Inc. Mark Brummel Liberty Grove Software Europe
Fueling Success Agenda The Microsoft Story –The Benefits The ‘Team’ The Job –The Tools Pitfalls –tips and tricks
Fueling Success The Microsoft Story "Why yes, I do believe it updates automatically to new versions through Windows update, right John?"
Fueling Success Microsoft Solutions Framework
Fueling Success Benefits For you: –Increases customer satisfaction –Improves your competiveness –Offers a chance to implement new functionality that benefits the customer –Offers a chance to implement your own add-on solutions –Decreases your support effort
Fueling Success Benefits (Continued) For your customer: –Keeps business processes up to date –Allows expensive customizations to be replaced by standard functionality built into the latest release. –Resolves localization issues that have only been implemented on latest versions. –Allows for a broader integration to other Microsoft products.
Fueling Success Now back to the real world HELP I have to do an upgrade
Fueling Success The ‘Team’ A developer doing an upgrade may have multiple roles as they go through the upgrade process –Program Manager Focuses on delivery the product within the project constraints. Responsible for project management, solution architect, process assurance, and administrative services Main goal is for the delivery of the product
Fueling Success The ‘Team’ (Continued) Upgrade roles… –Product manager Focus is to satisfy customer Responsible for marketing, business value, customer advocacy, and product planning Generally covered by the Sales staff within your organization
Fueling Success The ‘Team’(Continued) Upgrade roles… –Developer Focus on building to product specifications Responsibilities include technology consulting, implementation architecture and design, application development, and infrastructure development Generally, a good understanding of the program is required for a successful developer role
Fueling Success The ‘Team’(Continued) Upgrade roles… –Tester Focus is to address all product quality issues Responsible for test planning, test engineering and test reporting This role can be usually satisfied by the end customer if they can be held to task by the program manager
Fueling Success The ‘Team’(Continued) Upgrade roles… –User Experience Focus is to enhance user effectiveness Responsible for accessibility, internationalization, technical communication, training, usability, and graphic design Usually in charge of training and documentation This role is critical with new the UI with the RTC as all documentation may need to be updated in an organization
Fueling Success The ‘Team’(Continued) Notes –If the original team that implemented the site is available, it is considered a best practice to use that team’s resources during the upgrade –A developer of an organization may have 1 or all of these roles during the upgrade process.
MANAGE EXPECTATIONS! Do it right from the beginning
Fueling Success The Job Analysis Splitting up the project Startup, Testing & Roll-out Go-Live After Care
Fueling Success Database Analysis Version –How old, Steps, Modifications, Add-on’s Database –Native, SQL2000 Client –Classic or RTC Hardware and Infrastructure –Does it need updating
Fueling Success Versions Every database can be upgraded –Only some are more work Some versions have specific issues Look at where is the data, unused modules are non issues
Fueling Success Versions and Features CRM (Version 2.0) Dimensions (Version 2.x) Bin story (Version 3.x) Inventory Valuation (Version 3.x) Item Tracking (Version 3.6 & 4.0) Menusuites (Version 4.0) Jobs (Version 5.0) Role Tailored Client (Version 6.0) Tip : Analyze the upgrade toolkit objects to see what it hits
Fueling Success Upgrade Steps 2.x 3.7 or or 4.0 6.0 (5.0) 5.0 and 6.x tables are ‘identical’ (Almost) –No upgrade toolkit required –Business logic has changed (a lot) Tip : For these additional steps, only merge the fields and sizes in the in between versions
Fueling Success Level of Modifications How Many Objects per type What kind of modifications –Field changes Changed Field Length –Code –Form and Report UI changes –Properties! DataPerCompany
Fueling Success Replacement of Mod’s Can a modification be replaced with new standard functionality Be careful with this! Big project risk! Tip : Sometimes it can be better (safer) to bring forward a modification first and replace it afterwards
Fueling Success Add-on’s Are there add-on’s involved Is there a new version of the add-on –Yes Does the customer want that? –No Can we treat the add-on as normal modifications. Is it using old tables or functionality which is gone Is the add-on supported by the NAV Partner
Fueling Success Database upgrade flavors Native SQL SQL 2000 SQL 2005 or 2008 Check if changes were made on SQL Leven Not as easy as it seems
Fueling Success Implementing the RTC More (much more) training Big Bang vs. Department at a time Fully implement Transformation tool or not? Moving the Reports
Fueling Success Hardware Is my infrastructure still sufficient? Schedule in time Never release new infra exactly together with a new ERP unless it is unavoidable
Fueling Success Splitting up the project Real Life Example: ‘The customer wants to go from 3.60 Native on a physical box to NAV2009 with the latest version of the Vertical Solution, RTC and SQL on a Virtual System’
Fueling Success Different Phases 1.Technical Upgrade from 3.60 to 6.0 Classic Client 2.Functional upgrade on Classic Client on Native Database 3.Vertical Solution Upgrade 4.Migration to SQL Server Bring in new infrastructure 6.Implementing the RTC on different departments
Fueling Success Starting up The Project Planning Creating the test database Testing –Benchmarking Roll Out
Fueling Success Planning Make a good and realistic schedule Freeze the production system if you had not already done so Never, ever develop changes in the old system during the project Create an escape plan (What if scenario's) Learn people how and what to test
Fueling Success Creating the Test Database Do the merge stuff Create a detailed list of all objects that need end user input Document Change the upgrade toolkit if required Run the upgrade toolkit Tip :Measure the time the upgrade runs. This will be the ‘downtime’.
Fueling Success The Tools Developer Toolkit –Application designed to make merge’s easier for your development tasks Mergetool –Another application designed for merging written in C/AL Upgrade Toolkit –Required for data upgrades of a database
Fueling Success The Tools (Continued) SQL Server Data Check –Tool created to check data in C/SIDE to ensure SQL conversion success Transformation Tool –Used for the transition of NAV objects to the RoleTailored Client Notepad –Everyone’s favorite text editor for Windows
Fueling Success TOOLS DEMO
Fueling Success Testing Tip! Save a copy of the database in the status you did the test conversion Let users test all scenario’s in the old and new database All results must be the same –Documents –Ledger Entries –Management Reports (TEST REPORTS)
Fueling Success Test, test & test; then test again There is no such thing as to much testing Test for performance as well Don’t forget interfaces, NAS processes and reports Be careful not to damage the trust of the end user in the project
Fueling Success Solving bugs Document all changes This will keep you from doing multiple test conversions Create extra conversion steps rather than going back to the upgrade toolkit Test!
Fueling Success Native 2 SQL Migration 1.Define the upgrade/migration type 2.Choose hardware & correct SQL Version 3.Checking SQL Data types 4.Test conversion 5.Testing 6.Benchmarking 7.Fixing Issues 8.Go-Live 9.After Care Months after go life
Fueling Success Native 2 SQL Migration 1.Define the upgrade/migration type 2.Choose hardware & correct SQL Version 3.Checking SQL Data types 4.Test conversion 5.Testing 6.Benchmarking 7.Fixing Issues 8.Go-Live 9.After Care Months after go life
Fueling Success Step 3 - Checking SQL Datatypes Datetime –Date and time do not exist on SQL –SQL starts at 1753; NAV at 0000 Not all native characters are supported by all SQL collations –Migrate.fob –Very time consuming
Fueling Success Step 3 - Checking SQL Datatypes Make table [Incorrect Data Value] Autoincrement –Remove Deleteall from Codeunit [Data Check Management] and put in COMMIT –Make several Field Check codeunits for smaller parts and run on different clients Tip :
Fueling Success Step 6 - Benchmarking Only way to test performance without golive –Simulate User Input –Activate Interfaces Don’t forget to test reporting ! Combine manual testing and benchmarking
Fueling Success Back to the upgrade We have created a test conversion and solved all the bugs, now let’s go live!
Fueling Success Roll Out Roll Out the new client everywhere Move to new infra if possible way before go live Do a technical upgrade first to tackle stuff like printer issues Plan external parties if involved for go-live
Fueling Success Go-Live Plan the expected downtime Be on-site –Depending on the type of customer you know you are home free after a day or a week Create one or two test databases with go-live data Have remote access afterwards
Fueling Success After Care Usually takes a month where bugs are found in non daily processes Solve them quickly to keep users believe in the product Measure performance after 3 months
Fueling Success Pitfalls, Tips & Tricks Shared tables (DataPerCompany) Developing in database while doing the project Doing to many steps in one project Never release new infra exactly together with a new ERP unless it is unavoidable
Fueling Success Pitfalls, Tips & Tricks Having someone on the team who did the original implementation or a previous upgrade A upgrade can be a one persons job On your first upgrade project multiply estimated times by 3 or 4. On the 4 th or 5 th by 1.2. From the 10 th by 0.8 Seek professional help
Fueling Success Q&A ?
Fueling Success Scott Frappier Symbiant Technologies, Inc. Mark Brummel Liberty Grove Software Europe Thank You for Attending Directions 2009! Please remember to fill out your session evaluation form! (Online as well at