Define a use-case

Introduction
To get a good result with your automation effort it is important that the use cases that you implement are well defined. A well-defined use case is one that is agreed among the stakeholders and where the outcome of the automation effort is easy to evaluate. It is important that the use-case is written down and discussed in an explicit manner so that everyone has the same expectations of the outcome.
An automation use case is a set of technical actions that map to a business outcome:
- A use case is the budget driver
- A use case can go across different devices and software platforms
- A good definition of use cases is critical for business case qualification and healthy project execution
Examples of use cases
| Planning | Operations | Fulfilment | Assurance |--- | Traffic optimization | OS Upgrades | L2 / L3 VPN provisioning|Orchestrated assurance | Service discovery | Bandwidth planning | VM provisioning|Closed loop automation | QoS planning & forecasting| Coordinated maintenance|Application rollout|Self-healing
Defining a use case
Use case creation is a well-known software engineering technique and we will focus on the network automation specific parts of this. To define a use-case you will need to understand who the users are, and what they expect the system to do for them. The automation core team together with the automation leadership should work on defining this together with the stakeholders.
In a network automation use-case it is important to include both a draft YANG model, to make sure that everyone understands the data that will be passed over the interfaces, and a textual description of the expected semantics so that people understand what will happen on activation. If available it is helpful to have templates of the network configuration available as part of the use case definition as well as information on acceptance criteria.
Best practices
- Have a defined process for use-case generation
- Fill out a RACI matrix for use-case generation
- Coordinate the use-case creation with all stakeholders
- Use a common format for all use-cases
Checklist
- Acceptance criteria are well defined and understood
- The use-case fits into the current strategy
- We understand the business value of the use-case
- We will be able to demonstrate the use-case efficiently