This week our team gathered together to discuss what Agile is and how the Scrum Framework could be applied to optimise the quality of work.
What is Agile?
Agile is a methodology for development of software based on an iterative approach, where the product is developed over the course of work through the collaboration of the team with people with different expertise. This means that the idea of the product could change over time, based on the constant feedback of the client, so it is flexible, with no fixed requirements. In comparison with Agile, Waterfall is much more strict, where you know what the finished product should be from the very beginning, as well as all the requirements, and it is difficult be changed later. Usually it takes a lot of time and is more expensive, and by the time the product is finished, it might be too old for the market.
Scrum is a Framework that is used for Agile. It is a structured methodology, where you can address complex challenges with changing status, while providing a product with high value and quality.
Scrum 5 Pillars:
Scrum is based on 5 main pillars. We need a commitment from the team, where planning and organisation are imprortаnt to establish trust with clients. Openness means that we need to be open to new concepts and asking for help when needed.You need to be focused on your own tasks and be confident to complete in timely fashion. We also should respect each other and of course have the courage to complete the work.
We discussed what are the main principles in the Scrum Framework.
- Empirical progress control: you can make changes over the course of work to change strategy based on the performance.
- Self organisation: you have to be responsible for your work as there is no direct management and supervision
- Value based prioritisation: there should be an ordered backlog depending on the value that the task it is going to bring to the client.
- Collaboration: you have to be aware of the other people and find ways to work together.
- Time boxing: the meetings is in a structured time and follow a timeframe.
- Iterative development: The product could change over time.
The Scrum Team usually comprises a product owner who manages the product backlog, a scrum master who is responsible for smooth flow of the work process and a development team which consists of developers, QA`s, u/ux designers, architectects and business analysts.
We also discussed what are the different ceremonies that the team should go through to optimise the work process:
- Sprint planning: discussing the backlog, tasks and goals,
- Daily scrum: discussing what was done yesterday and what needs to be done and what were the impediments.
- Sprint reviews: where all the finished items are reviewed and receive a feedback
- Sprint retrospective: reflecting on what were the problems and how to improve.
- Backlog refinement: discussing the items in the backlog.
After we discussed the main principles of Scrum, the team played a game where we had a chance to see the theory in practice. We had to pass a ball to each other, and the team completes it, when the ball is passed to each of the members. Over the course of the game we realised that communication is really important, as well establishing some rules, based on the lessons learned during the game.