We end up spending years tweaking rules and processes trying to "do Scrum right" and get things to actually neatly fit into predictable sprints, and it never seems to happen, and nobody ever seems to be happy, yet the people in charge seem unwilling to try anything else.
I can't help but suspect that this is all just a silly fad, and everyone is just stubbornly sticking to it because "it's what everyone else uses" and therefore feels politically safe. But, I'm trying to keep an open mind, and of course it's possible I've just had a string of bad luck. Has anyone actually seen Scrum work well? Is there some make-or-break factor that everyone is missing here?
I work in a portuguese bank at almost 2 decades and now we use Scrum and Kanban.
For the sake of clarity when I talk about Scrum in "my bank" I use two epochs: - b.s. (before Scrum) - a.s. (after Scrum)
Before Scrum we work hard and we dos many things, but we didn't measure nothing so we didn't learn.
After Scrum, we work hard, we build, measure and learn.
We have performance indicators, we know where the botlenecks are, we know a team velocity and how many Functionalities IT deliver in racha month/year. We can compare the performance with other years. We can learn with our mistakes because we have data to prove it.
Scrum have disavantages, but in my humble opinion working without Scrum is a lot worse.
It is not a product management framework that should be used to manage inch/milestones and the like.
As soon as some sort of top-down control is (almost invariably) applied, it breaks Scrum. And most organizations want top-down oversight and control, not a high-performing team that may be resistant to organizational processes that negatively impact product development while satisfying other organizational needs (like LOC metrics or something else equally pointless).
Scrum is just empirical process control and improvement. The iterations aren't just to do the next thing on the backlog, but to improve the team's ability (and speed) to create working software that satisfies business needs.
The main reasons I have seen scrum fail are:
1) The organization implements a layer of management on top of Scrum that "won't effect it", but it does, because if you don't understand Scrum/agile, modifying it usually won't have the desired outcome.
2) Inexperienced Scrum Masters who act as a team leader, when their actual defined role is that servant coaches whose goals are to protect the process from interference and the team from organizational intrusion during sprints.
3) The transparency required for Scrum to operate reveals inefficiencies or actual malpractice at higher levels, and those levels are protected by management, creating a roadblock that cannot be passed.*
As you can tell, yes I have drunk the Kool-Aid, but I have seen Scrum (and other agile implementations) drastically improve performance and software quality, but you have to have buy-in and support from the highest levels to make it a success. When the process meets a roadblock that cannot be removed, it kind of kills the whole thing.
* Personally, I have seen it reveal:
- VPs who are actively preventing projects from succeeding (but who are protected by their level), - Rockstar (cowboy) coders whose poor development practices (no source control, no testing, code in production) negatively impact the rest of the software teams, but as they are the CEO's buddy, nothing can be done to address the behavior, - Database teams who successfully blame their errors on software development teams, because the Director of DB is a buddy of the President, so his word is taken over actual evidence
I tried hard to find out why it worked for them and not for the other teams, but was never really able to figure it out.
I have since returned to software dev because the fact is I love coding and development but I try to minimise the time I spend working for companies by only working short term contracts while working on side projects inbetween jobs. If one of my side projects becomes successful and I end up hiring developers then there is no way in hell I will be forcing the horrorshow that is Scrum on them. Yes, yes I know "thats not real Scrum", but that doesn't change the day to day reality of working in teams that follow Scrum, or "Scrum".
Was what you did before working better?
What comes out of your retros?