I love it when my readers challenge what I’m saying, as in Plunge In or Dip Your Toe? (for Projects).
I do believe in small steps for projects. I’ve long been an advocate of inch-pebbles, of standup meetings, of iterations and incremental development. I love knowing what done means, for the project and for features inside a project. You don’t have to be agile to use those ideas.
The idea I was *trying* to get across is that if you call something agile, please make it agile. If you dip your toe into it, you have not made the commitment. If you vary your timeboxes depending on whether you finish work in the timebox, that’s not agile; that’s incremental development. You can say, “We’re experimenting with incremental development. We choose to vary the length of the timebox so we can practice getting to done. Maybe after we practice it for a while, we’ll fix our timeboxes and see how that works.”
That’s perfectly reasonable. I encourage you to do so, if you haven’t tried incremental development yet. But don’t call it agile. It’s not.
The idea of plunging or toe-dipping for some of my clients is about management’s expectations. “We paid for this 2-day workshop last week. Why aren’t you agile now??” is a more typical management reaction (which is why I have a draft about what management needs to do).
Maybe I’m too particular about what I like to call things. But if you’re toe-dipping, say you are. If you’ve moved to something, such as agile, commit to the principles and practices that make it up. But don’t call it agile if all you do is continuous integration. If you’ve never done continuous integration before, congratulations! You’ll never go back :-) But continuous integration by itself is not agile. I know of many successful waterfall projects who used continuous integration (merging the coding and integration phases) who would never claim to be agile, but used that practice because it fit for them.
Baby steps for change is a good idea. It’s difficult (impossible?) to make a wholesale change. Taking baby steps, trying them out, seeing what works is a great idea. Just be careful what you call it. If you’re not doing it all, you’re not agile. You are making changes. You are likely making it better. In my experience, at some point, you will need to make the plunge. At that point, commit and plunge. Just don’t call it agile until you make that plunge.