アジャイル開発における
クラフトマンシップの重要性
2022/10/01 XP 祭り 2022
Shigeru Tatsuta
対象となる方
● クラフトマンシップに興味のある方
● いわゆる日本の伝統的企業で、アジャイル導入
中、あるいは導入検討中の方
※スタートアップ等ですでに、がちのアジャイル開発を実践中の方には
当たり前すぎて、あまり参考にならないかもしれません。
自己紹介
竜田 茂 (たつた しげる)
通信系大手で 2017 年からアジャイル導入、
クラウドネイティブな開発を推進。
現在は流通系でアジャイル導入、技術支援
を担当しています。
アジャイルではスクラムもやるが XP 派
DX をきっかけとしたアジャイルへの注目
2004 年に
スウェーデンの
大学教授が提唱
2018 年に経産省に
て「2025 年の崖」とし
て広まる
DX の実現手段の一
つとしてアジャイル
が注目
2018 年の経産省の「2025 年の崖」DX レポートをきかっけとして、日本
の伝統的企業においても、DX の実現手段の一つとしてアジャイルが
注目
DX に賛否はあるものの、Agile/XP を広める追い風
日本の伝統的企業におけるアジャイル導入経験を通じて
日本の伝統的企業にて、アジャイル導入や推進を実施してきたが、教
育コンテンツ、ツールチェーンは同じであったにも関わらず、上手くいっ
ているチームもあれば、上手くいっていないチームもあった。
推進していたアジャイルの概要
「https://blogs.itmedia.co.jp/hiranabe/2012/09/rightwing-and-leftwing-of-agile.html
」より
レフトウィングとしてのスクラム、ライトウィングとしての XP も、バランス
よく取り入れられていた。スクラムだけ導入して満足していた訳ではな
い。
アジャイル
プロセス
テクニカル
プラクティス
上手くいっていたチームの特徴
上手くいっていたチームは、優秀なエンジニアで構成されていたわけで
なく、むしろスキルは低かったが、総じて士気が高く、個々のエンジニア
の向上心が高かった。
上手くいっていなかったチームの特徴
上手くいっていなかったチームは、使用していたプラクティス、ツール
チェーン等は上手くいっていたチームと同じであった一方で、士気が低
く、やらされ感があった。
「Do Agile」と「Be Agile」
「Do Agile」では効果は 20% 程度だが、「Be Agile」に至ると効果は 3 倍
と言われている。2 つのチームには明らかに、これぐらいの差があっ
た。
「https://shift314.com/doing-agile-vs-being-agile/
」より
当時はうまく言語化することは
できなかった
クラフトマンシップとの出会い
2019 年に、アジャイル導入の推進活動中に受講した Certified
ScrumDeveloper 研修のテキストの 「クラフトマンシップ」の 1 ページと
して出会った。
Clean シリーズでの学び
「ボブおじさん」こと、Robert C. Martin の Clean シリーズの 3 冊にて、
クラフトマンシップについて、より具体的に理解を深める。
クラフトマンシップの必要性
ビジネスのアジリティを達成するために、企業は
協調的で反復的なプロセスだけでなく、優れたエ
ンジニアリングのスキルも必要である。それを実
現する完ぺきな方法がある。それは、アジャイル
とクラフトマンシップの組み合わせだ。
「Clean Agile」より
「Be Agile」な領域に至るためには、アジャイルだけでなく、クラフトマン
シップも必要であるとの結論に至った。
クラフトマンシップとは?
道具や業界に精通しており、仕事に誇りを持ち、
仕事に対する尊厳とプロ意識を持って行動でき
ると信頼されている人である。
「Clean Craftsmanship」より
クラフトマンシップとは、自分の仕事にプライドを持ちプロフェッショナル
なエンジニアのことである。
ソフトウェアクラフトマンシップマニフェスト
アジャイルマニフェストと同様に、2009 年にソフトウェアクラフトマンシッ
プマニフェストのサイト
(https://manifesto.softwarecraftsmanship.org/) にて公開。
ソフトウェアクラフトマンシップマニフェストの内容
私たちは意欲的なソフトウェアクラフトマンとして、ソフトウェアクラフトマンシップの実践あるい
は専門技術の学習の手助けをする活動を通じて、プロとしてのソフトウェア開発の水準を引き
上げようとしている。この活動を通じて、私たちは以下の価値に至った。
「Clean Agile」「Clean Craftsmanship」より
すなわち、左記のことがらを追求するなかで、右記のことがらも不可欠であることがわかっ
た。
動くソフトウェアだけでなく、精巧に作られたソフトウェアも
変化への対応だけでなく、着実な価値の付加も
個人との対話だけでなく、専門家のコミュニティも
顧客との協調だけでなく、生産的なパートナーシップも
精巧に作られたソフトウェア
クラフトマンたるもの、動けばいいのではなく、保守性の高いコードを意
識する必要がある。
設計やテストがうまく行われたコードを意味す
る。
「Clean Agile」より
着実な価値の付加
クラフトマンたるもの、スプリントごとにアウトカムも常に意識する必要
がある。
何をするにしても、クライアントや雇用主に継続
的に価値を提供することに常にコミットする必要
があることを意味する。
「Clean Agile」より
専門家のコミュニティ
クラフトマンたるもの、コミュニティに積極的に参加し、コミュニティにコ
ントリビュートする必要がある。
業界の水準を高めるために、お互いに協力しな
がら知識の共有や学習をすることが期待されて
いることを意味する。
「Clean Agile」より
生産的なパートナーシップ
クラフトマンたるもの、クライアントや雇用主をばかにすることなく、プロ
フェッショナルとして大人の関係を築く必要がある。
クライアントや雇用主とプロとしての関係性を築く
ことを意味する。
「Clean Agile」より
クラフトマンを育成するためには
「Clean Coder」より
コンピュータプログラミングの理論は学校で教え
ることができる。しかし、職人になるための規律・
訓練・技能は、学校で教えてくれないし、教えるこ
ともできない。それらは、数年かけて指導を受け
た結果として身につくものだ。
クラフトマンを育成するには、先輩クラフトマンが職人の徒弟制度のよ
うに、規律・基準・倫理を指導する必要がある。
医者の徒弟制度
「Clean Coder」より
医者の世界では、新人はインターン、レジデンシー、フェローシップ等
の研修、訓練期間を経て、一人前に至る。
インターン
(1年)
レジデンシー
(3~5年)
フェローシップ
(1~3年)
職業としてのソフトウェア開発
クラフトマンシップでは、職業としてのソフトウェア
開発を推奨している。仕事を持つことと、職業を
持つことは別ものだ。
「Clean Agile」より
サラリーマンとしてエンジニアをやっているのではなく、プロフェッショナ
ルとしてのエンジニアである必要がある。
日本の伝統的企業におけるアジャイル導入
日本の伝統的企業におけるアジャイル導入では、日本独自の SIer 文
化の影響が強く、業務委託に依存しがちで、プロセス (スクラム) のみ
の導入も多い。
DEV チームは全
員業務委託
SM は外部から
招聘されたアジャ
イルコーチ
PO は社員
エンジニアの目利きの課題
日本独自 SIer 文化では、多重下請構造が形成されており、クラフトマ
ンと呼べないエンジニアが潜んでいる。一方で事業会社側はエンジニ
アの目利きができていない場合が多い。
可能な限り社員のみでクラフトマンを育成していくことが無難
アジャイル宣言の背後にある原則
アジャイルプリンシパルの 5 項目にあるとおり、意欲に満ちた人々を集
めて開発チームを構成する必要がある。
意欲に満ちた人々を集めてプロジェクトを構成します。
環境と支援を与え仕事が無事終わるまで彼らを信頼します。
クラフトマンとなるためには意欲に満ちた人であることが重要
結論
「Be Agile」なアジャイルの実現にはテクニカルプラクティスだけでなく、
クラフトマンシップの導入が重要。
アジャイル
クラフトマンシップ
アジャイル
プロセス
(スクラム)
テクニカル
プラクティス
(XP)
もちろん重要
すごく重要!!
最後に
ソフトウェアクラフトマンシップマニフェストのサイトから、誰でも署名す
ることができます。
皆さん、奮って署名しましょう!
ご清聴ありがとうございました

アジャイル開発におけるクラフトマンシップの重要性