ScienceSoft's Practices for High-Quality Software Development
Quality is deeply rooted in our culture. We guarantee high customer satisfaction with project outcomes due to:
- ISO 9001-certified quality management system comprising policies, processes, and teams.
- True seniority of our specialists, which means proven tech proficiency, proactivity, and self-management.
- Result-driven KPI-based project management.
Quality is Only Real When Measured: KPIs We Use
For each client, we devise a tailored set of quantitative KPIs, ranked according to their weight for project health and impact on customer goals. We use the KPIs to assess and continuously improve the success of cooperation and the quality of the software we deliver.
Development process quality KPIs
Here are some of the metrics we employ in our projects. The actual set depends on the specifics of the development approach and is defined individually for each client.
- Actual time spent vs. planned time (total and across particular tasks).
- Lead time and cycle time, team velocity, deployment frequency, throughput — show trends behind the speed and amount of work an Agile development team completes per iteration.
- Budget vs. actual costs — a general KPI for project health measurement.
- Discovery cost estimates vs. refined budget.
- Cost variance dynamics.
- Components and features implemented vs. specified requirements.
- Release burndown — reflects the tasks completed during an Agile iteration (measured in user stories, epics, or the entire project scope).
- Features waiting in the backlog longer than the deadline — a control point that, ideally, should always equal zero.
- Test coverage and actuality.
- Deliverables accepted in the first UAT phase.
- Defects count per project/iteration/functional module (grouped by severity).
- Testing effectiveness per project/iteration.
- Rejected defects ratio — reflects the quality of defect localization and reporting procedures.
- Reopened defects rate — shows the efficiency of the quality stabilization procedures.
Software quality KPIs
Indicates how easy it is for the software user to accomplish a desired task and the kind of user support the system provides.
- User adoption rate.
- Training duration.
- Task performing duration.
- The number of completed tasks per time period.
- Completion rate (successfully completed to total tasks).
- The number of errors.
Measures the probability that a system performs correctly at specific time.
Mean Time Between Failures.
Mean Time To Detection.
Mean Time To Recovery.
Mean Time To Failure.
- POFOD (Probability of Failure on Demand) - the number of failures/requests over the observed period.
ROCOF (Rate of Occurrence of Fault) - total number of failures.
Showcases the solution’s ability to meet action timing requirements.
Capacity and spare capacity.
Screen refresh time.
Adaptability to accomodate additional resources.
Measures the system’s ability to protect data and information from internal and external cyber threats.
- Data encryption efficiency.
- Security incidents.
- Known vulnerabilities left open by the end of the month.
- Vulnerabilities found by regular penetration testing.
- Vulnerabilities found by independent penetration testing.
Shows the overall level of excellence and reliability of a software program's source code.
Maintainability index (MI).
Cyclomatic Complexity (CC).
Depth of Inheritance.
Lines of code.
How We Take Care of Quality at Every Stage of Software Development
Here is how we manage quality throughout all stages of our typical Agile software development project.
1. A steady start
To substantially reduce quality-related risks, we introduce quality measures as early as the project's inception stage – when we explore the client's needs.
- Devising a quality strategy for our services and software.
- (optional) Signing a quality agreement as an appendix to the contract or work order.
- Conducting initial risk assessments (including ones related to regulatory compliance, cybersecurity, and unplanned efforts) and openly discussing them with a client. Drawing up a high-level risk mitigation strategy.
- Introducing a tailored collaboration strategy and plan aimed to meet project goals with maximum efficiency.
Check our RACI-based collaboration model for Agile software development
- Assembling a project team of pre-vetted specialists best corresponding to a client's needs and approved by a client.
2. Shrewd planning
At this stage, we elaborate on the project plan and determine tangible success measures.
- Creating a detailed project plan, defining milestones, and describing the tasks to complete.
- Defining KPIs that will allow stakeholders to track the project's progress and us – to optimize and improve our efforts continuously.
- Creating detailed technical requirements specifications (can be presented as user stories, mockup-based behavior descriptions, etc.).
- Composing a requirements traceability matrix.
- Eliciting all possible risks related to the software development project and preparing a risk mitigation plan.
- Creating a high-level test plan that specifies the testing scope, manual and automated testing ratio, testing team composition, test schedule, general test entry and test exit criteria, QA toolkit, and test KPIs.
3. Solution building
At this stage, we ensure top-notch software and service quality via:
- Cross-reviewing functional and non-functional software requirements to improve their consistency and completeness for the development process and testing.
- Designing a high-performing, secure, and flexible architecture.
See an example of software architectures we create
- Studying the target users' needs and behavior and creating convenient user experiences.
- Designing a stylish app look for high user engagement, retention, and ease of use.
- Creating a feature DoR and handing over the feature to developers.
- Transparent communication between the technical design, development, and QA teams.
We deliver software front and back end, APIs, and integrations in 2–4 week Scrum iterations.
- Following unified code rules and specific rules for particular programming technologies.
- Performing regular unit testing and code reviews (ad hoc reviews, pair programming, walkthrough, etc.).
- Controlling quality metrics specific to the software type (involves security and compliance assessments for in-progress software with high requirements for data protection).
- Introducing Infrastructure as a Code and running relevant unit tests.
- Implementing IT automation: establishing CI/CD pipelines, automating application monitoring, configuring automated development, testing, and production environments.
We handle over user stories to both developers and testers simultaneously to create and execute test cases in parallel with development. Our major quality management processes and activities at this stage:
At this stage, ScienceSoft delivers a build or ready software to the customer.
- Providing a test result report describing the testing progress, defects validation results, and invested efforts.
- Introducing comprehensive software documentation, including maintenance guides and end user tutorials.
After the ready-to-use software is set live, we support and evolve the solution according to our client's needs. With ScienceSoft, one can be sure that the developed software always remains of excellent quality and brings high user satisfaction.
- Recommending and implementing improvements and new functionality via CI/CD pipelines.
- Quality assurance of new and changed features (covers full-scale regression testing).
- Optimizing cloud resources for cloud-hosted applications.
- Following the ITSM-based approach and applying the ITIL best practices.
- Monitoring and reporting service KPIs, continuously improving the performance of support teams.
Senior Solution Architect
ScienceSoft proved to be a professional service provider from the outset. The solution developed by ScienceSoft fully met the client's requirements and expectations. The project marked the start of successful and mutually beneficial cooperation between Leo Burnett and ScienceSoft. We appreciate their proactive approach and ability to suggest improvements to a prospective solution on both architectural and business levels. We know we can always rely on ScienceSoft's various competencies when our clients require quality software which would facilitate their business success.
Throughout security testing activities, ScienceSoft’s cybersecurity team proved to be result-oriented and attentive to detail. Thanks to ScienceSoft’s quality testing efforts, we were able to ensure a higher level of protection of our cloud application and the sensitive customer data stored in it. ScienceSoft has proved to be a competent cybersecurity partner who can deliver high-quality testing services within the deadlines provided. We consider ScienceSoft a trusted business partner and plan to continue our working relationship with them.
Product and Partnerships Manager
… we can say that we are no doubt happy with our choice of development partners. The quality they deliver is consistently high. Given that the whole project team is international, we have no communication problems, and the reports are on time. What we appreciate is their ability to work independently, with no need for our careful guidance.
With ScienceSoft, we managed to acquire the development resources that we needed and got them fit into our teamwork smoothly. We believe they've contributed a lot to speed up our product's release.
President & CEO
I am particularly impressed by the cooperative nature of ScienceSoft's team. Our project required coordination with multiple companies and individuals. ScienceSoft worked well with everyone.
ScienceSoft has been a competent partner for medical software development. We would recommend them as a trustworthy vendor. They are reliable, thorough, smart, available, extremely good communicators and very friendly. We would recommend hiring ScienceSoft to anyone looking for a highly productive and solution-driven team. We look forward to working with them over the long-term.
Deyarat Trading Co.
…We appreciated their client-oriented approach, consistent collaboration across all the project stages, and flexibility to adjust to changes. ScienceSoft's expert advice helped us reveal cost optimization opportunities and define the functionality to increase the solution's value for all target user groups. We believe ScienceSoft has contributed a lot to speed up our marketplace's release and would certainly recommend them as a reliable tech partner.
Iris Atlanta, Inc.
We cooperated with ScienceSoft’s test automation team to validate and re-validate the performance of our partner’s ecommerce store. The collaboration with ScienceSoft helped stabilize the store’s performance and ensure its full compliance with the performance requirements. We also received all the test scripts and instructions on how to run them. We recommend ScienceSoft as a quality-centered software testing partner.