When the customer contacted JazzTeam, their company was in the development stage. The founder sought to enter new markets and actively build up new functionality, however, by that time their development team was unable to evolve the product and had been only engaged in software support for several years.
The reason for this state of affairs was that the project began its history as a startup aimed at rapid growth. Initially, best practices of development and testing were not implemented and task formation processes were not established. At first, this approach provided the necessary results: all the team’s attention was focused on developing an innovative solution that really could become a breakthrough in the market. But over time, the usual approach brought the team to a point of no return and bugs accumulated in the product, sprint tasks were formed inconsistently, and releases were constantly delayed. For further growth, it was necessary to completely transform the team culture and transfer engineers from support mode to creating new business functions, eliminating technical debt, and implementing CI/CD practices, processes of testing, and delivery management. This required the involvement of a strong administrator, whose role in this project was played by a JazzTeam manager.
- As part of the project management service, the JazzTeam manager controlled the development process, created new departments, and introduced new processes in the company, while also playing the role of a delivery manager.
Block diagram: Building IT processes for a startup developing a knowledge-intensive application
Approaches and solutions
- Establishing communication and relationships between the team and the company owner. The JazzTeam manager began holding Scrum events and daily standups, and demos of new product versions began to be held on a regular basis. Introduction of retrospectives facilitated an open dialogue and the achievement of a common opinion between the team and the customer.
- Structuring and optimizing the processes of requirement collection and task formation and setting. Based on the customer wishes collected by the team, a workflow system was created and the process of requirement handling and converting them into tasks was adjusted. New business analysts with a scientific background joined the team. Time was also allocated for additional scientific research. This approach made it possible to formulate more specific and accurate requirements. As a result, tasks for the development team had the Definition of Done criteria and the engineers were able to independently perform their decomposition and estimation.
- Introducing professional approaches to using Jira.
- Changing the culture on the project and working closely with the team mindset:
- Team self-organization through retrospectives.
- System work on overcoming learned helplessness.
- Use of a special methodology to track the effectiveness and success of the team.
- Introduction of the practice of writing documentation by engineers.
- Weekly demonstrations of the team’s work results.
- Implementing best practices of development and testing:
- Implementation of continuous integration and delivery (CI/CD) to reduce the human impact and improve the testing process.
- Introduction of the practice of mandatory Unit test writing by developers.
- Organization of test management and creation of test plans for manual and automated testing.
- Implementing release planning. Implementation of the practice of regular sprint planning and backlog grooming. The team started performing a preliminary analysis to determine the next release date.
Results and achievements
- All managerial experience on the project was documented and handed over to the customer in the form of manuals. This allowed the company to further develop its project management department. The same approach was used to create automated and manual testing departments.
- Work on technical debt elimination was established. Regular, manual, and automated testing, as well as continuous integration and delivery were introduced.
- The team’s productivity increased significantly. After 3 months of cooperation, the customer’s development team began to reduce technical debt, use and accumulate best engineering practices, and maintain the necessary documentation, while also increasing the speed of creating new functionality.
- Scrum methodology was implemented. This made it possible to establish regular communication, accelerated the development process, and made it clear, transparent, and manageable for the customer.
- Releases were set up. Deliveries were on time, with new versions of the product being developed twice as fast as before.
- A value-based approach to the development process was formed on the project. The psychological climate in the team improved and the motivation to overcome learned helplessness increased. Toxicity was significantly reduced and a healthy working atmosphere was created.
We are always glad to interact with you!