DevelopmentPLUS is a service where Cavium Solutions and Services develop software applications through a full life cycle development effort. Typically a partial or full data plane coupled with control plane functions and APIs. Although not a mandatory step, a DevelopmentPLUS service is typically engaged upon completion of ArchitecturePLUS or PerformancePLUS engagement.
DevelopmentPLUS service is intended to be an enablement service rather than an outsourcing service. Although CSS takes full responsibility to develop the said application, our team will also be responsible to enable the customer’s engineering team to carry forward with delivered software. The customer’s engineering team is asked to be fully involved with the developed effort in two ways:
- Shadowing: Customers are urged to identify at least one engineer to shadow our development team as we go through the development process. As the project progresses, our team will make sure that the shadow engineer is brought up to speed on the developed code thereby allowing full enablement by project end
- Test and Validation: Customer is asked to assign one engineer to be the focal point with regards to acceptance testing. Early in the project, this engineer is tasked with developing and Acceptance Test Procedure where the developed software must pass to facilitate acceptance.
CSS follows a well-defined development process that ensures highest level of quality and on-time delivery. Process steps are:
- Design
- Development
- Integration
- Acceptance Testing
- Post Acceptance Support
Design
During the design phase, CSS develops a detailed design document that captures the design of the software and its interfaces. The document shall include but not be limited to the following:
- Refined software requirements
- High-level architecture design and block diagram
- Major data-path Packet walk-through
- For each module:
- Interface section with complete APIs accurate to the variable level
- Internal module description section that describes the internal logic of a module and perhaps diagrams showing tables, and structures
- Internal and external data structures
- Logic flow charts when needed
- Refined Performance analysis section
- Refined Memory analysis section
Development
Cavium develops the software source code. At the end of this phase the vast majority of software and all critical software components will be developed. Each module, shall be unit tested individually.
Integration
During this phase, developers will pull together software modules into a combined system. Basic functionality tests will be performed at the system level. Initial performance numbers will also be collected to make sure that the system approaches the overall performance targets.
At the kickoff point of this phase, the customer is expected to deliver to Cavium a completed Acceptance Test Procedure and test setups.
Acceptance
At the start of this phase, Cavium shall begin the process of internally running the integrated software against the acceptance test procedure. At the end of this phase, Cavium shall demonstrate to the customer successful passing of all test cases
Post Acceptance Support
After acceptance, customers are typically performing final product testing and sometimes integration with host applications. During this phase, CCS offers customers full and comprehensive support for at least a period of one year. This contractual arrangement with strict performance criteria enables customer to bring their product to market quickly and with confidence.
|