際際滷

際際滷Share a Scribd company logo
XP Anti-practice
Kyunghoon Park a.k.a. Joel
AntiPatterns for XP Practices
 Written by Yoshihito Kuranuki(TIS, Inc.) and
Kenji Hiranabe(Eiwa System Management)
 Japanese XP Community
 Various XP AntiPracties
XP AntiPractices?
Frequently Made Mistakes in XP Projects.
Most common antipractices
 Brownie's Works  The boss refactored our
code!
 Anybody Syndrome - Im not necessary here
 Pairing Prison  I'm always under
observation!
Brownie's Works  The boss
refactored our code!
[story 1. Brownie's Works]
WR
CR
WR a freshman,
began to learn the fun of programming.
JS also a freshman, had quite a good
experience of programming in the
university.
[story 1. Brownie's Works]
AF (Coach)
This is the first
freshman pair.
Can you guys finish
this task?
Yes, sir
[story 1. Brownie's Works]
Late in the evening, they checked in their code to their code base.
The "fanfare" sounded nicely (their auto- build/test batch played
fanfare if it is successful).
It worked!
It was a hard one,
thank you for
your help.
Thank you...
let's go home.
[story 1. Brownie's Works]
RG -Senior Developer
Late at the night, the senior programmer RG was working alone.
What's this messy code!!!?
This supposed to be like this...
He refactored all the code the freshman pair
Had just checked in.
[story 1. Brownie's Works]
Our code is gone.
Yes, I refactored the
code. Thats collective
ownership.
The next morning
[story 1. Brownie's Works]
The boss refactored
our code!
CR ans WR were really depressed
Lets discuss
[story 1. Brownie's Works]
What if they are not there?
Mail to the list why
and how you refactored.
I think you should have
pair programmed when
you refactored their code.
[story 1. Brownie's Works]
This kind of thing would happen
repeatedly,
so it would be easier
to teach them once.
[story 1. Brownie's Works]
[story 1. Brownie's Works]
RGs action made a new move in the team
dynamics. CR andWR learned a lot from RG
with pair programming.The team got back
its normal or even better condition.
[After]
Anybody Syndrome - Im not
necessary here
[story 2. Anybody Syndrome ]
One morning, WR got a bad cold. He called in
to the office and said to the coach.
"I think I have a cold.
May I take a day off?"
"Sure, it was a tough iteration.
Don't worry about the team.
Take a rest
[story 2. Anybody Syndrome ]
After four days' off, he came to the office and saw the
team working just as well as the day he left. He was
happy that everything was fine, but felt some
loneliness.
What is my value for
the team?
Im not necessary here
After that, he began to stay away
from his work quite often.
Lets discuss
[story 2. Anybody Syndrome ]
[story 2. Anybody Syndrome ]
The coach had an interview withWR face to face
You are frequently absent
from the office these days,
is anything the matter
with you?
when I took some days off
and came back, I found that the
team did not have any
trouble at all.
[story 2. Anybody Syndrome ]
Yes, that's a good thing!
That means the team is fine
without me.
[story 2. Anybody Syndrome ]
Thats not quite right. Everybody
wants to work with you, and
you have your own goal in the project.
You participate in the project with that goal,
dont you?
The coach and WR talked about his goal in the
project and his career plan. WR was grateful to
the coach for giving an opportunity to talk over
these kinds of things in a big picture.
The project members found that they had their
own goals as well as the project goal and they
were free to talk about them anytime.
That became a grand rule set by the coach.
They now talked about their dreams, plans,
and families.They started acting more
autonomously, and the fresh energy came back
to the team.
[story 2. Anybody Syndrome ]
[After]
Pairing Prison  I'm always
under observation!
[story 3. Pairing Prison ]
CR was a senior programmer with three years of
experience in waterfall type development
environment. He had been interested in XP, and this
was his first XP experience in a real project. He had
wanted to try pair programming, so this was a
wonderful opportunity for him.
When he paired with juniors, he
got serious so he become a good
example.
[story 3. Pairing Prison ]
With seniors, he felt like he
was taking an examination.
Pair programming made him
feel observed in a prison.
[story 3. Pairing Prison ]
He could not stand the situation anymore, and
consulted the coach. He said
[story 3. Pairing Prison ]
I'm always under
observation!
Lets discuss
[story 3. Pairing Prison ]
The next day, the coach told the team
that he recommended to take breaks
more often.
The team adopted this as a ground
rule. In addition, they doubled the
lunch time for their personal time.
[story 3. Pairing Prison ]
CR got more enterprising than before.
The team got energetic, again. Some
pairs spent break-time together to
increase their communication, some
enjoyed their private time, and others
(senior-junior pair) sometimes had
private lessons. Longer breaks worked.
[After]
[story 3. Pairing Prison ]
Reflection
Prescription as a new practice
List of other antipractice
 Powerful Owner - "We are under his thumb!"(The person whos
writing on the whiteboard has a power)
 Outnumbers View - "We are a minority group"(Opinions of
majority beats minority)
 Imperial XP - "Why do I do such a thing?"(Member believe that
XP is always the only right process)  Loose Control - "Sure. XP is
free, you know."(Do XP- like practices without management, at
all)
 Frozen Pair - "The two are pairing  again!"(The same two
members always pair until they finish their task)
 Formal Format - "Do we have to do all the practices just as in the
book?(Members adopt and fix the practices and stop
improvement)
 Misleading Influenza - "I heard you are doing THE XP"(The effect
of XP is promoted in a organization without its objectives, values
and principles)
http://www.ask.sakura.ne.jp/object-garden/
Xp anti-practice

More Related Content

Xp anti-practice

  • 2. AntiPatterns for XP Practices Written by Yoshihito Kuranuki(TIS, Inc.) and Kenji Hiranabe(Eiwa System Management) Japanese XP Community Various XP AntiPracties
  • 3. XP AntiPractices? Frequently Made Mistakes in XP Projects.
  • 4. Most common antipractices Brownie's Works The boss refactored our code! Anybody Syndrome - Im not necessary here Pairing Prison I'm always under observation!
  • 5. Brownie's Works The boss refactored our code!
  • 6. [story 1. Brownie's Works] WR CR WR a freshman, began to learn the fun of programming. JS also a freshman, had quite a good experience of programming in the university.
  • 7. [story 1. Brownie's Works] AF (Coach) This is the first freshman pair. Can you guys finish this task? Yes, sir
  • 8. [story 1. Brownie's Works] Late in the evening, they checked in their code to their code base. The "fanfare" sounded nicely (their auto- build/test batch played fanfare if it is successful). It worked! It was a hard one, thank you for your help. Thank you... let's go home.
  • 9. [story 1. Brownie's Works] RG -Senior Developer Late at the night, the senior programmer RG was working alone. What's this messy code!!!? This supposed to be like this... He refactored all the code the freshman pair Had just checked in.
  • 10. [story 1. Brownie's Works] Our code is gone. Yes, I refactored the code. Thats collective ownership. The next morning
  • 11. [story 1. Brownie's Works] The boss refactored our code! CR ans WR were really depressed
  • 12. Lets discuss [story 1. Brownie's Works]
  • 13. What if they are not there? Mail to the list why and how you refactored. I think you should have pair programmed when you refactored their code. [story 1. Brownie's Works]
  • 14. This kind of thing would happen repeatedly, so it would be easier to teach them once. [story 1. Brownie's Works]
  • 15. [story 1. Brownie's Works] RGs action made a new move in the team dynamics. CR andWR learned a lot from RG with pair programming.The team got back its normal or even better condition. [After]
  • 16. Anybody Syndrome - Im not necessary here
  • 17. [story 2. Anybody Syndrome ] One morning, WR got a bad cold. He called in to the office and said to the coach. "I think I have a cold. May I take a day off?" "Sure, it was a tough iteration. Don't worry about the team. Take a rest
  • 18. [story 2. Anybody Syndrome ] After four days' off, he came to the office and saw the team working just as well as the day he left. He was happy that everything was fine, but felt some loneliness. What is my value for the team? Im not necessary here After that, he began to stay away from his work quite often.
  • 19. Lets discuss [story 2. Anybody Syndrome ]
  • 20. [story 2. Anybody Syndrome ] The coach had an interview withWR face to face You are frequently absent from the office these days, is anything the matter with you? when I took some days off and came back, I found that the team did not have any trouble at all.
  • 21. [story 2. Anybody Syndrome ] Yes, that's a good thing! That means the team is fine without me.
  • 22. [story 2. Anybody Syndrome ] Thats not quite right. Everybody wants to work with you, and you have your own goal in the project. You participate in the project with that goal, dont you? The coach and WR talked about his goal in the project and his career plan. WR was grateful to the coach for giving an opportunity to talk over these kinds of things in a big picture.
  • 23. The project members found that they had their own goals as well as the project goal and they were free to talk about them anytime. That became a grand rule set by the coach. They now talked about their dreams, plans, and families.They started acting more autonomously, and the fresh energy came back to the team. [story 2. Anybody Syndrome ] [After]
  • 24. Pairing Prison I'm always under observation!
  • 25. [story 3. Pairing Prison ] CR was a senior programmer with three years of experience in waterfall type development environment. He had been interested in XP, and this was his first XP experience in a real project. He had wanted to try pair programming, so this was a wonderful opportunity for him.
  • 26. When he paired with juniors, he got serious so he become a good example. [story 3. Pairing Prison ]
  • 27. With seniors, he felt like he was taking an examination. Pair programming made him feel observed in a prison. [story 3. Pairing Prison ]
  • 28. He could not stand the situation anymore, and consulted the coach. He said [story 3. Pairing Prison ] I'm always under observation!
  • 29. Lets discuss [story 3. Pairing Prison ]
  • 30. The next day, the coach told the team that he recommended to take breaks more often. The team adopted this as a ground rule. In addition, they doubled the lunch time for their personal time. [story 3. Pairing Prison ]
  • 31. CR got more enterprising than before. The team got energetic, again. Some pairs spent break-time together to increase their communication, some enjoyed their private time, and others (senior-junior pair) sometimes had private lessons. Longer breaks worked. [After] [story 3. Pairing Prison ]
  • 33. Prescription as a new practice
  • 34. List of other antipractice Powerful Owner - "We are under his thumb!"(The person whos writing on the whiteboard has a power) Outnumbers View - "We are a minority group"(Opinions of majority beats minority) Imperial XP - "Why do I do such a thing?"(Member believe that XP is always the only right process) Loose Control - "Sure. XP is free, you know."(Do XP- like practices without management, at all) Frozen Pair - "The two are pairing again!"(The same two members always pair until they finish their task) Formal Format - "Do we have to do all the practices just as in the book?(Members adopt and fix the practices and stop improvement) Misleading Influenza - "I heard you are doing THE XP"(The effect of XP is promoted in a organization without its objectives, values and principles) http://www.ask.sakura.ne.jp/object-garden/