I used to play Wing on a Rugby team and I can tell you enjoying Scrums takes a certain type of person. All that hard work and effort and then you only move a few inches. Much better to wait out on the wing and spot your opportunity race down and score! (cue a long line of ex-team mates commenting that they don’t remember me scoring very often).
Scrum Methodology can feel like a real Scrum. Velocity tracking, story points, late nights before the Sprint Review – all these combine to making Sprints feel like a factory conveyer belt. We struggle with this a lot at the GDF. There are definitely times I can see we are pushing our valuable team members too hard and work is no longer enjoyable. So how can we make working at the Factory not feel like working at a factory? To be honest that’s an ongoing process but we have done some specific things already:
Allow for change
Having a good understanding of what you want doesn’t mean you can’t change your mind. We had to ensure Product Owners didn’t take our request for upfront User Stories as a refusal to allow change. A project without change is just a waterfall project.
After a team has been working together for a while they have a good idea of their capacity. We now try and ensure they don’t plan for all that capacity and they leave space for the unexpected. This can be bug fixing or maybe a toolchain outage, whatever happens the team needs to be able to react without working late into the night.
Technology knowledge matters
We want an empowered team but that shouldn’t mean we don’t value experience. Scrum advocates for teams to make all the decisions internally. While this removes friction it also undervalues the knowledge of the organisation. We allow the teams to drive design but we have a senior member of the architecture team embedded who will ensure quality and identify those decisions where outside help might be valuable.
Redesigned our QA process
Previously our QA Engineers developed all our automated tests. As Automated Tests are part of our Definition of Done this quickly led to a backlog of Pull Requests and an inevitable late night before the Sprint Review. Now each developer is responsible for creating automated tests for the feature they have built and this counts as their test Definition of Done. Then our QA Engineers combine these partial tests together into larger E2E tests. This has nearly removed the last minute integration rush and put us back on the track of doing real continuous integration.
We are starting to see progress and in general the teams seem happy with the process but there is more to do…