I recently wrote about Scrum and the ceremonies that hold it all together. The list of ceremonies can seem a little abstract when you see them as a list, when actually, Scrum is the orchestration of a whole team working together to produce a result across several disciplines.
What does it all look like in reality? Take a deep breath, here’s the flow.
It all begins with the Product Owner, Business Analyst, and CTO. They work together to determine the strategic goals and features of the application. The Business Analyst identifies the features and breaks them down into work tickets that describe User Stories and the functional Definition of Done. The Lead Developer then adds technical details, such as infrastructure notes, requirements and important tests. They collaborate with the CTO to ensure the architecture and functionality align with their vision.
Meanwhile, the UX designer creates wireframes, which they check with the Product Owner and Front-end Developer. Once the wireframes are approved, the UI is fully designed and built into a prototype. The Project Manager organises User Experience testing and ensures everyone is on the same page.
During the refinement meeting, the CTO and Lead Developer brief the development team on the project. For new applications or significant modules, the team holds a kickoff meeting with all the developers and stakeholders on the call. This motivates the developers and allows them to provide feedback to the client.
The Project Manager and Lead Developer organise work tickets into the initial sprints. The Lead Developer decides which development team will work on which features if multiple streams are involved. A stream typically consists of a designer, a front-end developer, and a back-end developer. The key for streams is to reduce context-switching as much as possible. They work on one thing until it's finished, then move on.
The teams for each stream agree on the goal for the new sprint and the tickets to achieve the goal. Every day during stand-up, the team reports on progress, and the project manager and scrum master monitor the velocity of the sprint. When each ticket is completed, it's checked by another team member and then code-reviewed by the Lead Developer or another senior developer. It then moves to design review, followed by User Acceptance testing.
At the end of the sprint, all completed tickets are demoed to the key stakeholders during the Show & Tell. Each feature is either signed off for release or put back into 'ready for development' with amends to be made. The signed-off work is released regularly, usually to the same rhythm as the sprint.
That probably sounded like I was describing a set of plays in a game (scrum was named after the scrum in Rugby), and it is very much like that - a heavily-choreographed series of moves, with information passing from person to person, being refined as it goes, and with tasks completed before being passed to the next person.
With Scrum, everything happens in a cycle, so when the business analyst and project manager have completed their first cycle, they pass it on to the development team to work on while they begin their next cycle. It goes; CTO and UX designer may be working on cycle three, the business analyst, project manager, and Lead Developer will work on cycle two, while the core development team will work on cycle one.
This takes a lot of experience, a strong process and an aligned culture to get right. When it’s right, momentum is huge. We’ve experienced industry insiders express astonishment at how much we get done in such a short space of time at Remote. This is because we’ve improved and refined this process, and, like a rugby team playing a set piece, each team member knows what to expect, when to expect it, and what to do with it.
The beauty of so much process and discipline is that it provides an arena for creativity and innovation, just as the strict rules of a rugby match allow for players to stand out and perform in ways that make crowds go wild; without those rules in place, you would have a group of people gathered on the grass, and that’s not a rugby match, it’s a park. With the rules, goals are met, momentum is built, and quality, impactful work is delivered.
This is the essence of Scrum, and this is the essence of effective software development.