+ All Categories
Home > Software > XP anti practices

XP anti practices

Date post: 14-Jul-2015
Category:
Upload: kenji-hiranabe
View: 908 times
Download: 1 times
Share this document with a friend
Popular Tags:
16
Page: 1 - Yoshihito Kuranuki , TIS Inc. XP “AntiPractices” : antipatterns for XP practices - Kenji Hiranabe , Eiwa System Management, Inc. Front Page Illustration by Koji Kitamura
Transcript

Page: 1

- Yoshihito Kuranuki , TIS Inc.

XP “AntiPractices” : antipatterns for XP practices

- Kenji Hiranabe , Eiwa System Management, Inc. Front Page Illustration by Koji Kitamura

Page: 2

We found them while introducing XP to a commodities futures project in Japan. �

Member Experience years Role Software dev OO XP

KO Many 1 0 Project Manager / Analyst

YK 4 8 2 Coach

RH 3 2 0.7 Programmer / Architect

SN 3 0.2 0.2 Programmer / DB Admin

JS 1 0 0 Programmer

MN 1 0 0 Programmer

IN 3 2.5 0 Programmer

HK 3 1 0 Programmer (only 1st phase)

TK 2 0.5 0 Programmer (only 2nd phase)*Their career is at the time of PJ participation.

l Contract software development in two phases (5 months, 4 months) l Mission-critical system (24 hours 365 days). l Rich Client / Web Service / C++ / Java / WebLogic / Eclipse

Project Profile

People Profile

Page: 3

We explain four AntiPractices in “S-A-A-C” style in this presentation.

Action

After

Story

Crystallize

Story : The problem happened in the context is explained in a narrative format.

Action : The action taken to the problem.

After : The change which took place to the team after the Action.

Crystallize : A set of the problem, context and solution, generalized in a “AntiPractices” format.

Page: 4

AntiPractice #1: Brownie’s works (“The boss refactored my code!”) �

IN (a senior programmer)

JS (a freshman) MN (a freshman)

Story

Page: 5

Our antidote for Brownie’s works was to encourage pair programming.�

Name Brownie’s works (“The boss refactored my code!”)

Background Junior members actively write and commit code. Collective ownership is working.

Symptom Juniors’ proud source code is changed completely different by a senior at night. The new code might be better but their motivation goes away.

Cause A side effect of Collective Ownership and violation of pair programming by Refactoring alone. The root cause is the senior's lack of sense of team building.

Ideal Juniors get energetic to see their code working in the customer’s system.

Prescription Seniors should refactor the juniors' code in a pair programming session. If the senior has no choice, he should tell the team the reason and the process of his decision so as to make the team learn from it.

* The name is after a fairy tale.

Action

After IN’s action made a new move in the team dynamics. MN and JS learned a lot from IN with pair programming. The team got back its normal or even better condition.

The coach caught IN (the senior) and talked with him alone. “I think you should have pair program when you refactored their code.” IN started pair-programming with juniors of his own accord and showed how

to refactor the code.

Crystallize

Page: 6

AntiPractice #2: Pairing Prison ("I'm always under observation!”)�

RH

SN

Story

Page: 7

Our antidote for Pairing Prison was to respect breaks and email times�

Name Pairing Prison (I’m always under observation!”)

Background Always pair program in development time.

Symptom Some members feel observed all the time and uncomfortable. Then hate to come to the office every morning.

Cause The down side of the pair programming (fulltime review). The root cause is the lack of respect for personal free time.

Ideal In order to increase efficiency and mental health of pair programming, private mail check time and frequent break should be highly respected.

Prescription Spare sufficient time for breaks between pair programming sessions. Balance breaks and work time. For example, double the lunch time and declare the time as private time. Kent Beck recommends drinking water frequently. [1]

[1] I would name this “Nature Callback.”

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.

The coach found that they had no time to work alone and that it was not easy to take breaks while in pairs.

The coach told the team that he recommended to take breaks more often. The team adopts this as a ground rule.

Action

After

Crystallize

Page: 8

AntiPractice #3: Burning Pair ("The two are pairing … again!”)

MN (a freshman) TK (a newcomer)

Story

Page: 9

Our antidote for Burning Pair was having the attitude of mutual help.�

Name Burning Pair

Background The number of juniors increased in the team. They signed up for their task by themselves.

Symptom The same two members always pair until they finish their task (even if troubled).

Cause Overdrive of fully spontaneous sign up. Lack of the coach’s effective interference to the pairing. The root cause is too a strong sense of self-responsibility (Japanese property).

Ideal Pairing should be spontaneous and when problems occur, the team should fight the problem together.

Prescription When there is a burning pair in the team, in addition to the spontaneous sign up in the stand up meetings, the coach should help the team (or even direct to) create a effective pair. Give the team “One for all, all for one” feeling.

The task made a smooth progress and the teamwork improved. While it is important to be responsible to the signed-up task,

it is essential that problems be solved by the team in the given time. Asking for help and giving it became the team’s rule.

The coach decided to dissolve the burning pair once and assigned IN (experienced for the task) to be one of the pair.

The coach said to the burning pair, “Don’t think you must be the only ones to solve your problems. The team is always here for you to help. "

Action

After

Crystallize

Page: 10

AntiPractice #4: Anybody Syndrome ("I’m not necessary here…”)�

HK was sick in bed for four days and was absent from the company.

The team was working just as well as the day he left. He was happy that everything was fine, but felt some loneliness.Something is uncomfortable.

"What is my value for the team?"

He began to stay away from his work quite often. He murmured “I’m not necessary here…”

After that,

When he came to the office,

Story

Page: 11

Our antidote for Anybody’s Syndrome was attending to personal goals.�

The project members found that they had their own goal as well as the project goal and they were free to talk about them anytime.They started acting more autonomously, and the fresh energy came back to the team.

The coach had an interview with HK face to face, talked about his goal in the project and his career plan.

HK is grateful to the coach for giving opportunity to talk over these kinds of things in a big picture.

Name Anybody Syndrome (“I’m not necessary”)

Background The team shares information at a high level. Project goes well even if someone is missing.

Symptom Some members suspect they are not needed in the team and they lose objectives and motivation.

Cause Insufficient communication between the coach and members. The root cause is too much focus on information sharing and negligence of individual’s goals aside from the project.

Ideal Information is well-shared and at the same time the members feel their necessity for the team.

Prescription Even if the development is a team work, the coach shouldn’t forget to talk personally with individuals. Do interviews and objective management to the members periodically and catch the sign early.

Action

After

Crystallize

Page: 12

We continue to collect AntiPractices in the Japanese community�

² Powerful Owner Ø  "We are under his thumb!" (The person who’s 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)

² Formal Format Ø  “I understand this rule, but why?” (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)

Page: 13

“AntiPractices” are the “disease” side effects of overdriving good rules. We organize them in a medical prescription form.�

AntiPractice Influenza

Background Series of overwork

Symptom Cough / Fever

Cause Virus

Ideal Healthy life

Prescription Vaccine / Good sleep

OverDrive!!!

Japanese proverb "more than enough is too much"

practices Bad state

1 2 3 4 5 6 7 8 9 10

Page: 14

Summary: AntiPractices show problems from “overdriving” practices �

p  The root causes are often found in the people, the team, and the organization.

p  AntiPractices capture the problems by naming them like “Patterns”. p  The problems caused by practices are not solved only by adjusting and

adding practices.p  The coach has to turn his eyes to the subtleties of people.

p We collect AntiPractices in the Japanese XP community. http://www.ask.sakura.ne.jp/object-garden/

I am waiting for your contribution.

people practices Practices to People!

Page: 15

Next step: We are defining “XP-Balanced Scorecard” (XP-BSC)�

Financial

Customer

Internal Business

Processes Learning

and Growth

BSC

Business Value

Business Value

Customer

Practices

?

XP-BSC

People!

XP

Customer Development Four Values

Page: 16

Thanks

Special thanks to -Front Page Illustration by Koji Kitamura -Cartoons Illustration by Rika Yoshimura

Authors: Yoshi Kuranuki (main author) [email protected] Project Manager of TIS Inc. Consistently engaged in OO development. In recent XP projects, acted as a coach and facilitated the projects to success. Kenji Hiranabe (presenter) [email protected] Chief consultant of Eiwa System Management, Inc. Also a Japanese translator of XP/Agile books of Ron Jeffries, Ken Auer, Mary Poppendieck, Robert Martin, and Jim Highsmith.

and -Shepherded by Alistair Cockburn


Recommended