Applying scrum in a work scenario
I am a software PM and the company I work for has recently moved from waterfall to scrum so I am trying to understand how to apply it in different scenarios as no training was offered so far.
We currently have a delivery in the build phase which is running late by a couple of weeks. The issue is due to unclear requirements and technical specs not signed off by the client. This will no doubt have an impact on the go live date. We only have a team of developers that's shared by all departments so demand is high and it's almost a game of first come first served. Can the project still be saved using a scrum approach? do teams typically work together or in parallel (ie. development and testing) to catch up? can the system testing/training and user acceptance testing be combined? any other suggestions?
Also if anyone knows where I can find some scrum/SAFe case studies that I can study it would be much appreciated.
I see two problems. Organizationally, you do not have enough developers or developer teams to support all of the products or projects that the organization has accepted. If this is leading to context-switching, you're greatly diminishing the ability of the teams to focus on one problem and design and deliver high-quality solutions. There's also a problem of unclear requirements, which is leading to solutions that don't meet the needs of the client.
You'll need to solve the problem of not having enough people or teams to support the work before you can see any other gains. One of the principles of Agile Software Development is that you "build projects around motivated individuals" and then "give them the environment and support they need, and trust them to get the job done". Right now, you don't have projects or products built around people, but people working on lots of different things with a lack of focus. This isn't an easy problem to solve but is essential if you truly want to follow the path of agility.
Once you've solved the problems around organizing people and teams to enable focus, the Agile methods in general, and Scrum specifically, may help when you have unclear requirements. Instead of relying on specs that are signed-off by the client early, the team frequently shows working software systems to the client to obtain feedback. Since this happens frequently, you can make adjustments to the system under development to deliver the most important changes in the next iteration. Whether you can "save" the project or not depends on how far the system is from customer expectations and needs and how far away you are from the expected delivery.
Some of the other questions you have about teams working together or combining different activities aren't clear to me. In Scrum, teams have all of the skills needed to delivery potentially releasable software. Testing happens within a Sprint, alongside development and preferably without having subteams and handoffs between a developer and tester. Combining activities depends on your team's relationship with external entities and the Definition of Done, along with what those specific activities are.
the company I work for has recently moved from waterfall to scrum so I am trying to understand how to apply it in different scenarios as no training was offered so far.
We currently have a delivery in the build phase which is running late by a couple of weeks.
If the company has "recently moved from waterfall to scrum" why is there a "build phase"? What purpose does it serve? Aren't increments of immediately usable quality being built every Sprint?