Our software development process ensures you meet your specific technology needs and assists you throughout the full life cycle of development, from defining requirements, documenting specifications, developing, testing, to integration. The end product will provide you superior architecture, greater agility, lower costs, and ease of integration with new technology as it becomes available.
Each iteration begins with a requirements analysis phase, followed by design, implementation, and testing. Testing includes integration, regression, and performance. After each iteration is tested, it is deployed to a “First Look” site accessible to the users for additional User Acceptance Testing (UAT). This process repeats for each iteration until all requirements are met and the application is ready for final production release. All material for the user guide and Standard Operating Procedures (SOP) are incrementally collected and developed during each iteration of the software development.
Requirements Analysis, Design, Coding, and Testing
Requirements Analysis: We work with stakeholders and Subject Matter Experts (SMEs) to successfully gather all the requirements, then develop the Requirements Traceability Matrix (RTM). As part of the requirements analysis process, we take into account the functional requirements, and the requirements related to other areas such as database, security, performance, and interfaces. Once the requirements have been identified, a schedule will be developed by the Project Manager (PM) based on multiple iterations. The requirements to be implemented in each iteration is based on the LOE of the requirements, their priority, and dependencies on other requirements.
Design: In each iteration, we perform a detailed analysis and develop a design. Particularly for major releases or in earlier iterations it’s important to consider alternative design approach. We evaluate the design alternatives and choose the “best-fit” for implementation.
Coding: We use a source code control tool to create a new code “work set” or “branch” for new releases. Software development continues with development tools such as Visual Studio, or Eclipse. Testing is an integral part of our SDLC process. All code is unit tested before being “checked” into the selected source code control tool. The code is “built” frequently and deployed to the test environment. Best practices such as continuous integration are implemented.
Testing: A standard definition of bug severity is coordinated with the COR and stakeholders so that each bug is classified for severity and prioritized based on this scale. We develop test scripts for each iteration and release of the software. Our developers perform unit level testing for any changes they make.
UAT is conducted to confirm the acceptability of software changes. Any defects identified during UAT are recorded in the Bug Tracker. The defects are fixed and re-tested as prioritized by the COR. Bugs are tracked using a tool such as JIRA. Once all the high priority bugs are tested and closed the software will be either scheduled for release or proceed to the next iteration.
Once all known bugs are resolved a Test Readiness Review (TRR) is conducted to deploy the software in the production network. At the end of each iteration and release, we conduct an agile retrospective session discussing the lessons learned and changes for the future releases of the software.
Once all known high priority bugs are closed and the software is accepted, the release is ready to be deployed into production following our CM processes. We comply with any customer-specific change management requirements and obtain formal approval prior to deploying the release into production.
Navistra has mature processes supporting overall Quality Assurance (QA), Project Planning (PP), Project Monitoring and Control (PMC), Measurement and Analysis (MA), Risk Management (RM), and CM. All software development projects we execute follow these processes and are audited by the independent Navistra QA team. The PM and the QM participate in monthly Integrated Program Review (IPR) meetings with senior leadership to present the project status and discuss the schedule, risks, metrics, financials, staffing, subcontractors, and quality.
We're Here To Help!