The YouTrack team has been practicing Scrum for several years. We decided to switch to Scrum six years ago, when we started to develop an agile board in YouTrack. Since dogfooding is a core concept at JetBrains, we decided to adopt a Scrum practice ourselves and develop a tool for customers that conformed to the main principles of an agile framework.
So, as our first Scrum Master told us, we started with a physical board. As we developed our agile board, we ported the physical board to YouTrack. After a while, we realized that we are happy with Scrum, and went further with our transformation. We tried various practices and variations before we found the most balanced way to work. I emphasize, there is no universal approach that works for everyone. In this series of blog posts, I describe how we do Scrum in our team so you can decide if it might work for yours.
Let’s start with our goals and expectations for Scrum:
- Build a fast-moving, iterative process.
- Share daily status updates.
- Improve collective code ownership.
- Deliver updates continuously during short intervals.
- Switch to shorter release-cycles, ideally every two weeks.
- Improve our team collaboration and progress visualization.
- Get feedback at early stages of development to be able to react immediately.
- Become flexible enough to modify features on the fly.
Here are the main steps we took during our Scrum transformation:
- Defined basic scrum roles.
- Created and prioritized our product backlog.
- Defined procedures for estimation and planning.
- Configured our scrum board.
- Scheduled the first sprint.
- Performed sprint planning.
- Started to do daily stand-ups and track our progress during the sprint.
- Performed sprint demo for the whole team at the end of the sprint.
- Deployed and released completed user stories.
- Performed retrospective.
- Continuously repeated steps 5-10, improving our process with every sprint.
After the major release we also perform a big release retrospective, where we discuss the current process and suggest improvements.
Just as an example, here is how our Scrum Board looks during a sprint:
And here’s how our Scrum transformation increased the velocity of our team over the past year. These charts show the number of user stories we burned down in one of our early sprints compared to a sprint that was scheduled one year later:
In this series of posts, I cover every step of our Scrum transformation in detail. Each post is dedicated to a single step. I describe the various options we tried for each step and share our results and experiences. Most importantly, I describe how we tuned YouTrack during our Scrum transformation.