Recently, I did some work with a SaaS company in Silicon Valley. Besides observing that they embodied the full stereotype of a silicon valley tech company– open space plan, game consoles, walking desks, fully stocked pantry, open wet bar, ultra-casual dress code, etc., I found a company that wasn’t “doing” agile.
They were living it. Being agile was as much a part of their culture as breathing is a part of living. Somehow, while ignoring most of the stuff one reads about how to do agile the correct and strictly adherent way, they manage to embody each and every part of the Manifesto for Agile Software Development.
What they are doing doesn’t quite fit the mandates of mechanisms like Scrum or Kanban, yet they meet regularly, prioritize backlog, and use a Kanban-like pull-based ticketing methodology to select and tackle work. They don’t Sprint, and have no formal Continuous Improvement program, yet they deliver working, deployable software in windows anywhere from a couple days to a couple weeks, and course correct when things go wrong, being careful to learn from their past.
How they are organized doesn’t quite fit the ideological agile team setup, yet all the agile roles get done. They have dedicated teams responsible for functional areas of the product; the “product owners” (who are also the functional team “managers”) do design and write code. The organization collaborates across teams and with the CTO on technology selection and architectural decisions, or they spin up a side project with available resources for short-lived R&D projects.
They have automated builds and code promotion process done as part of development, and have pushbutton deployment using run-of-the-mill open source tools. They are practicing continuous delivery and have testing built into the pipeline. They use a discreet testing/QA function to fill in the gaps where test automation didn’t happen, while at the same time working diligently to fill those gaps.
They don’t know what to call what they are doing, it’s not Agile, it’s not Kanban, it’s not Scrum, but it uses the best parts of all these things and it’s ingrained at a cultural level. They asked me what I would call it. We had a good laugh at the expense of the unfortunate term “Scrumban”. In the end, I call it, “Being agile, not doing Agile”.
The first statement in the values prelude of the Manifesto for Agile Software Development is, “Individuals and interactions over processes and tools”; the last one is, “Responding to change over following a plan”. This company embodies those values in how they work. Good advice for anyone planning an agile transformation, or to adopt agile in his or her organization.
The object lesson here, in case you missed it, is that agile is a way of life and a cultural mind-set as much as it is a set of processes and methodologies to use. If you want to truly “do” agile and reap the promised rewards, you have to be willing to “be” agile. That means you have to be willing to change your culture and not just train some people or put in some new processes and information systems.