Content |
On March 19, TAdviser held a conference "Custom Software Development." Customers presented their approaches to the use of custom developments, shared experience, including negative ones, gave recommendations on the most rational options for action. IT companies talked about their expertise in the field of software development, presented cases.
The conference was attended by representatives of such organizations as Kirishinefteorgsintez, Atomstroyexport, Auchan Tech, VTB-Leasing, DIT of Moscow, Tasty - and Point, Centrleshoz, and Atmosphere of Cinema. The event was hosted by Alexey Voronin.
Most IT projects undervalued
Stanislav Tulchinsky, Head of the RSHB-INTEH Credit Corporate Business Unit, spoke on the topic "How to Manage Risk and Budget in Development." He elaborated on the risks posed by software development. The rapporteur highlighted the main problem areas: underestimation of costs, unforeseen expenses, problems with resources and contractors, lack of effective planning and transparency in projects.
Stanislav Tulchinsky paid special attention to methods and approaches of risk management in software development. He stressed the need to combat uncertainty in projects and presented strategies to minimize risks in managing the budget of software products.
The speaker formulated key recommendations for effective budget management in IT projects, speaking about the importance of creating reserves, transparent planning and preventing conflicts of interest between project participants. {{quote 'There are things that are not caught at the initial stage of the software development project: a sudden jump in the dollar exchange rate, an unexpected illness of the main developer and many other unpredictable events, - he lists. - It will not be possible to soften them with financial buffers - it is necessary to make changes to the development process. For example, instead of one big MVP created during the year, plan several small ones developed in a month and a half. At the same time, the financial side is also very important. Knowing that the world is not perfect, it is necessary to put more money in the budget. Most IT projects are undervalued at the initial stage in terms of money.}}
Alexey Belchenkov, senior partner IT-Business, Unilever Rus, presented the Referus PLM system developed by the company for product lifecycle management in the FMCG field.
The speaker recalled that until 2022 the company was part of a large international business. IT tasks here were solved by "landing" a team of IT specialists who came, established a solution and left back. Used as a lifecycle management system. SAP PLM
The prerequisites for creating its own IT company "Solutions for the Future" were the need to localize processes, ensure the sustainability of the main business and search for new values, explained Alexey Belchenkov. This organization is focused on solving internal and external, market problems. Internal tasks are building an IT localization strategy, introducing innovations, and comprehensive business support. External - creating digital products for FMCG and other industries, providing IT services.
In FMCG, unlike assembly production, there are "chemical processes" - the mass of the product changes at the output, and the customization of one of the systems presented on the Russian market would not give the necessary effect, - explains Alexey Belchenkov. |
It was considered, among other things, the creation of a system based on a low-cost platform, but this option was also thrown aside due to the limited available functions, the complexity of scaling and for security reasons. The speaker admitted that the creation of its own platform also has disadvantages: the difficulty of forming a product team with experience in industrial solutions, high commercial risks. However, Unilever Rus followed this path and developed a PLM system for FMCG Referus, designed to manage the full life cycle of production: from the idea of the product to its withdrawal from production.
Anton Safronov, Technical Director, ДОМ.РФ Technologies, spoke about the powerful software development platform created in the company, its structure, components, some implementation and use results.
The speaker walked through the entire developer toolkit included in the created platform: from the start of development (GitFlow model) to the system for orchestration and launch on a schedule (Airflow). The purpose and functionality of a number of tools has been described in more detail.
Thus, the LDAP directory FreeIpa allows you to implement the concept of single sign-on in all tools, provides access to virtual machines and contains information about employees' affiliation with products. The Nexus package repository for development contains mirrors to public and internal local resources for publishing artifacts.
The results of the platform implementation are as follows. The time to analyze errors was reduced to 15 minutes. Two new environments have been deployed to replace the old UAT. Delivery speed increased to 40 releases per month, while delivery time decreased from 3 days to 15 minutes.
"The main problems at the start were the lack of an IT team, a large number of IT projects," recalls Anton Safronov. - We realized that we need a platform to help quickly revise decisions, make changes. The platform we developed, built around Kubernetes, helped close many of the pains. Now none of the users even notice how we update the systems. |
The speaker noted that the platform has the potential of a commercial product, so ДОМ.РФ Technologies is thinking about bringing it to the market.
The budget doubled, and the deadlines - five times
Alexander Brazhnikov, IT Director, Performance Group, shared his unsuccessful experience (and therefore especially interesting and useful) with the conference participants. He immediately said that the project in question was being implemented at one of his previous places of work.
The goal of the project was to create a mobile application critical to business in terms of making a profit. As a contractor, they chose a large outsourcer with an annual turnover of several hundred million rubles, which has projects with large customers in its portfolio. However, for this project, the outsourcer hired a freelance team, which evaporated at the time of the deadline, after which a new one was hired.
As a result, the project took nine instead of the three planned months. In the iOS and Android assemblies of the mobile application handed over to the customer, there were more than a hundred bugs, a third of which were critical, but the performer refused to fix them - this was done by the internal team for another six months. The main reasons for the failure were, according to Alexander Brazhnikov, excessive trust in the outsourcer, with whom one of the project managers previously had a successful experience of cooperation, shifting responsibility for the result to the contractor, and the lack of proper control over the implementation of the project.
Problems with the outsourcer began even before the signing of the contract - he suddenly rolled out the price tag by one and a half million more than first agreed, and according to the results of the project, the budget generally doubled, the term - five times, - says Alexander Brazhnikov. - And the litigation is still ongoing: the executor demands the last payment, and the customer - payment of costs. |
In conclusion, the speaker gave recommendations that it is advisable to transfer to external developers, and what to develop on your own. Projects with clear requirements (MVP for hypothesis testing, etc.), as well as tasks that require specialized knowledge (blockchain or AI), are better done to order. Strategically important projects that require a deep understanding of the business, as well as products that will develop in the long term, are most logical to develop within the company.
At the question session, this speaker followed a trend: the questioners showed a deep understanding of what and how had to be done to avoid failures in this project. Meanwhile, it is obvious that the benefit of the report will be if the conference participants analyze their own negative experience and draw the right conclusions.
Yaroslav Ponomarev, Advisor to the General Director for Information Technology, ALOR BROKER, focused on managing security and efficiency during custom development. He listed the issues that the software customer is experiencing. There are no legal requirements for the contractor. Perimeter access and release processes are not standardized. There is no current source code, and the design architecture is different from the real one.
You can protect yourself from risks as follows. First, to amend the agreements to strengthen the requirements for security, responsibility of the parties and data confidentiality in agreements with external developers. Secondly, switch to an enterprise VPN and integrate external developers into the corporate network through secure channels to ensure secure access to resources.
It is worth unifying both environments and release processes by implementing standard continuous integration and delivery processes for all projects, by automating assembly and deployment. It is necessary to bring test, intermediate and production environments to a single standard to eliminate differences between them. Finally, you will need to create a separate repository for contractors with delimitation of access to projects, ensuring version control and intellectual property protection.
It is recommended to make investments in training and development of employees, and most importantly - to form a safety culture in the company, - Yaroslav Ponomarev emphasized. |
We will distribute responsibility
Stanislav Gotz, Director of the Department of Business Applications and Platforms, Lamoda, spoke about the approaches to custom development practiced in the company. Despite its own IT company Lamoda Tech, where more than 900 people work, there is still a need for custom development. To create important products, as a rule, internal development is practiced, but the availability of free resources and competencies is taken into account.
Stanislav Gotz urged to think about the following before going into custom development:
- on whose side the future solution will be placed;
- who would support him;
- who will develop.
In the case of custom development, as a rule, the option of hosting, support and development on the partner's side is chosen, he noted. But even in this case, the option is taken into account for the future, when you need to pick up the product on your site. To this end, even at the stage of developing preliminary requirements for the future system, requirements are laid for fault tolerance, cloud ready compatibility, CI/CD support and a number of others.
When it comes to an important product that critically affects the business, and if there is a long development, then, as a rule, we go into internal development, - said Stanislav Gotz. - But if the product is needed here and now, custom development may be preferable. |
Independent expert Taras Soroka presented three standard models of interaction between the customer and the contractor during custom development, which, according to him, cover 99% of the needs:
- Time and Material - Customer manages time
- development for a fixed price - the contractor manages labor costs;
- managed services - the contractor manages the time.
The speaker outlined two main parameters of any model: the subject of payment (time, labor) and the question of who is responsible for the final result, the customer or the contractor.
The responsibility for the development of the created custom product lies with the customer, and the contractor is ready to provide resources for this, - believes Taras Soroka. |
Nikita Perevozchikov, Project Manager for 1C Development, Programming Store, spoke about the company's products, paying attention to the methodological aspects of software development. There are various options for interaction for software development: classic outstaffing, hybrid teams, development back office, full outsourcing.
We start with small tasks, and then, when we show the client our expertise and customer focus, the customer begins to trust us with more serious projects, - Nikita Carriers shared his experience. |
Thus, in the Russian road construction company Avtoban, at first, in the outstaffing format, the standard configurations of accounting systems from 1C were finalized, the problems of exchanging data between these systems and web products were solved, the Datareon data bus was introduced. Then, already in the status of a general contractor, Programming Store specialists introduced a solution to automate the accounting of the number of employees at the facilities and the accounting of working hours.
Based on the results of the project, the personnel service receives reliable data on the number of employees in real time, analyzes the dynamics of the number of personnel. At the same time, PHY has been reduced here.
In conclusion, the speaker listed the factors affecting the formation of trust between the client and the contractor:
- the ability to work with the contractor on small volumes, a gradual transition to larger tasks;
- expert materials on behalf of the contractor company (articles, reports, webinars, portfolios and cases);
- availability of a transparent reporting system;
- openness to dialogue, use of a flexible approach;
- willingness to take on projects that are not being decided by other contractors.
Help will cost less than your own mistakes
Kirill Dmitriyev, product manager, dedicated Selectel a report to the server operating system SelectOS room, created by the company's specialists on the basis. Linux The speaker stressed that the specialists who developed this product have 15 years of experience working with different operating systems. Noting that SelectOS was created taking into account the business experience of the company's customers, he listed the main advantages of a system that solves key business problems, ensures process security, and optimizes costs. IT infrastructure
SelectOS offers two versions: for business (Enterprise) and for quick start (Community). Kirill Dmitriyev stressed that the SelectOS repository, from where users get the necessary software, is located on the territory of the Russian Federation, as part of the vendor's infrastructure and is fully managed by it.
There are many companies dealing with custom development on the cloud infrastructure of Selectel, - said Kirill Dmitriyev. - At the same time, an important aspect is to ensure the integrated security of our customers, including compliance with the requirements of regulators for working with personal data. Selectel's main goal is to provide the best service to its customers and reduce infrastructure support costs. |
The speaker cited as an example a business case with infrastructure cost savings for streaming platform providers. At the Q&A session, he noted that so far the OS is not in the Register and is not certified by the FSTEC, but work is underway in this direction.
Alexey Godynsky, chief architect, LANIT Bee Pi Em, outlined three important components of any modern team software development: communication processes, technologies and artificial intelligence. The Speaker reviewed the impact of each of these components on team development results. He stressed that methodologies (Kanban et al.), Regulations and metrics designed to fix changes are important for establishing effective teamwork.
{{quote 'Communications in the development team are almost in the first place. Therefore, methodologies are very important here: Scrum, Kanban, as well as regulations, the speaker emphasized. - But working with methodologies should be careful, do not overload people with methods, since this can even lead to a decrease in the performance of teamwork, and not to its increase. }}
Alexey Godynsky identified two types of technologies used in development: new and familiar. In the case of familiar, traditional technologies, it is important to standardize and template the components of the IT landscape in order to properly communicate technologies.
In LANIT Bee Pi Em, appropriate work was carried out to standardize and template the backofice, front office and other elements of the IT infrastructure. This made it possible to create an Alba 2 product - a designer that makes it possible to write a business log without involving a development team, create new microservices in one to two days. The speaker then gave scenarios for using artificial intelligence:
- recognition, generation, processing of oral and written speech (NLP);
- Search unstructured documents
- support automation;
- generating tests.
Alexey Godynsky summed up his speech as follows. You need to template all: processes, code, configuration. One should not be wary of involving consulting. Help will cost less than your own mistakes.
Marat Nevmyanov, Deputy Director of the Load Testing Department, IBS, listed the industries in which the company's specialists implement testing projects: among them financial institutions, the public sector, IT companies, retail, telecommunications companies, the oil and gas industry, power and industry, transport.
Software developers load testing will make it possible to be sure that the system will cope with loads in industrial operation mode, - Marat Nevmyanov is sure. |
Further, the speaker outlined the questions to be answered during load testing (whether there is enough capacity), general goals (reliability check, determination of maximum performance), stages of load testing (from initiation to receipt of reporting materials).
In conclusion, Marat Nevmyanov cited the case of comprehensive load testing, which took place for several months at a large retailer. The main prerequisite for testing was the preparation of the company for the "high season" of sales. During the project, the maximum performance of the customer's information systems was determined, bottlenecks were identified, a mechanism for conducting load testing on industrial infrastructure in the night period was developed. Technologies used for testing: Gatling, Grafana, InfluxDB and a number of others. As a result, the "high season" was passed without problems associated with a lack of performance.
During the break and at the end of the conference, the participants talked informally, and also had the opportunity to familiarize themselves with the solutions and services of IT suppliers at the stands deployed in the event hall.