The Agile Zone is brought to you in partnership with Techtown Training. Learn how DevOps and SAFe® can be used either separately or in unison as a way to make your organization more efficient, more effective, and more successful in our SAFe® vs DevOps eBook.

Today's article is a short one, but I wanted to share, as well as vent. This isn't something I've seen recently, but I have seen it. As have many of you.

What does it mean to Be Agile? It means you're always learning. It means you're very disciplined, you frequently engage your customer, your software is ~always~ working, your automated tests are ~always~ passing, and you interact with your entire team every day. Agile means a lot of different things, but there are some basics. Many of the wanna-be agile experts would dispute this, but not many of those respected in the field would.

What is Agile not?

It's not Latin for half-baked... or "skip anything that's difficult" or that "makes you uncomfortable." If comfort built great software, you'd be set... but building anything that's great is hard. That's why it's great!

It's doesn't mean (and this is a quote from a particularly interesting character) "Agile says we have to please our customer, not our manager, so we're not telling him anything."

What I'm trying to say is this. If you're looking for the safest, easiest way to write software, stick with RUP or waterfall. RUP is designed to minimize risk. Waterfall gives you months, or years, to hide within the system. If you work for a large company that reorgs every few months, you might last your entire career by floating from team to team, and never have to do any real work.

Agile isn't a silver bullet for solving problems, but it does a really great job of exposing problems. Then you can fix them or accept them.

If you don't like seeing your own weaknesses or problems, then don't pursue Agile. But don't claim it when you're being lazy either.