Could you elaborate?
Could you elaborate?
This creates a confusing code-base with lots of IF statements, copy/pasted code, data modifications from several areas of the system, etc.
You'll fix a problem with data getting into the database incorrectly and realize a couple sprints later, fixing that bug caused other bugs elsewhere.
Automated testing doesn't catch it because automated testing only handled certain scenarios.
It's a mess.
Well there's your problem. How is that inherent to scrum?
Besides tech debt, a concern I have that I don't see brought up is burn out. With Scrum, every action you perform is micromanaged and with a push for "high velocity". There is no proverbial breathing room in this where the pressure lets up. At least with waterfall (for how we did it before Scrum), the windows of high pressure times were shorter. During the beginning of our 6 month waterfall, in parallel to spec work we'd be taking care of tech debt or implementing our pet feature and it was a time of mental recovery.
In a perfect SCRUM world you could not be forced to implement this in a time not of your own estimate. A feature that is so big that it takes more than a few days to implement has to be split...but well we all know how this plays our in reality most of the times...
There is something odd with this, if you did the estimation. Shouldn't the story points/sizing/estimates preclude this?
Doesn't the team pick the items for the sprint that they think they can complete?
Refactoring stories were also rare, it was just sort implicit in the task, unspoken as part of doing it.
I'd imagine that is why they did not get cut.
But yes, management picked feature priorities, but left the implementation up to the team. So at any given time were were working on the "most important" thing from a business perspective.
While it "works" it is certainly not ideal that people have to go off the reservation to ensure that the project doesn't implode in the future due to the accumulation of buggy code, performance problems and likely security vulnerabilities.
That's not breaking down a story into smaller stories though, that's simply not doing some of the tasks necessary for a story to be complete. "Story" is not a synonym for "task"; a story is user-centric not about internals. "Write the documentation for this feature" is not a story and "write the tests for this feature" is not a story, they should be part of your definition of "done".
Then they ask us why there isn’t any progress.