How to competently and effectively develop a software product

    Quite often, companies with their own software, be it a mobile application, internal, CRM - systems, etc., are faced with the need to further develop the solution. The reasons may be different: the existing software does not meet the business requirements, the processes, the indicators do not grow as fast as we would like, technical support is overwhelmed, and there are few positive feedback from users. In such cases, an audit of product quality will allow identifying weak points and points of growth.

    One of our customers addressed us with the problem of issuing a corporate application for managing subsidiaries. A client is an insurance company whose scope of activity includes risk and accumulative insurance, other services. Special software is available for coordinating, managing, and recording the activities of the head office and subsidiaries. The main functionality of which is a large number of accounting, planning and analytics logs. In addition to autonomous journals intended for a specific unit and exclusively for local purposes, there are shared journals. According to them, the information is collected at the head office and in the opposite direction plans and indicators also descend.

    The main problems with this software were:

    • frequent server crashes;
    • data loss during transmission from subsidiaries;
    • the application has ceased to cope with the load when processing an increased number of services (geolocation, integration with related services);
    • non-compliance with the timing of the release of new versions.

    We prepared a number of questions and discussed them at the customer’s office. As a result, we got a clear picture of the organization of work in the client’s team. This approach allowed for a full technical audit of the project. In our experience, this is the most successful method for collecting the most detailed and complete information on a project, which allows to form not only a team, but also its work processes in the shortest time possible. Identified the need to connect QA-specialists and enhanced development team.

    What did you figure out

    Prior to the analysis, the priorities for the work were as follows: 70% development of new features that would solve the problems identified, and 30% testing of the existing functionality, including testing scalability.

    Work plan prior to conducting an audit of product quality.

    In the course of an audit, it is extremely important to learn how performers from other areas work and their view on the main project objectives and processes.

    After talking with the customer team, we learned about other equally important issues:

    • extremely low performance of the integration system, which was tied to one of the main components;
    • the need for significant improvements due to misunderstood and implemented functionality;
    • no error logging;
    • all tasks got into the release version of the application, even those that were not required for the release. As a result, the time spent on developing and searching for bugs increased significantly;
    • inconsistency between test stands and real ones: many of the components on the test stand were outdated, which led to finding bugs that could never be reproduced on real stands with live users, and vice versa - some of the bugs were found only by the users themselves;
    • the customer had no experience in setting up the server infrastructure;
    • The application has never been fully tested for compliance with functional requirements and usability.

    The customer did not designate these problems in advance; they had a significant impact on the growth and development of the project. Often, problems of this kind do not receive adequate attention, which may reduce the effectiveness of making changes to the entire project.

    What we have proposed

    The step-by-step plan prepared by the expert team solved the client’s designated problems. An individual approach was proposed by a smoother and painless method - the idea of ​​a unified client team based on the following principles:

    • general interest of the team in achieving the goals and objectives;
    • the involvement of all persons influencing the quality of the domestic product;
    • constant consulting of customer’s specialists by our team.

    As a result, from the initial plan of the customer, where only discussion of the development was meant, we proceeded to the approval of the extended list of works on:

    • processes through which the life cycle of tasks;
    • the choice of tasks that will fall into the release of the next version, and the prioritization of tasks in general;
    • the testing process, its organization to get an idea of ​​the overall quality of the product;
    • setting up git flow;
    • development of new functionality and correction of defects;
    • setting up an automatic project deployment system.

    Work plan after the product quality audit

    At the end of the audit, a plan was drawn up for the first two months, not only including a list of works, but also an agreement on the processes.


    After 2 months, a release was released with priority functionality within the planned time frame. The main business logic of the application was covered with automatic and manual tests, which gave a better understanding of the quality level of the application, a decrease in the concentration of defects, as well as the ability to identify the points of growth of the product.

    The results of work in some working figures before and after the audit in the field of product support and quality assurance.

    Our approach of working as a single team gave the corresponding result:

    • the main functionality of the application has been stabilized, the number of server failures, data loss has decreased;
    • improved usability of the system, which gave an increase in the speed of work of employees;
    • adjusted release of the application in a timely manner;
    • the percentage of returns and the increase in loyalty of regular customers were doubled from the initial rate;
    • The number of critical calls to the technical support service decreased by 70%.

    Also popular now: