Baking Boards or the secret ingredient in the perfect Agile cuisine
Hi, Habr! Today we’ll talk about how different teams in JetBrains “prepare” Agile and work with Agile boards.
There are a lot of teams behind JetBrains products: food, marketing, technical documentation, design and many others. Each team has its own process, depending on the goals, resources and features of the team itself. Using our company and YouTrack product as an example, we will talk about how flexible the processes are, how to find the right one for your team, and how to set up your Agile board.
How Scrum “Prepares” YouTrack Team
Let's start with a description of the goals that the team has set itself, implementing this or that process. In our case, the goals can be formulated as follows: ')
Go to the cycle of permanent releases: major release every 2-3 months.
Speed up the development process.
Improve the quality of the code (in the framework of permanent releases).
Involve all team members in the process.
Our team practices the Scrum methodology with some additions. Sprints last two weeks. We start work on the sprint with planning, and after two weeks we carry out a demo and retrospective. Planning consists of two parts: the general, where the whole team is present, including marketers, technical writers and those of engineers. support, and technical. In the framework of the general part, we discuss the stories that we are going to take for the sprint, and in the technical part, the programmers break them down into subtasks. Every day we hold a stand-up where each team member for a minute talks about what he is working on and raises a discussion question, after which we look at the state of the tasks on the board and discuss the issues that have arisen.
The columns on the board are broken down by task state: open, in progress / to be discussed and fixed. If the task is in progress for more than three days, we break it down into subtasks. We introduced this rule so that the developer does not “hang” on the task and move on. Every day we receive requests in those. support To monitor progress on those that require the attention of developers, there is a separate swimlane on the board for requests from users.
We plan tasks in backlog. In YouTrack, backlog is a saved search that you can open directly on the board and prioritize tasks manually. Due to the fact that the whole team is actively involved in the process and monitors the state of the tasks on the board, we manage to prioritize them correctly, promptly solve user problems, fix important bugs and develop new functionality. The transition to the cycle of permanent releases allowed us to receive feedback from internal and external users at the very early stage (as part of the experimental functionality) and make the necessary changes at the design stage, and not after the release.
How the design team creates materials for 23 products
This is a design team that provides a visual representation of all our products on the market, starting with the website, marketing materials, and ending with printed materials. UI / UX designers are part of the product teams and are part of their processes. Most designers get assignments from colleagues (PMM) from product teams who need to design something, preferably yesterday. In this process, it is important to track the arrival of new tasks and evenly distribute them within the team.
Goals:
Interact with all product teams.
Distribute tasks evenly.
Keep track of new tasks.
Prioritize tasks depending on the deadline.
The sprints on the board correspond to the seasons: winter, spring, summer, autumn. All new tasks created automatically get on the board for the current sprint. Tasks are combined in svmleyny on team members. Only the team leader can assign an artist to a task. This rule is implemented using custom workflow. Thus, the new task first falls into the swan-lane uncategorized, and “swims” into the master-lane of a certain designer, as soon as he was appointed as the performer.
Each designer works within his own profile, and the manager, looking around at the board, assesses the workload of each employee and evenly distributes the tasks. Thanks to this process, tasks are not delayed in the open state and are completed on time, and each customer can easily track the place of his task in the designer's queue.
How do the YouTrack and Hub product marketing managers work?
JetBrains marketers interact with many colleagues from different teams. To keep track of your tasks, you need to keep about 20 projects on the board: marketing, design, localization, web, analytics, internet marketing, and so on.
Goals:
Monitor your tasks in different projects.
Time to give feedback to performers.
Prioritize tasks depending on deadline.
A marketing board is a set of tasks from 20 projects that are combined into teams on various activities. For example, product release, advertising campaign, research, blog series, posts or videos, etc. We use the State field values from various projects as columns. Since the set of states may differ from project to project, you need to add to the board all the values that are important to track, and then combine several states into one column. Thus, we have 5 columns on the board. Svimlejny we define the type of task. Each task of type Epic or Feature forms a swan lane. Tasks that do not belong to large-scale activity fall into the bottom of the board (uncategorized cards).
When colleagues from other projects start working on our task, they change its state, the task moves around the board and we monitor its progress. If feedback is needed or the task is completed and waiting for verification from our side, it is transferred to the state in review. Thus, work on tasks becomes more productive and we do not “pull” our colleagues once again. For us, the key point is the visualization of our activities: at each moment in time, we can clearly see what has been done and what remains to complete each activity. For example, looking at the swan lane with an advertising campaign, I can immediately say that we lack only banners to launch.
How Kanban Prepares CLion and AppCode Commands
These commands adhere to the Kanban methodology. Their processes are very similar to each other, because in many ways their tasks overlap and the same employees work on them.
Goals:
Schedule tasks in terms of frequent releases (3 times a year).
Involve all team members in the process.
Manage team load at all stages of development.
Visually prioritize tasks.
Teams work with a Kanban board without sprints. However, tasks are grouped together in task priority priority (general and priority). Columns reflect the stages of development. Task scheduling is done in backlog, and their priority is discussed on daily stand-ups. Each column has WIP restrictions (number of tasks in a column). This helps the team to control the load at each stage and to visualize the problems with the load at each step. If the number of tasks exceeds the allowed value, the team does not begin work on new tasks until it can cope with the current load.
To automate the process, teams use a set of custom workflow. For example, if a developer dragged a task from backlog to the board, he is automatically assigned to execute the task. If the task goes to the QA column, then it is automatically assigned to the QA engineer.
Personal board of product marketing manager IntelliJ IDEA
Goals:
Interact with various teams.
Monitor your marketing activities.
Manage your own tasks.
Andrei, like the rest of our PMM, needs to keep track of the tasks in many projects in order to coordinate various activities to promote IntelliJ IDEA.
The tasks on the board are merged into the svlemyna on projects. There are no columns on the board; more precisely, all the task states are combined into one column. You can customize the board in this way by selecting the “Personal Whiteboard” template.
Andrei also uses Chrome’s “YouTrack Tweaks” extension, which allows you to add fields to the card and color them in different colors. The extension also allows you to use the board in Darcula mode. Cards are not moved around the board, but simply present on it until the task is completed. Completed tasks just disappear from the board. This process allows you to focus on open tasks and track progress on their tasks in different projects.
So, what rules should be followed to adjust the process in your team? What do all these examples have in common?
Agile is a game, and we all love to play. In this game it is important to establish the rules and be sure to follow them.
Agile involves each team member, provides an opportunity to influence decision making and improve the process. Participation in decision making imposes responsibility for the decision, to one degree or another. This makes it more serious about their work and the work of the team as a whole.
Each member of the Agile team is able to organize themselves.
Agile process is very dynamic, it can not be fixed, and you need to constantly improve.
And remember: the product you choose to manage your tasks must be flexible enough to fit your process.
If you are interested in the topic, then you can read the entire series of articles or watch a video with detailed instructions for setting up boards in our blog .