I think there is one issue which is often neglected in agile transitions in favor of discussing about roles, responsibilities and processes: The technical basis for the work and the core requirements for successfully delivering high quality software to the customer
Scrum is often seen as a kind of value generation engine. I believe there is much more to Scrum, but it is certainly correct that Scrum does work like an engine which is fueled by requirements in the shape of user stories and which – through the time, expertise and motivation of the team – produces valuable output in a reliable cadence. However, it is important to remember that even the best engine needs oil to run smoothly, and I believe that this oil is represented by a certain basic technical groundwork. More specifically, I am referring to a functioning continuous integration pipeline and a solid set of well-maintained regression tests (both unit tests and system tests).
Without this groundwork, the Scrum engine will sputter and stall. It is inconceivable that a team can deliver high-quality software in a reliable cadence if it runs into problems every few days that often take several days to analyse and fix. I actually saw this kind of issue in the first agile transition that I witnessed. The coach in charge of the transition was told that we could never run two-week sprints, because it could easily take one week to integrate a finished change into the software due to various deficiencies in the development environment. Based on what I know now, I believe that at this point, the coach should have told the management to put the agile transition on hold until these basic problems are fixed.
In fact, if I were put in a hypothetical interview situation where I am told that the company only has the budget to either hire a Scrum Master or to introduce a decent continuous integration system and to write unit tests, I would gladly say „Ok, then let’s end this interview, and please take care of the technical issues first.“ I would do that, not because I am an altruistic person, but because I know how difficult my life as Scrum Master would be without having the most basic technical requirements in place to reliably deliver value to the customers.
I believe technical excellence is often underestimated in the agile world.
In fact it is probably necessary to enable agility: https://vimeo.com/79106557
LikeLike