January 4 was my first day at Codepamoja, despite been rained on in the morning during transit to the offices I was still excited. During our induction meeting our “boss” (Florence Ngugi) who I later learned the correct term is Scrum Master was describing all this terms such Sprint planning, Daily scrum, Sprint review, Retrospective among others. In my head am thinking these guys must like to do things quickly or in a hurry with all the sprinting.
Upon further research and practice in the past week or so I got to learn that Scrum is actually a method of Agile Software development a term that I was familiar with from school. It turned out to be a pretty interesting method to implement, I am yet to be a master but then again a characteristic of Scrum is one cannot be a master and it is a process of progressive learning that never stops. Scrum basically is a framework that is used for developing and sustaining complex products. The product in our case being a software. Scrum employs an iterative, incremental approach to optimize predictability and control risk.
The Scrum framework includes:
Responsible for maximizing the value of the product and work of development team
Responsible for creating an increment(function)
Servant and leader to the scrum team and is responsible for ensuring scrum is understood.
15 min stand up meeting carried out at the beginning of the day to give an overview of what was done the previous day and the plan of the day, and any impediments to attaining the goal.
Used to determine what can be delivered in the increment resulting from the upcoming sprint and how the work needed to deliver the increment can be achieved
Held at the end of the Sprint to inspect the Increment and adapt the Product Backlog if needed.
Inspect how the last sprint went with regards to people, relationships, process and tools.
Ordered list of everything that might be needed in the product and is the single source of requirements for any changes made to the product.
Visibility of all the work that the development team identifies as necessary to meet the sprint goal.
A sum of all the product backlog items completed during a sprint and the value of the increments of all previous sprints.
All members of the Scrum team have their roles clearly defined.
For further reading on scrum visit (slides.com/fngugi_codepamoja) and (scrum.org)
It is important to note that during a sprint:
– No changes are made that would endanger the sprint goal
– Quality goals do not decrease
– Scope may be renegotiated and clarified between the product owner and development team
Posted by Teddy Maina