Software Development
Process Methodology
FiveRivers is undergoing CMMI Level-3 certification and already implements CMMI processes at a higher level. We are also concurrently undergoing ISO certification, which ensures the quality of our development process as well as other allied areas critical to the success of our projects and customers. The FiveRivers team is extremely adept at molding the development process to the needs of our clients. We have conducted successful implementations using lightweight methodologies such as XP (eXtreme Programming) and Agile development. In contrast, for Angel or VC funded startup companies and their unique needs concerning early prototypes, we have also delivered projects using Iterative Prototyping methodologies. For larger accounts with enterprise-level scalability and validation requirements, we adopt rigorous methodologies, with a phased model outlined below:
Requirements Phase
Requirements are typically prepared by either the client, by FiveRivers or by both in collaboration. We normally interact with Product Marketing leaders or Business decision makers representing our clients, and are comfortable converting high level requirements into a PRD (Product Requirement Document)
Specifications Phase
The Specification document produced by our team is a complete statement of work, and forms the basis of the signed contract with our client. It is prepared through a collaborative effort involving FiveRivers and our client.
Planning Phase
Once the requirements and specifications have been agreed to, FiveRivers prepares other documents that are necessary to appropriately plan for the project. With projects involving custom hardware or particular types of phones, for instance, this would include the logistical aspects of having the equipment available by certain dates reflected in the project plan.
System Architecture and Design
Usually, the Systems Architecture document is prepared by our experienced architects for the customer. However, for several projects, this has been a collaborative process with the client's Architects. The Architecture document contains UML sequence and class diagrams and other aspects of design. Once prepared, FiveRivers submits the document to the client and iterates until the architecture has been accepted and validated by the client.
Implementation
This phase involves the actual implementation of the design into working code. Our teams are skilled in various different platforms and based on the needs of the project, this phase can involve coding in a variety of languages.
Unit Testing - testing each screen / object / procedure separately.
Integration
Module Integration - Putting together all the screens, reports, objects and procedures in one module, developed by different members of one team, and ensuring that they work together.
System Integration - Putting all the modules of the system together; typically multiple modules developed by different developers/sub-teams are integrated during this step while the team lead, architect and QA resources ensure that everything interoperates well.
Documentation
Depending on the needs of the project, our Technical Documentation resources can provide:
User Manuals
Administration Manuals
Installation and Configuration Manuals
Quality Assurance
Once implementation is complete and we have a release candidate or a build as per the Agile sprint process, we proceed with thorough testing of the software. The testing is done by an independent QA team, reporting to different managers. This ensures that the same Lead is not responsible for both the development and the QA and leads to better accountability and quality.
Shipment and Customer Support
We are fully equipped to provide Level-2 and Level-3 support for our projects. Post-delivery support is extended for the duration of the period specified in the services agreement.
