XPやScrum、PFにおける価値はどんな効用を持つのか?
XPの価値と原則の理解を読んで、XPやScrumに出てくる価値の意味が恥ずかしながらようやく分かった。
考えたことをメモ書き。
【元ネタ】
XPの価値と原則の理解
チーム一丸となって顧客要望に向かって進む ─ Scrum ─|ニューインテリジェンス|アジャイルジャパン公式サイト
XPは「コミュニケーション」「シンプル」「フィードバック」「勇気」の4つの価値を持つ。(「XPエクストリーム・プログラミング入門」第2版では「尊重」も加わった)
Scrumでは「コミットメント」「専念(集中)」「オープン」「尊敬」「勇気」の5つの価値を持つ。
プロジェクトファシリテーションでは「対話」「行動」「気づき」「信頼関係」「笑顔」の5つの価値を持つ。
何故、価値がプロセスの最初にあり、重要なのか?
その理由は「XPエクストリーム・プログラミング入門 第2版」の第3章に書かれている。
(引用開始)
書籍から手早く園芸の基本技術を学習することはできるが、 だからといって園芸家になれるわけではない。 私の友人のポールは、園芸家である。 私は土を掘り、植物を植え、水をやり、雑草を取り除くが園芸家ではない。
ポールと私との違いは何だろうか。 まず、ポールは私よりも技術に詳しい。 どちらも知っている技術を行なう場合はポールの方が上手である。 何かを掘ったり植えるといった作業がなければ 園芸を行なっていることにならないので、技術は重要だ。 このレベルの知識と理解をプラクティスと呼ぶ。 プラクティスとは、何かを実際に行なうことである。 そして、日々行なうことである。
......ポールと同じ園芸プラクティスを理解していたとしても、 私は園芸家にはなれない。 ポールは、園芸で何がよくて何が悪いかについての感覚がとても発達している。 庭全体を眺めて、何が機能し何が機能していないか直観でわかるのだ。 私が枝を正確に刈り込む能力に誇りを持っているとしたら、 ポールは木全体をどのようにすべきかわかるのだ。 その理由は、ポールが私よりも優れた剪定師だからではなく、 ポールは庭での作業において全体を捉える力があるからだ。 ポールにとってシンプルで明確なことでも私はわざわざ勉強する必要がある。
このレベルの知識と理解を価値と呼ぶ。 価値は、ある状況で何が望ましく、何が望ましくないかの根拠である。
......価値がないと、プラクティスはそれ自体のために機械的に実施され、 目的や方向性が欠けてしまう。 したがって、価値を明示することは重要だ。 プログラマが欠陥を無視した場合は、技術ではなく価値に問題がある。 欠陥自体は技術の問題かも知れないが、 欠陥から教訓を得ようとしないのは プログラマが実際には学習と自己改善を重視していない表れである。
......価値とプラクティスの隔たりを埋めるのが原則である。 原則は領域固有の指針で、いつまでも変わることはない。 ポールの園芸家としての知識は、 原則レベルでも私を上回っている。 私がイチゴの隣にマリゴールドを植えることを知っていたとしても、 ポールは隣り合った植物が互いの欠点を補うという 共栄植物を植えることの原則を理解している。 マリゴールドは、イチゴを食べる一部の害虫が発生するのを自然に防ぐ。 イチゴとマリゴールドを一緒に植えることがプラクティスである。 共栄植物を植えることが原則である。
......これが1冊の本で私が伝えることのできる限界である。
ケント・ベック
「XPエクストリーム・プログラミング入門 第2版」より
(引用終了)
価値とは、行動の善し悪しを決める判断基準、価値観である。
今、自分は本当にこの作業をすべきなのか?と迷うとき、XPを実践しているならXPの価値に照らし合わせて、やるかやらないか、別の方法を試すか、判断を下す。
ScrumもPFも同様だ。
古くから言われる「ドキュメントを書くことは必要か?」という質問は、XPの価値である「コミュニケーション」「シンプル」に照らし合わせて、現場の文脈よりもチームと自分が判断すれば良い。
「コミュニケーション」の価値を重視するならドキュメントを詳細に書くし、「シンプル」の価値を重視するなら、必要最低限のドキュメントで残し手間をかけ過ぎない。
価値は原則やプラクティスの源である。
価値なくして、プラクティスを実践しても意味が無い。
プラクティスを実践して作業を阻む障害にぶつかった時、自分が今までやってきた作業が正しいのか悪いのか、価値に照らし合わせなければ判断の下しようがない。
価値観に沿っているならば、たとえ障害にぶつかったとしても、価値観のおかげで自分の行動の正当性が保証され、勇気(XPの勇気、Scrumの勇気)が出てくるだろう。
自分は今まで「テーラリング」という言葉を何気なしに使ってきたけれど、「チケット駆動開発」本を出版してから、この言葉を使うのにすごく違和感を感じるようになった。
その違和感の理由を探すために、Togetterでまとめたみた。
その理由を探していて、テーラリングには価値という価値判断の基準が存在しないから、と気づいた。
プロセスを現場に合わせてテーラリングする場合、プロセスが重視する価値を無視して、現場の既存の運用を残してしまうために、中途半端な効果しか出ないからだ。
また「開発現場に合わせて、そのコンテキストでカスタマイズすればいい」という言葉もよく使っていたけれど、「コンテキスト」という言葉にすごく違和感を感じるようになった。
その理由は、どの開発現場も独自の状況があり、アジャイル開発であれ結局、一部の導入だけ試して満足してしまう事例が多いから。
つまり、現場のコンテキストを重視するがゆえに、アジャイル開発に対して都合の良い解釈をしてしまい、アジャイル開発が持つ価値(本来のあるべき姿)がうやむやになってしまいがちだから。
開発プロセスの導入は、現場の既存のコンテキストの背後にある、今までの現場の価値観を打ち崩す破壊力がある。
Scrumでは特に、Scrumの運用が順調に進んで継続的に開発を阻害する要因を改善していくに従って、「組織的な阻害要因(Organization Inpediment)」にぶち当たり、最終的には組織と緊張関係に陥る所まで行き着くという。
この辺りの解説は、細谷さんの記事「スクラム導入で開発を取り巻く矛盾はなくなるのか? - Yasuo's Notebook」がとても分かりやすい。
だからこそ、プロセスの導入は、従来の組織に緊張関係を与えない程度に部分的な効果にとどまるか、組織自身がそのプロセス(XP・Scrum・PF)の価値を取り入れて自己変身するかのいずれかしか選択肢がない。
「コンテキスト」「テーラリング」という言葉は、ソフトウェア開発のあるべき価値観を曖昧にしてしまう毒薬が含まれていると思う。
「チケット駆動開発」のAmazon書評に「チケット駆動とは何か、何を価値とするのか、単純な原則を抽出して改めて体系づけ直すべきではないか。」という指摘があり、この指摘を今は真剣に考えている。
最近の僕が、パターン言語について調査して思索している理由の一つは、アジャイル開発の価値・原則・プラクティスを生み出した背景にはパターン言語があり、そのアイデアを使ってチケット駆動開発を体系化できないか、色々考えているから。
近いうちに公開してみるつもりです。
| 固定リンク
「プロジェクトファシリテーション」カテゴリの記事
- PM理論では課業志向の方が関係志向よりも生産性が高いことを主張しているのではないか(2023.01.22)
- 「世界を動かすプロジェクトマネジメントの教科書」の概念図(2022.01.16)
- 【資料公開】チケット駆動開発の解説~タスク管理からプロセス改善へ #redmine(2022.01.14)
- 昭和の管理者の承認処理は判子押印、令和の管理者の承認処理はいいねボタンを押すこと(2021.12.31)
- チケット駆動開発のプロセスとチケット管理システムの全体像 #Redmine(2021.12.28)
「チケット駆動開発」カテゴリの記事
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
- チケットはデータでとプロセスの二面性を持つ #redmine(2023.12.24)
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- プロジェクト管理の基本はテーラリング、Redmineはプロセスをテーラリングするツール(2022.04.21)
「Agile」カテゴリの記事
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「スクラムの拡張による組織づくり」のScrum@Scaleの感想(2024.03.31)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- 「GitLabに学ぶ 世界最先端のリモート組織のつくりかた」の感想(2023.12.10)
- 概念モデリングや設計原則は進化しているのか(2023.10.21)
コメント