At Bloomy we use the agile scrum process to deliver the highest business value to our customers in the shortest amount of time. Scrum allows us to deliver working software to our customers at the conclusion of each two week sprint so that they can interact with the software and provide feedback for the next iteration. Ceremonies that encourage open and honest communication are central to the scrum framework and help to expose assumptions early by frequently incorporating customer feedback.
At the start of the project our lead engineer works with stakeholders on our customer’s side to define the desired feature set through user and epic stories. Working closely with different members of the customer team allows us to understand the motivation behind the user stories at an early stage. This process also makes it easier to identify to whom we should direct questions throughout the scrum, further reducing our number of assumptions. The resulting user stories are then compiled into a backlog, which will act as a living list of features, bugs, technical work, and knowledge acquisition that will take place throughout the project.
It is also at this early stage that the lead engineer works to implement the architecture within which the development team will work. The architecture is created with one of our reusable frameworks, enabling everyone on the development team to get up and running on feature implementation quickly.
The team conducts several formal ceremonies throughout the sprint process. Before each sprint, the team takes part in the sprint planning ceremony. During the sprint planning ceremony the product owner on the customer side identifies a goal for the sprint and then sorts the backlog accordingly. The development team then commits to completing a fixed list of stories, creating a sprint backlog.
Throughout the sprint, the development team meets every morning for a daily scrum meeting. In the daily meeting each team member answers the following questions, “What did you do yesterday?”, “What will you do today?”, and “Are there any impediments in your way?”. The daily scrum serves two main purposes; it highlights the commitments that the team members of have made to each other, and it identifies impediments preventing team members from meeting their commitments.
At the end of the sprint a sprint retrospective ceremony is held and all stakeholders from both the customer’s and Bloomy’s side are invited to attend. The sprint retrospective showcases what the team accomplished throughout the sprint, and allows the team to identify successes and areas for improvement. Lessons learned are then applied to the next sprint in an effort for continuous improvement.