SevOne. Building Adapters for Data Collection.
Increased speed, efficiency, and ease of development
Challenges
Four teams were building the adapters - Professional Services, Engineering, Sales team, and Customers. Each team had a different development approach and used its code and libraries, which resulted in an inability to develop adaptors quickly enough to accommodate business needs. This also brought a lot of issues in the process:
- Support and fix issues in various adapter versions
- It was difficult for two or more teams to work on the same adapter
- There was no code reusability
- Compatibility with the latest NMS version
- The maintenance of the adapters was very time-consuming
- Time-consuming and error-prone upgrade to new versions
Solution
We developed an Adaptor Development Kit (ADK) from scratch - a framework for adapter development that eases the development process. We used a modular design for the framework architecture that enables custom modifications whilst providing the benefit of reusing libraries. This way, upgrading and downgrading individual components rather than the entire framework is possible.
We used proven PHP standards and Composer dependency manager to address the lack of code reusability and improve the overall code quality. This allowed individual developers to reuse already developed components/existing functionality instead of building them from scratch, which saves time and facilitates contribution.
To allow easier identification of and response to data collection issues, we build a self-monitoring framework functionality by using heartbeats and logs. This provided greater visibility of the overall state of data collection. Additionally, the team worked on developer-facing documentation, glossaries, live training, video tutorials, and procedures related to installing, maintaining, and updating adapters, effectively enforcing good development practices and reducing the learning curve.
The ADK was implemented company-wide as an official standard for adapter development. All in-house teams adopted the ADK and started contributing to its development. For 9 months, 40+ adapters were built with the ADK.