“Scrum brings the customer and the development team together as often as every sprint. Because the customer is involved throughout the development process and is consulted once per iteration, the team can never deviate very far from the customer’s vision.” says Laszlo Szalvay in his recent Better Software Magazine article on SCRUM in which the author does an excellent job of providing an overview of SCRUM.
Personally, I couldn’t agree more and I think he nails this key point about SCRUM. I suspect that most of you will be aligned with this too.
As an application development practitioner from the “old days” for me, iterative development and continuous business user involvement is the ultimate Agile truth – it’s the best way to keep projects on schedule and deliver a high value solution.
But now for the real question about customer involvement: What happens when you don’t have the right customers involved?
Last week I was discussing an Agile project with one of our OutSystems Engagement Managers and he described this exact issue. The team was very excited to tackle this project using Agile methodology as it was going to be the first for this particular client’s business area. The business was on board, trained on Agile and they had the full support of the management who were committed to participating in planning user stories, each sprint demo, backlog settlement, etc.
The problem was that the supervising managers were not the ones who would use the application on a daily basis and were somewhat out of touch with the processes and issues on the ground. What happened? The management team met with resistance from the guys in the trenches about the initial app – and then what? …they changed their minds about the functionality. Ultimately this proved to be a positive experience as the Agile and SCRUM-based approach they used caught the mismatch early and the resulting app was accepted. So, the lesson here : beware – management participation is critical but you also need the real end users to make sure you don’t get too far off track!
Have you come across this type of issue on your Agile projects? How is Agile helping your projects deliver better software?