Modern development requires a clearly structured process that allows you to effectively manage tasks, control code quality, and automate application deployment. At our company, we use a number of tools and methodologies to speed up development, minimize errors, and increase team productivity. In this article, we will tell you how exactly our process is organized - from the first stages of planning to the final release.
1. Planning and task management in Jira
The basis of our workflow is Jira, which helps us organize tasks and manage projects. We use Scrum and Kanban boards to distribute work and monitor progress. Our process includes:
-
Breaking down tasks into small, easily measurable stages.
-
Assigning people responsible for execution.
-
Setting priorities and deadlines.
-
Biweekly planning (sprint planning) and daily standups.
-
Constantly monitoring tasks using reports and dashboards.
2. Scrum and sprints in our company
We adhere to the Scrum methodology, which helps us structure the development process and achieve goals faster. Our workflow is based on sprints:
-
Sprints last 2 weeks.
-
Before each sprint, planning is carried out, where the team determines the scope of work.
-
Every day, daily stand-up meetings are held, where current tasks, blockers and progress are discussed.
-
At the end of the sprint, we hold a demo and retrospective to analyze the results and improve the process in the next cycle.
Scrum allows us to flexibly adapt to changes, increases transparency of work and helps the team communicate effectively.
3. Using our own GitLab server
To work with code, we use GitLab, but not in the cloud format, but on our own server. This gives us full control over repositories, data protection and the ability to flexibly configure CI/CD processes. At GitLab, we:
-
Manage code versioning and control branch merging.
-
Use merge requests (MR) for code review.
-
Set up automatic code checks and test runs for every change.
4. Automation with CI/CD
We actively use CI/CD to minimize manual work and speed up the release of new product versions. In our process:
-
Each push to the repository runs automatic tests.
-
If the tests pass successfully, the code is built and deployed to the test environment.
-
After code review and final checks, it is deployed to the production environment.
This allows us to quickly find errors and ensure product stability.
5. Logging work time with Tempo
To effectively manage team resources, we use Tempo to log work time. This helps:
-
Assess the workload of developers.
-
Analyze how much time it takes to complete specific tasks.
-
Plan future projects based on real data.
6. Code quality control with Sonar
Code quality is a key factor in development. We use SonarQube, which automatically analyzes code and identifies:
-
Potential bugs.
-
Security issues.
-
Code duplication and support difficulties.
This tool allows us to maintain a high level of code and minimize the number of errors in production.
Conclusion
We have built a process that allows our team to work efficiently and without unnecessary delays. Jira helps us manage tasks, Scrum and sprints make the work predictable and organized, GitLab provides version control, CI/CD automates deployment, Tempo helps analyze the load, and Sonar monitors the quality of the code. This comprehensive approach makes our development process fast, convenient and reliable.
Our team is constantly improving processes and introducing new tools to increase productivity. We are confident that this approach helps us create high-quality and reliable products, as well as effectively manage work processes in the team. In the future, we plan to implement new technologies and improve our development process to stay at the forefront of the IT industry.