What do you do when your project already sucks, and it’s already late, and the design you’ve been committed to is Hell?
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?
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.
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: