Behind every JetBrains product, there are numerous teams: developers, product marketing (PMM), technical writers, designers and many others. Each team has established their own workflows to match their goals, working habits, and the team profile. In an earlier post, we described how the YouTrack team had been cooking Scrum and had managed to transform this methodology to find the most balanced approach that works for them.
Today, we will tell you how other JetBrains teams organize their processes, customize their Agile boards to meet the team’s needs, and what strategies can be useful to become a real chef at the Agile kitchen.
The JetBrains Design team creates all kinds of visual content for each of the 23 company products: their designs enhance our web pages, marketing materials, and printed matter.
The designers receive most of their assignments from the product marketing managers (PMMs) who often need them ready as soon as yesterday. Such a fast-paced process requires effective monitoring of new tasks and balanced distribution of them within the team.
The major goals for the Design team include:
- Efficient cooperation with all the PMMs
- Balanced distribution of the tasks
- Effective tracking of new tasks
- Task prioritization according to deadlines
The Design team has chosen a setup where sprints on the board correspond to the seasons: winter, spring, summer, and autumn. All new tasks are automatically added to the current sprint. Each designer has a swimlane of their own, and it’s only the Team Lead who can assign a task to a team member.
New issues automatically go to the top swimlane [we call it uncategorized cards] and the Team Lead moves them to a designer’s swimlane shortly after they are reported.
Every designer handles the tasks from their swimlane only, which allows the Team Lead to assess the workload of each team member at a glance and distribute the tasks accordingly. This approach prevents tasks from being delayed, and each task owner can easily track their issue in the designer’s queue.
This approach helped the Design Team to achieve good results:
- Workload balancing between the designers is greatly improved
- Tracking of incoming tasks has become much easier
- The process is transparent for the customers (PMMs)
YouTrack and Hub Technical Writers
At JetBrains, technical writers are part of the product teams. They not only handle end-user documentation but are also in charge of UI wording, screencasts, tutorials and other learning materials. Technical writers work closely with the developers, support engineers, and PMMs.
The agile board helps our technical writers to:
- Fit into the product release cycle
- Collaborate with the product team
- Visualize the scope of the product release
In our case, the technical writers’ team is represented by Scott Adams and Ekaterina Ivanova. They are involved with two products and prefer to keep their tasks in a separate project. Their sprints correspond to a product version and are not limited in time. Only the documentation tasks required for the release of a certain product version are added to the board.
Swimlanes are defined by the products and other Epics. They normally have a swimlane for all the YouTrack Documentation tasks and a swimlane for Hub Documentation. There might also be some general activities, like restructuring the documentation, which are reflected on the board in a separate swimlane.
Each documentation task is reviewed by a developer, QA engineer or PMM. This way we make sure that everything which is done in a scope of a feature is included in the documentation.
Documentation team results
- Documentation for new features is delivered on time
- Major efforts and minor updates are managed simultaneously
- The process is clear for the whole team
- The backlog of unresolved issues is greatly reduced
Cooking Kanban in CLion Team
The CLion team uses agile boards following a hybrid agile methodology which they call “Kanban-inspired”. It means that they follow some of Kanban practices with their own add-ons to support their development process.
CLion team goals:
- Plan and track the scope for an upcoming release
- Involve all the team members
- Manage workload at every development stage
- Visually prioritize tasks
The teams work with a Kanban board without sprints. However, tasks are combined into swimlanes by their significance (general and priority). Priority tasks go on the top and should be addressed first.
Seven columns reflect the stages of development. In each column (except for Done), there are restrictions on WIP (work in progress – the maximum number of tasks in the column). It helps the team visualize and control the workload at each stage. If the number of issues in progress exceeds the allowable value, the team do not take on a new task until they cope with the current load.
Prioritizing issues in the queue is an important part of the process for the team. CLion team organizes the queue during planning sessions and updates the priority on a regular basis. Planning sessions take place after every major release, normally 2 times a year. The team makes a preliminary agreement on the priority of each task and decides who will take it.
To automate the process, the teams employ the custom workflow set. For example:
The developer who has dragged a task from the backlog to the board automatically becomes its assignee. If a task is transferred to the QA column, it is automatically assigned to a QA engineer.
CLion team results:
- Every team member is involved in the process
- It’s easier to manage the workload in each stage of development
- Tracking work in progress is more convenient
- It’s easy to manage small tasks which might have been overlooked otherwise
As you can see, CLion team follows a hybrid agile methodology. They call it ‘Kanban-inspired’. However, it works well for them, which again proves the main concept of any agile methodology: there are no strict rules to follow. Being agile means being flexible and ready to continuously tune your process.
IntelliJ IDEA PMM’s Personal Board
Some of our colleagues at JetBrains choose the Personal Board setup to arrange their processes, which is a great way to know the ropes about a variety of projects, as well as to manage your own activity. Andrey Cheptsov, the Product Marketing Manager for IntelliJ IDEA, in addition to his own tasks, which are plenty, coordinates many other activities of the teams involved in the development and promotion of the IDE.
The Personal Board helps the PMM to:
- Interact with various teams.
- Follow all relevant marketing activities.
- Manage personal tasks.
Andrey has customized the board to his own needs: there are no sprints, and all the states are merged into a single column. The idea behind this is that Andrey cares about the tasks as long as they are on the board, not completed. When a task is completed and its state is changed to Done, it just disappears from the board.
The tasks on the board are combined into swimlanes by projects. There are separate swimlanes for the tasks assigned to technical writers, designers, developer advocates, event coordinators and others. As Andrey can be engaged with a task not only from his personal To Do swimlane, there can be tasks that are assigned to him in any of the swimlanes.
PMM’s Personal Board allows Andrey to:
- Easier to track high-priority tasks
- Get a birds-eye view of work in progress
- Conveniently manage tasks in multiple projects
- Spend less time searching for important issues
All these stories have common aspects that are not to be missed in the recipe for building an efficient agile process:
- You set the rules and agree to follow them.
- Each team member owns their work and feels responsible for it.
- Self-management is an essential part of the process.
- Any process requires continuous tuning.
- Tools should be customizable enough to fit your process, not the other way around.
To learn more about how various teams at JetBrains use agile boards and discover all the tips and tricks for configuring your dream agile process, watch our Baking Boards series of vlogs and blog posts.