4. Deployment Risks and Contigencies Flashcards
4.1 Selection of Test Automation Approach and Planning of Deployment
Selection of Test Automation Approach and Planning of Deployment
Two main activities involved on the implementation and rollout of a TAS:
-
Pilot
- identify a suitable project
- plan the pilot
- Conduct the pilot
- Evaluate the pilot -
Deployment
- identify initial project(s)
- deploy the TAS in the selected projects
- monitor and evaluate the TAS in projects after a pre-defined period
- rollout to the rest of the organization/projects
4.1.1 Pilot Project
Pilot Project
- Tool implementation typically starts with a pilot project
- The aim of the pilot project is to ensure that the TAS can be used to achieve the planned benefits
4.1.1 Pilot Project
Pilot Project Objectives
- Learn about TAS
- See how TAS fits with organization, processes, procedures, tools. Identify how they might need to change
- Design the automation interface for testers
- Decide on standard ways of using, managing, storing and maintaining the TAS and the test assets
- Identify metrics and measurement methods to monitor test automation in use, including usability, maintainability and expandability
- Assess whether the benefits can be achieved at reasonable cost.
- Determine what skils are required (available/missing)
4.1.1 Pilot Project
Pilot Project Process
- Identify a suitable project
- Plan the pilot
- Conduct the pilot
- Evaluate the pilot
4.1.1 Pilot Project
Identify a suitable project
- Avoid critical project
- Avoid trivial project
- Involve necessary stakeholders in the selection process
- Good reference for other projects of organization
4.1.1 Pilot Project
Plan the pilot
- Have a dedicated team members
- Treat as development project
- Involve developers in the deployment
- Management commitment
4.1.1 Pilot Project
Conduct the Pilot
Perform the pilot of the deployment and pay attention to the following questions:
- Does the TAS provide the functionality as expected (and promised by the vendor)?
- if not, this needs to be addressed as son as possible
- when the TAS is developed in-house the corresponding developers need to assist in the deployment by providing any missing functionality - Do the TAS and the existing process support each other?
- if not, they need to be alligned
4.1.1 Pilot Project
Evaluate the pilot
- Use all stakeholders for evaluation
- Evaluate against clear requirements and objective criteria
- Decide on the type of the valuation:
- formative
- summative
- process
- outcomes
- impact
4.1.2 Deployment
Company-wide Deployment
Part I
- Once the pilot has been assessed, the TAS should only be deployed to the rest of the department/organization if the pilot has been deemed succcessful
- Rollout should be undertaken incrementally and be well-managed
4.1.2 Deployment
Company-wide Deployment
Part II
Success factors for deployment:
- Incremental rollout
- Adapting and improving processes to fit with the use of the TAS
- Providing training and coaching/mentoring for new users
- Defining usage guidelines
- Implementing a way to gather information about the actual use
- Monitoring TAS use, benefits and costs
- Providing support for the test and development teams for a given TAS
- Gathering lessons learned from all teams
- identifying and implementing improvements
4.1.2 Deployment
An Incremental Rollout
Perform the rollout to the rest of the organization in steps, in increments:
- Support to the new users in “waves”
- Usage of the TAS to increase in steps
- Possible bottlenecks can be identified and solved before they become real problems
- Licenses can be added when necessary
4.1.2 Deployment
Adapting and Improving Processes
- When different users use the TAS, different processes come in touch with the TAS
- It may be needed:
- to adapt and improve processes to fit with the use of the TAS, or
- the TAS may need (small) adaptations to the processes
4.1.2 Deployment
Providing Training and Coaching / Mentoring
- New users need training and coaching in the use of the new TAS
- Training / workshops should be provided to the users before they actually use the TAS
4.1.2 Deployment
Defining Usage Guidelines
- For the usage of the TAS it is possible to write:
- guidelines
- checklists
- FAQs - This can prevent extensive support questions
4.1.2 Deployment
Gather Information About the Actual Use
- There should be an automated way to gather information about the actual usage of the TAS
- Ideally not only the ussage itself, but also what parts of the TAS (certain functionalities) are being used
- In this way, the usage of the TAS can be monitored easily
4.1.2 Deployment
Monitoring TAS Use, Benefits and Costs
- Monitoring the usage of the TAS over a certain period of time indicates whether the TAS is indeed used
- Monitor test automation efficiency (e.g. how much time has been saved)
- Monitor other test automation attributes set as objectives for the TAS (i.e. maintainability, reliability, usability)
4.1.2 Deployment
Gathering Lessons Learned
- Gather lessons learned from all teams
- Perform evaluation / retrospective meetings with the different teams that use the TAS
- In this way, lessons learned can be identified
- The teams wil feel that their input is necessary and wanted to improve the usage of the TAS
4.1.2 Deployment
Identifying and Implementing Improvements
- Based on the feedback of the team and the monitoring of the TAS, identify and implement steps for improvement
- Communicate these findings clearly to the stakeholders
4.1.3 Deployment of the TAS within the Sofware Lifecycle
Deployment of the TAS within the Sofware Lifecycle
- The deployment of a TAS depends greatly on the phase of development of the software project which will be tested by the TAS
- Usually, a new TAS or a new version of it, is deployed either in the beggining of the project, or when reaching a milestone, such as code freeze or the end of a sprint
- Deployment activities, with all the testing and modifications involved, require time and effort
4.2 Risk Assesment and Mitigation Strategies
Risk Assesment and Mitigation Strategies
Part I
Technical issues can lead to product - or project risks
Typical techincal issues include:
- too much abstraction can lead to difficulty in understanding what really happens (e.g. with keywords)
- in data-driven solution data tables can become too large / complex / cumbersome
- dependency of the TAS to use certaion operating system libraries or other components that may not be available in all the target environments of the SUT