“Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.”
Agile Manifesto, 2nd Principle
I have a confession to make: I find this particular principle hard to live up to. Let’s just face it: I don’t like surprises.
This week I’m going to try and live this principle. It turns out my kids are going to put this to the test almost immediately. We’re getting ready for school this morning and the pre-schooler is off to a slow start. “Hey honey, can you take care of kid 2.0 while I take kid 1.0 to school?” Right off the bat I have a requirement that’s changed. Good grief!
Welcome changing requirements. So, I put on my patented Agile Smile and say, “Sure honey, no problem!”
The thing that makes last minute requirements changes tough is that you are usually so close to your goal when it happens. There I am: mentally I’ve got my coat on and one foot out the door headed to work (my goal). Here is a last minute request, a delay of game. A request for help. There is no question that I’m helping out my family by accepting this last minute request. However, it isn’t without some compromise (My own ability to get to the office in reasonable time). I think I’m juggling the needs of multiple customers in this case. Some days I do it well, other days…not so much.
One thought that occurs to me is that you have to have your customer clearly in mind (which I obviously don’t). Juggling multiple customers makes it really hard to manage changing requirements. It must suck to be product owner sometimes. The more I look at this principle, the more I want to re-write it:
“Welcome changing requirements, even if you don’t want to. Agile processes harness you to the customer’s every whim.”
And that’s probably a good thing. I think it’s going to be a long week…