When I'm asked, "Are you doing Agile?", the implicit question is: "Are you doing Agile the way I do it?" Therefore, the honest answer is almost always "No". And the differences in how each shop practices it are as telling as they are interesting.
At my current shop, we're being Agile in every way possible: we try things out and tweak them continuously to make them better. You might think that we're doing Scrum because you'll see us gather into standup meetings each day, but that's one of the few parts of it that we practice.
Here are some features of our "ScrumBut" (adapted Scrum):
- We don't have sprints, we have weekly releases to Preview and Live sites (for a hosted product).
- We don't have regression or hardening sprints, because it's built-in: every week, the code on Preview is validated for safety to go Live the next. We rely heavily on automated testing.
- We don't have a ScrumMaster, but we do have team leads who "run" standups.
- We don't have the full set of sprint meetings, but we have weekly release planning (what's going to Preview).
- We don't size stories; we put cases on their own code branch and let them evolve as they must.
- We don't commit to what will finish: we just finish what we can test and safely release.
- We rarely assign cases to a release; instead, we pull in cases off the prioritized backlog.
- We don't have separate product backlogs and sprint backlogs: just one backlog to tend and groom.
- We don't use burn-down charts or sum story points to evaluate our velocity.
- We collaborate but don't work in a bull-pen, so no one needs earphones to concentrate.
- We do use Definition of Done, in the sense of having a QA/validation process that requires testing and sign-off by all affected groups.
To be honest, the cadence of this weekly release cycle and the direct pulling off the backlog makes it feel like we're moving to Kanban, which is continuous, just-in-time workflow by specialized, functional teams. One feature of Kanban we've yet to add are big-picture visualizations, of real-time status, processes, and workflows. But of two things I'm certain: that the light weight of these methods are very agile, and that these methods will keep changing, keep improving, as we go.