otherwise. Pay attention to the feedback you get, especially when you're starting. XP
is based on some fundamental principles that don't change, but it has to be adapted
to fit its environment. Changing it is not only acceptable, it's required.
When introducing XP at a client, we spent the first few days in a group working
through some of the practices together. We'd start everyday by asking what
concerned people the most; what they were most uncomfortable with. Before or
after we broke for lunch, we'd ask if they were making progress in the areas they
were uncomfortable. Before people left at the end of the day, we'd ask them again.
When Duff and Ken first did their three weeks of mini-XP, they started each day
discussing what they were going to try to do to the best of their understanding of XP
and what they were uncertain about. Then they'd have times of reflection several
times during the day after that. They'd always end the day reflecting on what they
had done well and what they could be doing better.
"I'm not sure how to write a test for this. It seems that the work is being done in
the protected methods." "But I think we're better off just testing the public methods.
Who cares if the protected methods change… as long as the public ones don't." "I'm
not sure how to test that public method… maybe this is an exception to the rule.
Maybe that's not even a good rule." "Tell you what. Let's assume it is a good rule
and if we're still not OK with it in a half an hour, let's talk about another strategy."
"I think when we're pairing I'm not keeping up with you and then I'm not adding
to the process." "Well, if you don't speak up, I'm not going to know when you've lost
me." "If I spoke up everytime you've lost me, I don't think we'd get anything done."
"Then I'm not doing something right. You are a bright guy. If I've lost you it's
either because I'm not explaining myself well or because I'm doing something stupid
and you are afraid to question me. I'll stop typing. You tell me what about what I've
done you don't understand." "OK, then maybe after that, I should be the one typing.
Then I'm sure I'll only go as fast as my understanding lets me."
"Well, do you think we accomplished a lot today or not? Are we going at a
good pace?" "At times it felt pretty slow, but when I look at what we've got that we
didn't have at the beginning of the day, I'm pretty amazed. And it's pretty cool that
we have all those tests and we don't have to worry about that stuff breaking as we do
more."
Just about anyone we've talked to who started XP did a lot of reflection on what
they were doing for the first few days and/or weeks.
Listen to the feedback you get from your fellow developers, managers, and
customers. Squeeze all the lessons out of that feedback that you can. Apply them as
soon as possible.
No comments:
Post a Comment
Your comments are welcome!