What do you do when your project already sucks, and it’s already late, and the design you’ve been committed to is Hell?
Agile isn’t about the work. It’s about you. You can’t change your company’s work life without changing YOUR life.
You know more than you think you know, just as you know less than you want to know.
As I wrote last Friday, you just can’t know everything at the beginning of a project. A lot of times, you can’t even know things at the end either! That’s one way of looking at the whole “Agile” concept–simply realizing that your knowledge is limited and therefore letting go of a lot of things that you can’t control correctly anyway.
So what kind of manager works best with an Agile team?
Pair programming is easy to get started with and carries a low risk of failure. Try it because it works, but also because you’ll like it.
If pair programming feels threatening at first, you’re normal. Two developers, one keyboard… yuck. If you’re like me, you want your own space, and you get a kind of rhythm going with mid-compile checking email and stuff. Taking that away during pair programming time sounds like it would be incredibly awkward.
“Right now” is always the absolute worst time to plan a software project. You should only do it when there is no other choice. You’re not as smart today as you will be tomorrow. Don’t let Dumb You make decisions that Smart You will be stuck with.
What kind of organizations benefit from an agile approach to software development?
I was thinking of this around a year ago while working with a client who was thinking of reimplementing, for the first time, some important applications with .NET. One of the business-interface people started a planning meeting by stating:
Before we do anything else, we need to plan this whole project in detail. We need to know exactly how this is going to be done. Right now.
I don’t recall exactly how I responded out loud, but the monologue in my head went something like this: