My theory which is mine. (Thank you Monty Python.)
It's only a theory and I haven't developed a test for it yet. Though I'd like some suggestions on how to do so.
My theory is: iterative development + daily stand-up meetings + frequent retrospectives +a culture that supports learning = eventual invention of a home-grown fully Agile approach.
The extended version: IF you have a project and a project team in an organizational culture that supports learning, and IF the project team is made up of people of good will, doing their "prime directive best"* on an ongoing basis, and IF the project leaders (coaches, engineering leads, PMs, scrummasters, etc.) structure the project with 1) iterative development, 2) daily status meetings (preferably short stand-ups), and 3) retrospectives at the end of every iteration, release, and other significant project milestones, THEN sooner or later you will have a project that aligns around Agile values and begins to adopt a variety of other Agile principles and practices. It might take longer than if you start with a value-driven charter and TDD and a lot of other practices, but you'll get there.
I know I have bias for the "human side" of development. I admit it. I think it's more important to pay attention to the interactions among humans and between humans and the organizational systems than almost anything.
I wonder what others think are the 3-5 fundamental building blocks of Agile?
* Ask any retrospective facilitator for the definition of "prime directive best."
Comments
What do you need to be agile?…
Diana Larsen has commented about the building blocks she thinks are fundamental to Agile. I have held a theory for a while now that iterations and retrospectives are all that is required for an agile process to evolve. I……