IMO, Scrum by the book is mini-waterfall. You have up front planning instead of just in time decision making. You have a push model of working where scope and schedule are fixed every 2 weeks. You have a choppy workflow that inherently leads to natural behaviours of throwing things over the fence from Product to Engineers to QA.
I do think Scrum is a great transitionary step, but as others have said, regularly examine what aspects are providing value to your team in their context within your business.
I personally like optimizing teams around cycle time and a pull model of working. This naturally leads to a few behaviours that are beneficial. Humans are ####ty multitaskers. Limiting work in progress lets everyone be more focused and produce better work more efficiently. It also leads to flow. You don't want work waiting for someone ever. The shorter the time from a design decision to QA sign off means less to keep in people's brains and a higher chance of a team delivering a feature with shared context and ultimately delivering the intended business value.
Nothing is perfect. Every team has different needs at different times. An effective introspective framework is critical.
The biggest challenge is almost always the broader organization and their approach to budgeting. Investments should be made in delivering value to customers vs. sanctioning projects with defined endpoints. Decisions should be made as late as possible with as much recent information about your customer as you can get your hands on.
|