What is meant by this word, how to assess quality and how to maintain it.

Quality must come first when working on a project if you want people to use your services and appreciate them. Each member of your team is responsible for the quality - the work of the people who create the service determines its quality. Every employee who works on your project should contribute to maximizing the quality and solving problems.
Quality Definition
Different people in the team will understand quality in different ways. In general, quality is the level of customer service, from the beginning of the transaction to its completion, which includes:
')
- Providing access for (the widest possible range of users) to the optimal set of devices.
- Sufficient ease of use of a device
- Ability to quickly provide technical and informational support to users
- Safety and convenience of storage and use of data
- Efficiency and security of basic software and IT infrastructure.
- Full performance code.
- High speed of the service when interacting with a large number of users at the same time (requires load testing).
- Presence of all conditions for the rapid increase of the service capabilities when it is necessary to handle a larger volume of traffic.
- The ability of the team to quickly add or edit the functionality of the service in accordance with changes in requirements or settings.
A couple of words about "technical duty"
“Technical debt” is a popular term in software development, and it has many definitions. In general, “technical debt” is usually referred to as compromise decisions taken to complete the development of a software product when it is not possible to do this properly. This means that some refinement is required, although the creation of the program as a whole is complete.
It is impossible to develop a program without accumulating "technical debt", so the people of your team should share with each other the experience of correct processing. A large amount of "technical debt" will slow down further work on the project. You need to know its volume in order to organize your work in such a way as to reduce it and gradually reduce it in the future.
All are responsible for quality
Quality of service plays a role not only when testing a software product. Also, the quality is not responsible for some small group of employees. The quality of any system is ensured by the people who create it.
Your employees should be able to notice any quality problems with your system. Each of them should contribute to quality improvement and problem solving.
You will not be able to understand how successful your software product is, and whether it meets your requirements without testing - both under normal and non-standard working conditions. You should read Dylan Robert's “
Learning From First Responders ” book to learn how software testing and testing work of a team under high loads (in this case, during the final stage of the 2012 presidential election) are conducted.
All team members are responsible for the quality of any digital services, but the ultimate responsibility lies with the service manager. It is important that he directly interacts with the rest of the team. Otherwise, there is a risk that your employees will not understand what measures they need to take to ensure quality. Your employees need to consider quality issues when creating user stories and use time and resources to:
- testing the program being created;
- simplify the program and regularly check its availability to users;
- analyzing error scenarios and developing a plan of necessary actions.
Attracting specialists and using special tools is very useful for ensuring the effectiveness of testing and is appropriate when testing protection against unauthorized access - engaging employees who are not part of the development team for this task allows you to test the effectiveness of solutions and identify weaknesses in the system, providing a useful look at problems from
And hiring specialists for quality assurance - they will be able to properly coordinate all the activities related to quality, organize a system of trainings and provide the resources needed to create high-quality service, by:
- taking on specific responsibilities and teamwork, and thus improving the quality of everything they do, rather than simply assessing project progress at checkpoints.
- taking on responsibilities only for a short time and giving your employees the opportunity to manage quality themselves as part of a standard development and service improvement process.
We discussed this material with a number of FRIA Accelerator startups:Questions: How do you work with technical debt? Do you use this concept in the work on your project? If so, how do you calculate its volume? Are there any special rules for the team to eliminate it?Dmitry Sokolov, Founder and Project Manager Pocket.DJCTO thinks through the implementation of tasks in order to minimize technical debt. He is personally responsible for him and he controls him. Every 20th and 21st working day is devoted to refactoring. If the danger of technical debt is seen in advance, the CTO is obliged to notify the team when planning the timeline.
Alexey Fedorishchev, HappyCart.co project managerI guess this is a marketing thing. It's easier for us to measure in features and track their implementation. About the responsibility for quality: yes, it is universal (as a startup of 4-7 people is supposed to). And the arbiter in terms of quality is the client voting with his ruble.
Sergey Svechnikov, StartExam Project ManagerWe do not work with technical debt. The team is small - mostly not full-time. Based on this, until we regulate such rules.
Vladimir Kovalev, founder of the Timeviewer projectWe use, but do not call it that. Initially, we faced this and had to rewrite and design the platform and structure of our service, for this we took the team of Igor Rabinovich, who has extensive experience in designing systems that have complex logic and know how to work quickly with a large number of devices.
Now we are faced with more insignificant "technical debts". We describe all necessary functions and improvements in Assembla and break everything down by releases. We can do something that can be implemented on the existing platform with “crutches” if it needs to be done faster. But there are a number of those "debts" that remain and are waiting for a new release with a rewriting of logic.
Alexander Kaloshin, Founder and Project Manager LastbackendWe have a high-tech product, and we could not make it hastily. There are 2 main reasons for this: start-up risk - with an influx of audience, projects with technical debt have huge risks with possible falls and lack of sustainability; and the fact that projects with technical debt must in any case be put in order and (most likely) rewritten from scratch. Because with this, it was decided to immediately do the "right". And we eliminated this problem before its appearance.
Usually, everything is done differently - “crutches” are simply written, which allow the project to stick, but when you set a critical mass of these crutches, refactoring is still done, which is quite expensive at the end.
Our publications based on Gov.uk materials: