Dear Readers – Below is my response to a question posted on Quora.com by an Agile Leader who is thinking about using Agile methods in a "waterfall" environment - which can mean different things to different organizations, which I detail below. Regular users of Quora.com know this social media platform as a place for high-level discourse about engineering strategy and software process improvement, and the conversation has been especially thought-provoking recently. Enjoy! ~ the CMMI Appraiser
Dear Quora User,
The agile community has done a great job at defining and branding agile frameworks like Scrum and XP, although technically, they’re not methodologies. But they do provide great guidance for how to do things, what the roles are, and in what sequence actions are to take place.
“Waterfall,” is more ambiguous. There really isn’t a “waterfall community,” or a methodology that is called waterfall - although it is generally thought of as phased, task oriented, and planned for the project duration. Because of its use of project managers, strong oversight, metrics, and reporting, it’s often thought of (by agilistas anyway) as “low trust,” where “agile” is thought of (by agilistas) as “high trust,” due the the focus on self-organization and relying on the people who are doing the work to make important decisions.
A lot of people think they are implementing “agile” by adopting some techniques (ceremonies) such as the daily standup, or using a structure like a backlog for requirements. Some implement a tool like Jira (Atlassian), or TFS (Microsoft) and then call themselves “agile.” In the real world, “Agile” is a philosophical approach to running an organization based on a set of core values that include things such as “Transparency,” “Collaboration,” “Fail-fast” and others. Once an organization establishes their values (and people subscribe to them), then a set of methods, tools, and frameworks are established that align or trace to them.
For instance, “daily standup” traces to transparency and collaboration. “Sprints” trace to “fail-fast,” and so on. Scrum and XP are good examples of frameworks that have done a good job of aligning with agile values. Opinions vary, but there a some people who say SAFe (Scaled Agile) doesn’t do as good a job - one reason it is resonating so well with the government!
So, if by “waterfall” you mean “low trust” and “command-and-control,” you can use all the agile ceremonies you want, but you’ll struggle and not get a lot of value from them. If you mean that your work is “phased” with project mangers, and you have a strong culture based on agile values, you “are agile,” although you are not using Scrum or XP (for example). It’s possible to use waterfall techniques and still be agile, although it’s not very common in the industry. It’s also important to realize that Scrum does not equal agile, although it is a manifestation of agile values, if implemented properly.
If you choose to run a project using “waterfall,” but you want to encourage teams running their sub-projects to use Scrum, you are free to do that (in fact, I recommend it), but it all starts with leadership, who need to demonstrate a culture of agility and ensure the values are adopted by the organization - regardless of the techniques you use.
Like this blog? Forward to your nearest engineering or software leader!
Jeff Dalton is a Certified SCAMPI Lead Appraiser, Certified CMMI Instructor, author and consultant with years of real-world experience with the CMMI in all types of organizations.
Visit www.broadswordsolutions.com for more information about engineering strategy, performance innovation, software process improvement and running a successful CMMI program.