Quality management
At the core of our commitment to excellence are carefully defined processes and procedures within our software development lifecycle. Designed to meet ISO 9001 standard recommendations, they ensure we consistently deliver high-quality services and create robust solutions that meet client expectations and correspond to industry standards.
1 Initiation
We explore client needs, build effective communication channels, and create a clear project plan to lay the basis of a high-quality solution.
Statement of Work (SoW) creation
Statement of Work (SoW) creation
Our RFX and presales managers work closely with the customer to determine and record their high-level requirements, expectations, and deliverables for the project.
Requirements communication to the production team
Requirements communication to the production team
We fully and accurately communicate the customer’s requirements and expectations to the project team and ensure their full clarity. Otherwise, we schedule additional meetings or create more artifacts to verify all the necessary information.
Early risk assessment
Early risk assessment
We take note of any potential risks that can impact the future solution’s quality and discuss them with the client to try and find the solution early on.
A clear communication plan
A clear communication plan
We establish a communication, progress tracking, and reporting plan to ensure clear and aligned expectations and timely issue resolution throughout the project.
2 Requirements analysis & software design
We create a detailed outline of the future solution in line with the customer’s needs and expectations.
Requirements specification
Our business analysts study the initially elicited requirements and detail the functional and non-functional requirements for the developed solution, including its features and capabilities. The project team will use the requirements spec document as a clear roadmap for their development and testing efforts.
High-level software design
We design software architectures fully aligned with the documented customer requirements and communicate them to the project teams.
Functional decomposition
Architecture style
Non-functional requirements
We define non-functional requirements for the future solution and how we’re going to meet them. Here are the most common NFR attributes we outline:
- Performance
- Security
- Maintainability
- Availability
- Reliability
- Configurability
- Data retention
- Usability
- Localization
- Validation
- Governance & compliance
3 Planning
We set up a structured, secure, and high-quality development process.
Project roadmap
We plan all project activities, including scope, timeframes, efforts, costs, quality, communications, resources, risks, and stakeholder engagement, and set clear milestones. This plan will ensure we meet customer’s expectations and complete the project on time and within budget.
Project health metrics
We use a set of metrics to monitor the project’s state and detect and resolve issues early on to make sure we can fully meet project requirements and customer needs. Here are the essential groups of project metrics we keep track of:
Macro KPIs
- Scope
- Budget
- Time
- Risks
Micro KPIs
- Team velocity
- Feature lead time
- Build success rate
- Lead time
- Cycle time
- Test coverage
DevSecOps
We adopt the security-first approach at the planning stage to systematically integrate essential security measures into the project’s stages and foster a culture of security prioritization.
1
Planning
2
Coding
3
Testing
4
Deployment
5
Monitoring
Risk management
We implement a risk management framework to systematically identify, assess, and mitigate risks that could impact software quality and the project’s success.
4 Implementation
We maintain code quality and manage the project’s technical health when carrying out the work outlined in the requirements and design documentation.
Maintainable codebase
Our developers adhere to general coding standards and programming language-specific guidelines to create uniform, readable, and high-quality code that is reusable and easy to maintain in the long run.
We use Git as a version control system and GetFlow as a default branching model unless the customer requests otherwise.
Code reviews
Regular source code reviews help teams identify issues, assess the overall quality and security of code, and make necessary improvements before it’s merged upstream.
- Static code analysis using dedicated tools and SQALE metrics
- Manual code review performed by peers and the project’s technical coordinator
Software quality assurance
Our QA team performs rigorous testing throughout the development stage and before software deployment to make sure it meets the expected level of quality and fully adheres to the customer’s functional and non-functional requirements.
1
Analysis
Requirements testing
2
Design
UX/UI testing
Prototype testing
Usability testing
3
Development
Ongoing testing
Compatibility testing
Web service testing
Functional testing
Security testing
Performance audit
Test automation
Stabilzation
Regression testing
End-to-end testing
4
Deployment
Acceptance testing
Acceptance testing
Upgrade testing
Migration testing
5
Support
Production
Reproducing issues
Identifying causes of issues
We also use some additional practices to ensure comprehensive and effective software quality assurance:
- Test-driven development approach and unit test creation throughout the development
- Extensive test automation capabilities
Technical debt management
We timely address all shortcuts, quick fixes, and detected coding issues and design flaws to prevent technical debt from undermining the quality, reliability, and performance of the final solution.
Technical project coordination
We appoint Itransition’s leading specialists as coordinators to control the technical quality of projects and ensure they go smoothly, stay on course, and meet defined parameters.
5 Delivery & post-delivery support
We focus on the solution’s smooth deployment and its successful adoption by end-users.
Continuous integration & continuous delivery
We set up CI/CD pipelines to create a more efficient, reliable, and scalable software delivery process through testing, deployment, and monitoring automation.
Change management
We rely on an established change management process to plan, implement, and monitor transformations in our clients’ IT environments. We begin to manage change at the initiation phase of the project, when we identify, analyze, and authorize the change request(s) from stakeholders. Starting from the delivery phase, we conduct the following change management activities:
- Change preparation, setup, and testing
- Trial operation after user acceptance
- User training and change notifications
- Immediate feedback collection
- Effectiveness analysis after some period of production use
- Ongoing monitoring
Client feedback collection
We collect measurable feedback from the client’s stakeholders upon the project’s completion to assess satisfaction with our services. Communicated to the company’s leaders, this feedback also helps us identify areas for improvement in our service quality, processes, or collaboration workflows.
A company-wide quality management system
We maintain a high standard of quality throughout the software development lifecycle according to ISO 9001. For projects in certain sectors, we’ll also follow industry-specific frameworks (e.g. ISO 13485, ISO/TS 16949, AS9100, etc.) to make sure our services and solutions comply with relevant quality and regulatory requirements.