September 5th, 2023

190 Projects Daily: Maintaining Quality in Software Development

In over 20+ years of software development, SimbirSoft has expanded from a team of four to a company of 1,500 employed professionals. Our portfolio boasts over 1,200 projects. We design and tailor information systems to address business challenges for clients across various sectors, including the development of high-load systems using machine learning and data science. The company's steady growth is largely due to our quick adaptation to fluctuating market conditions, robust management, and streamlined processes.

The cornerstone of our success is our commitment to consistently deliver quality products for businesses, irrespective of the client size or reputation. To excel, we delve into the clients' business specifics and identify the primary reason for their approaching us. We are managing nearly two hundred projects simultaneously. In this article, we will share what enables us to ensure quality across several hundred projects and how we manage to deliver results under such a workload.

Treat our clients' teams as if they were our own

Our clients and we are in the same boat, and we have a shared objective: a quality product that addresses an existing business issue. Therefore, we do not just follow instructions, but delve into the core of the clients' problem and identify what is needed for its resolution.

If we understand that the client does not require the costly information system ‌they initially wanted, and their issue can be resolved with a more affordable solution, we will inform them downright and suggest alternatives.

Our primary focus is the business needs, and we channel all our energy into delivering the most effective and high-quality results: utilizing new technologies and avoiding errors. We design even the simplest products in a way to provide maximum value to clients and end users.

Clients might not always possess the necessary skills and experience, but if this ultimately impacts the progress and outcome of the project, we will certainly suggest compensating for the shortfall by involving our own expertise. Typically, clients support us in such situations: they are always keen on collaboration if it aids in achieving the desired outcome and solving tasks. This approach allows for maximum flexibility in adapting to clients' needs.

Staying on the same wavelength with ‌clients

Over the years, we have established several client interaction principles that assist us in understanding clients' desires and acting in line with their demands. Here are some of the key ones:

Staying in touch. We engage frequently with ‌clients, discuss visions and details to ultimately deliver the desired result, while staying in touch at all times.

Establishing accountability. At the project outset, we develop a responsibility matrix outlining the client's objectives and expectations and assigning roles and duties. If something is not going as planned during the process, we conduct a retrospective review, allow all stakeholders to express their views, and make adjustments based on their feedback.

Setting control points. We obtain approval for the conference call schedule with the client in advance where we showcase the project progress.

Being consistent. All project processes are transparent to the clients: they are aware of the current status and duration of each phase. Project manager oversees this process.

Developing new concepts making use of experience

After each project, we hold a retrospective review to discuss lessons learned, successful ideas that can be applied to other IT systems, and adjust our processes to prevent future errors. This way, we maintain a relevant knowledge base where our team members can review past projects and their outcomes.

We also maintain a technology knowledge base. Naturally, SimbirSoft has its own successful technical solutions that we aim to reuse where possible. This approach reduces labor costs required for a project, thereby saving the clients' money. Hypothetically, a professional might spend a week designing the architecture, but instead, they leverage the existing solutions and complete the job within a day.

Striving for the best possible outcome

As mentioned, we always aim to provide the clients with various solutions for their business challenges, considering budget, timeline, and quality constraints.

To best meet the clients' expectations, we:

  • Adhere to and continuously refine our development process. Strict adherence to the standards and practices developed over 22 years of project work produces predictable results;
  • Place a high emphasis on analytics. The more thorough it is the less uncertainty there is, resulting in fewer bugs and discrepancies between the final solution and the clients' vision;
  • Ensure quality. Our company employs a comprehensive set of processes to guarantee the quality of our projects: a pre-established workflow, structured testing procedures, and so on.

However, we strive not to obsess over perfection to the point of failing deadlines and exhausting the clients' budgets – that is not how we operate. If the product meets the clients' needs and addresses their business issues, we deem it finished and finalized.

Checking in at milestones

In the analytics stage, it is vital to grasp the client's actual business objectives and minimize functional and technical ambiguity in the project. To effectively complete this significant milestone, we engage all the professionals required: an analyst, a project manager, a team lead, and a QA lead. After the client approves the artifacts (technical specifications, prototypes, architectural concepts, etc.), the team commences the development stage.

We aim to base our product development on Agile methods, utilizing key Scrum events. Their objective is to deliver the required outcome to the client as swiftly as possible. At the conclusion of each sprint, we hold a mandatory project demonstration for the client and a retrospective review. We discuss the challenges our team is encountering and our plans to overcome them. If said issues arise due to the client's mistakes, we request corrections, ask for more information, or assign a professional to assist them.

Correcting errors properly

Regardless of how well we perform from the outset, errors are unavoidable. There can be instances where clients have specific expectations, but discrepancies occur somewhere along the line. During the project, some unforeseen details may emerge that we had not previously considered, impacting the project progress and results.

We view each of these instances as a valuable lesson learned and use them to enhance our company's processes. In other words, when an error is identified, our first step is to rectify it promptly, followed by an investigation into its causes. Our experts investigate it, identify its root causes, and implement proper changes to our processes and knowledge base. This approach reduces the likelihood of similar errors in the future.

In conclusion

The primary objective is to resolve the clients' issues. It is essential to focus on this and propose a sensible solution, rather than steering ‌clients towards an expensive and unnecessary product.

Effective communication and information gathering are crucial. The more we know about the clients' expectations and requirements, the better equipped we are to meet them. We utilize checklists with product-related questions, conduct comprehensive interviews at the onset, and maintain regular communication through calls.

We ensure execution of the development processes in a streamlined manner and constantly strive for ‌improvement. In the realm of development, continuous learning is a must, and it extends beyond just technology. Therefore, we refine our processes after each case and learn from even the smallest of errors.

With such an approach, managing two hundred projects simultaneously knows no bounds.

You can learn more about our processes here. For more cases and useful materials for business, visit our LinkedIn and Medium accounts.



Sergey Gordeev
Head of Project Management Department
Enjoyed this article?
Subscribe to the SimbirSoft newsletter! We will sometimes send you emails about some development lifehacks, share our experience in team management, and tell you about the upcoming SimbirSoft events.

More Articles

Quality Assurance for IT Companies: Who Needs It and Why?
October 26th, 2023
Information System Development and Business Process Maturity: Choosing a Solution
October 5th, 2023
Development with Flutter: MVP for an Agricultural Marketplace
August 31st, 2023
Tell us your idea
Send us an email or give us a call, we’d love to chat
about your most ambitious idea: +1 617 982 1723
Upload a file up to 10MB
File selected
Required extensions: .txt, .doc, .docx, .odt, .xls, .xlsx, .pdf, .jpg, .jpeg, .png

Maximum file size: 10 MB
Оставьте свои контакты
SimbirSoft регулярно расширяет штат сотрудников.
Отправьте контакты, чтобы обсудить условия сотрудничества.
Написать нам
Расскажите, какие задачи сейчас на вашем проекте.
Проконсультируем и предложим подходящих специалистов, а также сориентируем по ставкам на аутстаф.
Middle
TeamLead
Senior
TechLead
Upload a file up to 10MB
File selected
Required extensions: .txt, .doc, .docx, .odt, .xls, .xlsx, .pdf, .jpg, .jpeg, .png

Maximum file size: 10 MB
Экспресс-консультация
Заполните все поля формы.
Эксперт свяжется с вами в течение рабочего дня.
File selected
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Порекомендуйте друга — получите вознаграждение!
Прикрепить резюме, до 10Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.