Implementation of best practices of development and testing in a distributed team by a JazzTeam manager

Provided services

Project Management

Client

IT product company (England, UK).

Business challenge

JazzTeam specialists joined the development of the customer’s product, complementing its distributed team. Having immersed ourselves in the processes and technical features, we realized that the project was at a critical point. The most sophisticated ERP system had a large codebase and a huge number of various modules. CI/CD and test automation were not implemented on the project. This significantly complicated the process of scaling up and further development of the software because bugs kept appearing when making changes. Any changes and attempts to expand the functionality led to delays in releases.

In addition to technical difficulties, the project also had problems with the organization of processes (business analysis, testing, and delivery processes were not established). The founders focused on long-term business goals without solving problems that needed to be eliminated as quickly as possible.

This state of affairs affected the psychological atmosphere in the team. Learned helplessness, high toxicity, misunderstandings, and conflicts all led to working under permanent stress.

JazzTeam specialists understood that further evolutionary development of the product under such conditions would be impossible. Therefore, our manager faced a really difficult challenge, which was to implement best practices of development and testing, to change the psychological atmosphere in the team, and to change the culture on the project, all while ensuring that JazzTeam engineers are performing well on the main tasks that have been assigned to our company.

Project features

  • Working in a distributed team, the participants of which are in completely different parts of the world and time zones.
Headline icon TASKS AND CHALLENGES
Effective team immersion in the product features and details, mastering existing processes, quality deliveries
Implementation of best practices of development and testing in a distributed team
Creating a favorable psychological atmosphere in the team
Implementation of a value-based engineering culture on the project and overcoming learned helplessness of the engineers
Item icon Sophisticated ERP system
Item icon Distributed team
Item icon Large codebase
Item icon No CI/CD and Test Automation implemented
Delimiter icon
Headline icon SOLUTION STAGES
  • 1
    Demonstration of JazzTeam manager's proactive position Assessment of problems on the project, conducting research Initiation of improvement of the project's processes and technical side (implementation of CI/CD and Test Automation)
  • 2
    Initiation of works on technical debt elimination Implementation of continuous integration and delivery Creating a framework for testing the application Coverage of all important functionality with Ul autotests
  • 3
    Improvement and optimization of processes on the project Introduction of a unified format of task setting Analysis of the product quality and proposal to expand the customer's team with specialists in manual and automated testing Organization of the process of task estimation and decomposition
  • 4
    Scrum methodology implementation Conducting daily standups, demos, and retrospectives in the team
  • 5
    Implementation of the best practices of using Jira in the development process
Delimiter icon
Headline icon RESULTS
  • Best practices of development and testing were implemented in the team
  • A favorable psychological atmosphere was established in the team
  • A value-based engineering culture was established on the project
Block diagram: Implementation of best practices of development and testing in a distributed team by a JazzTeam manager

Approaches and solutions

  • JazzTeam manager’s proactive position. Proactivity and the desire to add value are important components of JazzTeam’s culture, and are what often make us stand out from other service providers. We deeply assess problems of a project, and analyze what is missing and what can be improved without compromising the productivity of developers. In this case, it was necessary to start implementing test automation, continuous integration, delivery, and competent test management as soon as possible. In addition to the main tasks related to the delivery of new functionality, the JazzTeam manager constantly focused on the practices that needed to be implemented and what results this could bring. They also communicated with the founders and the team. Our specialists conducted small studies to confirm the objectivity of our vision. This message was opposed to the management approaches of other teams working on the project. It took us six months to get the founder’s approval for the changes. However, the customer saw and appreciated our proactivity, and also gave their approval for the gradual improvement of processes and the technical side of the project.
  • Initiation of works on technical debt elimination. After receiving the customer’s approval, we gradually started working on the accumulated technical debt. We launched the following activities:
  • Implementation of continuous integration and delivery (CI/CD).
  • Creation of a framework for testing the application, which helped the team to start creating automated backend tests.
  • Coverage of all important functionality with UI autotests.

All innovations were introduced gradually in short iterations, and showed measurable, concrete results. This allowed us to constantly achieve small successes, which motivated the team to work for results.

  • Improvement and optimization of processes on the project. In addition to improving the project’s technical side, the following processes had to be improved:
  • Business analysis. Instead of a schematic, concise, and incomplete statement of tasks understandable only to employees with extensive experience on the project, it was decided to introduce a unified standard transparent for the entire team. This made it possible to integrate development and testing teams, ensure clearer acceptance, and significantly improve synchronization with the end customer regarding the desired result.
  • Quality control. Regular testing was to be an essential part of the project life cycle. We analyzed the existing problems with the product quality and encouraged the customer to expand the team with specialists in manual and automated testing. The testing process on the project was established and controlled by the JazzTeam manager.
  • Estimation of tasks. In addition to a clearer decomposition of labor costs into different types of work, a unified table of possible risks was introduced. Also, a list of task completion criteria (Definition of Done) was created for each type of work, which was necessary to organize systemic acceptance.
  • Scrum methodology implementation. Daily standups, regular demos, and retrospectives increased the level of synchronization of the distributed team and contributed to the achievement of a common understanding of current problems, statuses, and issues. The opinion of all project participants was heard and taken into account. This helped to improve the psychological climate and overcome learned helplessness of the engineers.
  • The introduction of Jira best practices improved the transparency of reporting and increased the level of project management.

Results and achievements

  • The team implemented best practices of development and testing. By applying the best approaches adopted as a rule in JazzTeam, we could extend our influence to the entire distributed team and significantly improve the situation on the project as a whole. Our initiative, skills, and successes were highly appreciated by the founders. As a result, the JazzTeam manager was asked to manage the entire distributed team.
  • A favorable psychological atmosphere in the team was established. Thanks to the introduction of Scrum principles, the project participants began to trust each other and openly discuss issues and complexities. Regular testing, planned deliveries, and honest, trust-based relations in the team helped reduce the stress level.
  • A value-based engineering culture was established on the project. Having assessed how small advances towards the goal help to achieve significant results, the engineers began to strive for product development and managed to overcome learned helplessness.

    Contact Us

    What happens next?
    1
    Leave your project request. We will contact you and schedule a call.
    2
    Signing of the NDA to ensure the project info confidentiality.
    3
    Negotiation of your request and the required services.
    4
    Team forming, coordination of workstages.
    5
    Contract signing and project start.