At the end of Episode 1, Gabriel and the test automation team had discovered OpenTAP and were intrigued and energized by the idea of working with a broad and active community, instead of developing test systems from scratch. Who can argue with collaboration to streamline and accelerate test automation?
But change can be difficult, even in forward-thinking organizations. Gabriel and his colleagues face resistance to change:
Open Source licensing terms can face objections from legal
Policy issues, especially around IP raise concerns about disruption to existing practices and processes
Not Invented Here– “no one’s ever been fired for using existing software”
Gabriel looks to his company’s Open Source Program Office (OSPO). He is fortunate that his company has a designated expert in the use and management of open source software – OSPO lead, Codie. She has faced similar challenges in other parts of the organization. “Seeing is believing,” says Codie. “Examples of successful deployment really build confidence.”
To address the concerns, Codie focuses on the key open source management activities – discovery, contribution, integration and compliance.
Codie also reminds Gabriel of important considerations for change management, most importantly avoiding disruption. For example, the pace of change must align with agile development and existing DevOps lifecycle.
And Codie emphasizes the need for creating a culture receptive to change, horizontally across the organization, and vertically, spanning the layers of management.
OSPO – Open Source Program Office
Organizations using, integrating and deploying open source software (OSS) typically traverse a path that starts with consumption and can evolve to deploying OSS in their products and services, contributing to open source projects and even becoming leaders of open source project communities.
Many companies start by establishing an ad hoc review board, focused on vetting open source licenses and use cases, comprised of representatives from engineering, legal, product management and stakeholders. As OSS usage and integration increases, companies often assign an open source program officer to lead OSS management and adoption efforts. Larger organizations will establish a permanent program office, with dedicated resources to coordinate technology selection and approval, implement OSS policies and processes, mitigate IP and security risks, help choose and deploy OSS management tools, promote OSS adoption across the company, coordinate inner source programs and enhance ROI from investments in open source.
OpenTAP Pilot
Together, Codie and Gabriel decide the best way to provide proof points for migration to OpenTAP is with a pilot project. Before starting the pilot, the team knows it must address the technical hurdles, including how to deliver training and refactor legacy code to run under OpenTAP.
The key to a successful pilot lies in building on a familiar foundation while highlighting the new technologies and methods. Development and test organizations can typically leverage lab instruments, test hardware and even test code from existing / legacy infrastructure.
Gabriel and R&D Engineer Francisco start by
Selecting pilot hardware (see low-cost examples below if you need ideas)
Leveraging existing lab equipment (using available OpenTAP plugins)
Building wrappers (when possible) for existing test code and hosting existing code using language support plugins (e.g., the Python Plugin for OpenTAP)
Engaging with other OpenTAP users and developers on the OpenTAP Forum
Choice of hardware is important to a successful pilot. Too simple and the pilot can look like a “toy”; too complex and the pilot gets bogged down in hardware and instrument details. When familiar legacy hardware is not an option, many teams turn to Arduino or Raspberry Pi. An excellent alternative lies in the Pocket Science Lab. The PSLab is a small USB-powered board and integrates oscilloscope, multimeter, wave generator, logic analyzer and other functionality in a single package and supports hundreds of available sensors. Check out PSLab capabilities in this tutorial that shows how to integrate the PSLab Python driver with OpenTAP. And find all the plugin code to get started on Gitlab.
As the pilot gets underway, Gabriel’s managers and peers applaud but also discover new concerns. See how they address them in Episode 3.
Your Next Steps
As you begin to create your own pilot, be sure to Sign up for the forum to get help with any questions you may have and subscribe to the OpenTAP YouTube Channel to be notified whenever a new video, like the ones below, are released. The series below focuses on connecting to devices and instruments: