At XOAP we use elements of SCRUM for all of our software development projects.
The official SCRUM guide can be found here. From this we try to follow the these aspects:
Have a common standard for all aspects that are shared amongst people. Eg. Definition of Done has to follow a standard defined by the team to ensure that those that work on a feature have the same understanding of “done” as those that inspect that feature. The team makes open and completed work transparent to each other and stakeholders (e.g. with an accessible, fully estimated backlog).
The team inspects their work progress frequently to ensure that no unwanted discrepancy develops during the sprint. At the same time, the team ensures that inspection is not performed so frequently, that it gets in the way of the actual work to be finished in the sprint.
If the inspection identified a discrepancy that requires adaption, it will be taken up by the team. There are 4 formal events that help to inspect and adapt, but it can happen at any time during the sprint outside of these events, too. (e.g. in code review).
- Sprint Planning
- Daily SCRUM
- Sprint Review
- Sprint Retrospective
Following the below values and living them in our daily work, an environment of trust for each other will be build. That is the most difficult part and the essential foundation to work in an agile team setup.
Everyone personally commits to achieving the goals of the team.
Team members have the courage to do the right thing and work on tough problems.
Everyone focuses on the work in the sprint and the goals of the team.
The team and its stakeholders are open about all work that has to be done and challenges that come up.
Team members respect each other to be capable and independent individuals who all work on the same goals.
We use the same roles that are described in SCRUM.
- Product Owner
- Development Team
- Scrum Master
In a SCRUM setup, a development team is at least 3, but should not be bigger than 9 people - according to a global research, the team size in which a team will work most efficiently is 5 people.
We are working in a sprint (time box) of 2 weeks for every iteration. We are using the official SCRUM events and adjust them slightly.
We are using the classical SCRUM artifacts, but have an additional dimension to store the product requirements.
- Product requirements - In Microsoft OneNote
- Product Backlog - In Azure DevOps
The Product Owner is responsible for the quality of the product backlog and has to ensure that the following criteria are met:
- It should at any point in time transparently reflect the estimated work that has to be done
- It should be ordered according to priority. Highest priority items are on the top
- The items at the top are clearly defined and ready to be taken into the next sprint, the items more towards the bottom are roughly sketched out
- pProduct backlog items that shall come to work next, have a reasonable size and can be completed in one sprint
Definition of Done
The definition of done is a common agreement of the team as to what has to be done to make a piece of work done.
- Story can be released
- Story is unit tested
- Story is integration tested
- Story was successfully tested on QA and marked as “Ready for Production”
- Release notes were updated
- No additional technical debt was created
- Customer acceptance tests were successful
- FAQ for new feature was updated
- User documentation updated (e.g. in app guidance is up to date)