Practically every IT and engineering organization is looking to optimize their software development processes, and as a result the industry-wide transition to Agile development slowly continues. I have seen Agile transform the delivery of technology in some organizations; unfortunately, I’ve also seen some organizations backslide because they make major mistakes in its implementation.
I’ve talked with people in development organizations who claim Agile is working well while comments from other stakeholders around their business assure me it isn’t. Just because work is organized into two or three week iterations, daily stand-ups are conducted and user stories are created and tracked in Rally (or some other tool) doesn’t ensure Agile is “working well”. I have been surprised recently to hear people claim Agile success when they have very few users involved. Yes, being efficient is imperative to the Agile process, but without daily collaboration involving all parties, how are you to determine what the end user needs?
Business people and developers must work together daily throughout the project.
At its root, the transformation from Waterfall development to Agile development is about moving from a comprehensive, time consuming, requirements development phase up front (ultimately packaged into a requirements document to be “signed off” on by users) to a documentation-light, ongoing prioritization and definition of requirements. The only way this works is to have users heavily engaged throughout the process, seeing the product as it is built. When I hear that a company is implementing Agile except for the user story workshops and user reveals/demos… I’m very concerned.
I’m so concerned that I’d suggest these companies go back to something more “Waterfall” or “Iterative” unless they can get true involvement from their users on a daily basis. Otherwise, the developers might be having more fun and “feel” more productive, but they are less likely to be driving business value from their technology investments than they would be with a more traditional approach.