The Lotus Notes Domino upgrade process
The Lotus Notes Domino upgrade process consists of a number of phases, which are as follows:
- Vision and direction.
- High-level architecture analysis.
- Use cases.
- Requirements.
- Agreements.
- Final target architecture.
- Creating the design and upgrade plans.
- Creating test plan.
- Testing.
- Creating upgrade process document and plans.
- Executing logistics plans and schedules.
- Creating the pilots.
- Updating and final changes.
We discuss each of these phases below.
Vision and direction: This phase is where you define your goals for the upgrade. These goals can include your business needs, a basic idea of your current IT architecture, and some rough time lines for the upgrade. A simple vision charter might read something like this:
THE COMPANY will upgrade their ND5/6/7 architecture to Domino 8 in X months, taking advantage of new Domino 8 features, and will also consolidate several servers during the upgrade.
High-level architecture analysis: Before you upgrade, make sure you know what you have. Experience tells us that most companies cannot identify 100% of their environment. A good review is prudent so as to keep surprises to a minimum. Take the time to obtain a list of applications, including email applications and custom applications, backup systems, virus scanners, and web-based services and appliances. Build an inventory of all things that "touch" Domino. This will help you identify any items that may be affected impacted by the upgrade.
Use cases: A use case, in this context, is a statement and description of a system/service that defines the use and behavior of an environment. A basic use case should include the following elements:
- Upgrade steps
- Description of requirements
- Goals to help target requirements
- Identification of "actors" (the people using the system: users, administrators, operators, and so on)
- Identification of associations between use cases and actors
These documents will help you build a set of requirements. In each use case, you should also identify various states of the upgrade. Examples include upgrading the servers, and enabling the new mail policy feature once all of the clients and server have been upgraded.
A use case can point to the need for:
- Client upgrade
- Server upgrade
- ODS upgrade (optional with Domino 8)
- Communications and transformation management
- Application upgrade
- Custom API upgrades
- Calendaring and Scheduling (including rooms and resources)
- Administration tool upgrade
- SMTP service upgrade
- Security impacts
- Directory impacts
- Process upgrade
- Help desk
A sample use case is included at the end of this excerpt.
Requirements: When all the use cases have been created and agreed on, you can summarize them into a total list of requirements. These use cases and requirements can be used to determine upgrade steps, use of new features, systemic impacts, budgets, and time-lines. These requirements will be used to create the "draft" target architecture.
Agreements: This is where you will build out your budgets, build out decision records, and obtain agreements from all interested parties in your organization. After all of the agreements have been approved and signed, then your target architecture can be finalized.
Final target architecture: At this point, the final target architecture can be created. In most organizations, there will normally be a phased approach. It can take several iterations to get to this final architecture. One example would be new Domino 8 programming functions. In order to take advantage of this feature, you will need to have both servers and clients upgraded before the new functions are enabled.
Create the design and upgrade plans: This step is where you start the process to detail the upgrade process. Also, you begin documenting the process that will be used as a step-by-step upgrade guide.
Create test plan: Remember the identification of new features and requirements? This is where you create a test plan to test each of the upgrade elements, which includes the server, clients, applications, custom tools, and other items
Testing: The flowchart below shows the testing and pilot process:
Each part of the upgrade should be tested before you actually put any new technology into a production environment. Most companies execute what are known as "unit" or component tests. These tests are the basic components of the new technology. For example, you might choose to test the Notes 8 client on a sampling of your current PCs. This particular test verifies that Lotus Notes 8 will run on your exiting hardware, and does not impact any other applications and/or PC environment. As testing progresses, you will start to include each other element into the environment, for example, Lotus Notes 8 on the network, on applications, Notes 8 client that will access a Domino 6 or 7 server, and so on.
The goal is to test Lotus Notes/Domino in a holistic test environment that replicates various part of your production environment.