Major security camera vendor taps into Codevio's digital video experience.
Situation
Our client, one of the top 3 providers of IP based security camera systems, had developed a comprehensive
Systems Development Kit (SDK), in an attempt to provide a common set of tools and libraries for a number
of their development sites spread across the world. The SDK development team had recently started to encounter
technical problems, causing delays in the delivery process, leading to further delays in the products that rely
on the SDK. The client needed to find out where the core of the problem lay, and wanted to streamline the
development process to bring the project in on time.
Solution
Codevio set out on a detailed review of both the architecture and implementation of the SDK, and the product
management and development environment surrounding both the SDK team and the development teams that create
products that rely on the SDK.
The review of the SDK architecture and implementation was broken down into a number of sub-tasks, including:
- Interview developers, collate existing knowledge on problematic areas and scope for improvement.
- Participate in code reviews to gain knowledge of proposed changes and future requirements.
- Further visual inspection of code
- Deeper review of API and plug-in interfaces
- Observation of key areas in active use, e.g. DirectShow filters
- Visualisation of data flow using existing Codevio tools
- Thread and complexity tracing, e.g. catalog number of threads, largest clusters of state changes, critical sections etc.
- Performance analysis and bottleneck identification
At the end of the review, an extensive report was produced, including:
- Analysis of existing architectures' strengths and weaknesses, and suitability for future requirements
- Proposed options for architecture improvements
- Discussion of the pros and cons of each proposal
- Implementation plan for prototyping architecture proposals for viability analysis
The report of the product management and development environment included:
- Outline of products relying on the SDK
- Future requirements affecting the SDK
- Opportunities to reduce product matrix
- Brief analysis of tools and how they are used
- Examination of communication between development offices
- External view of what SDK issues
- Review of the existing testing infrastructure
Following a review of both the technical report and the management report, the client decided to create a
new SDK from scratch, broadly following the architecture proposed by Codevio. The client also retained the
services of Codevio to help with the design and implementation of the new SDK.
|