This blog post covers objective 1.1 (Gather and analyze business requirements) of the VCAP6.5-DCV Design exam. It is based on the VMware Certified Advanced Professional 6.5 in Data Center Virtualization Design (3V0-624) Exam Preparation Guide (last update August 2017).
When you get the task to design something , you will instinctively start gathering information about the requirements that have to be fulfilled. Everything IT is doing should support the business in some way.
The necessary skills and abilities are documented in the exam prep guide for the older VCAP6-DCV Design exam (3V0-622). I think they also apply to the current version of the exam:
- Associate a stakeholder with the information that needs to be collected
- Utilize inventory and assessment data from a current environment to define a baseline state
- Analyze customer interview data to explicitly define customer objectives for a conceptual design
- Determine customer priorities for defined objectives
- Ensure that Availability, Manageability, Performance, Recoverability and Security (AMPRS) considerations are applied during the requirements gathering process
- Given results of the requirements gathering process, identify requirements for a conceptual design
- Categorize requirements by infrastructure qualities to prepare for logical design requirements
Associate a stakeholder with the information that needs to be collected
Let’s start with the stakeholders and why they are important for us. But what is a stakeholder? A stakeholder is a person with an interest or concern in something, especially a business (Oxford). Stakeholders can be internal or external parties. An internal stakeholder is someone with a direct relationship to the company. An external stakeholder has no direct connection to the company, but it is affected in some way. This can be suppliers, the government, or other groups. A stakeholder can be anyone, but in our context stakeholders are typically
- C-Level Executives (CEO, CFO, CIO etc.)
- Vice Presidents
- Managers, but also
- Engineers and end users
As always: It depends. :)
Utilize inventory and assessment data from a current environment to define a baseline state
We also need to understand the current environment and what is currently deployed at the company. Interviews with the stakeholders are important, but in most cases they will not answer all questions. Depending on what is currently deployed, different tools can be used to gain the necessary data. Some examples:
- RVTools, PowerCLI, vSphere Web Client, vROps etc
- Custom scripts
- Windows Server Manager
- Network Monitoring Tools, like HPE Intelligent Management Center
- Asset Management
It is important to document the results of the assessment. This is the baseline state of the current environment.
Analyze customer interview data to explicitly define customer objectives for a conceptual design
Now we need to get back to the results of the interviews that we did with the stakeholders to define the goals and the scope of the design. We also need to understant the the
- Requirements, and
When we talk about requirements, we have to differ between functional (WHAT) and non-functional (HOW) requirements.
These information will allow us to create a conceptual design, which is written down in a workbook document.
Determine customer priorities for defined objectives
The next step is to define the priorities over the defined objectives. It is important to weight e.g. requirements and risks. Milestones have to be defined. They will help us to measure the success of the project and keep it on track.
Ensure that AMPRS considerations are applied during the requirements gathering process
AMPRS stands for
- Recoverability, and
It is important to understand the meaning of each of these terms.
Availability considerations address the availability requirements of our design. These are typically expressed by percent uptime of a specific system. For example: 99,5% availability for file services.
Manageability considerations address the management and operational requirements of our design. This can be alerting, reports, access concepts etc.
Performance considerations express the required performance characteristics of the design. For example: Mails per second by a given size.
Recoverability considerations cover the ability to recover from an unexpected incident or disaster. This topic typically addresses backup and recovery of our design.
Security considerations cover the requirements around data control, access management, governance, risk management etc.
Given results of the requirements gathering process, identify requirements for a conceptual design
Now we have collected information from the relevant stakeholders, including the goals, scope, and CARR (constraints, assumptions, requirements, risks), and we have collected details about the current environment. Now it is time to put these information together and create a conceptual design.
The conceptual design must be approved by the stakeholders. This assures that everything is covered. Creating a conceptual design is an iterative process. The conceptual design is finished when the relevant stakeholders have approved it.
Categorize requirements by infrastructure qualities to prepare for logical design requirements
Sounds simple, but it can be challenging: The documented requirements have to be grouped by infrastructure categories, eg.
Based on the CARR and the AMPRS considerations, we made design decisions. These decisions affect each of the infrastructure categories. At this point, we can review each of our decisions and mapping the requirements to the infrastructure will ease the creation of a high-level logical design.
Let me try to simplify this complex process a bit.
We were asked to solve a problem for a company. To solve this problem, we have to design a solution. To create this design, we have to identify the relevant stakeholders. These stakeholders will help us to gather information about the goals, the scope, about constraints, assumptions, requirements and risks. Especially when it comes to the requirements, we have to take availability, manageability, performance, recoverability and security considerations into account.
We can use different tools to collect information about the current environment.
At this point we know WHAT the company want, and we know WHAT they are currently running.
Now we can start with the creation of a conceptual design, which has to be approved by the relevant stakeholders.
To prepare the logical design, we need to map the documented requirements to the different categories of the infrastructure.
- Functional vs. Non-Functional Requirements
- Conceptual, Logical, Physical: It is Simple
- Virtualize Business Critical Applications (blog)
- Virtualizing Business Critical Applications on vSphere