SlideShare a Scribd company logo
ソフトウェア開発における
『知の高速道路』
kawasima
吉祥寺 .pm #26
知の高速道路
梅田望夫 英語で読む
・ IT トレンド (2004/12/06)
将棋ソフトを使った研究手法
1. 自分の指した将棋を解析させてみる
2. コンピュータに課題局面から検討させてみる
3. 将棋ソフト同士の棋譜を見て研究する
勝敗のみならず「評価値」が表示されるので、フ
ィードバックループが速い。
数学の場合
● 定理などが体系化されて学べる教科書
● 正誤が結果としてすぐわかる。
● 選択したアプローチの評価値もすぐわかる
● 問題をとく局面ごとの行動指針も体系化されて
いる
○ 問題を理解する
○ 計画をたてる
○ 計画を実行する
○ ふり返る
ソフトウェア開発における「知の高速道路」
● 意思決定の状況判断 → 複雑で複合的
● 意思決定の評価値 → すぐには得られない
将棋や数学と同じように「状況判断力」を鍛える道筋は確立されていない。
状況判断が複雑な他の分野ではどうか… ?
主原則
局面
サッカーにおける戦術的ピリオダイゼーション
特定のゲームモデルに合わせた練習方法
プレイモデル
攻撃 守備
→
攻撃 守備
→
守備 攻撃
ボールを持った敵と周辺
空間への迅速なプレス
副原則 相手に後方で
プレイさせる
ボールをプレスするため、ディフェンス
するために、コンパクトにまとまる
例 ) ポゼッション重視
プレイ原則
90 年代、イタリア代表や AC ミランでは、 20 種類の攻撃パターントレーニング
を繰り返し「オートメーション化」「自動化」を図った
現代サッカーでは…
プレイ原則を共有しつつも、局面での判断は選手のインテリジェンスに任される。
これが本番で上手くいくようにトレーニングを組み立てる。
チーム全体で戦術の共通理解がより重要となる。
ソフトウェア開発における戦術的ピリオダイゼーション
● プレイモデル
○ いわゆる戦略
● プレイ原則
○ 意思決定の方向性
○ 2 個以上の同時に満たしにくい項目間で優
先するものを決める。
○ トレードオフスライダーの例でよく出てく
るプロジェクト変数だと、粗すぎてチーム
の原則まで落ちにくい。
ソフトウェア開発におけるプレイモデル
● サッカーにおける「ポゼッション重視」「カウンター重視」のスタイルは、
例えば SoE / SoR みたいなもの。
● SoE 、 SoR は戦略であって、それぞれで採用プロセスやアーキテクチャがカ
チッと決まる訳ではない。
ソフトウェア開発におけるプレイ原則
対立軸 ( トレードオフ ) だけでなく、究極的には両立可能だが一度に満たそうとする
と力が分散して瓦解するもの
● アジャイルマニフェスト
○ 個人・対話 と プロセス・ツール
○ 動くソフトウェア と 包括的なドキュメント
○ 顧客との協調 と 契約交渉
○ 変化への対応 と 計画の遵守
● リリースサイクルの速さ と リリースの安定性
● Simple と Easy
● 安全 と 安心
● 使う か 作るか
● …
リリースサイクルの速さとリリースの安定性
最終的に安定した速いリリースサ
イクルを目指すが、戦略レベルで
Time on Market と安定性どちら
を重視するかが決まるので、「登
り方」もそれに合わせる。
リリースサイクルの速さ
リリースの安定性
Simple と Easy
Easy
Simple
意思決定の局面認識
https://www.slideshare.net/kawasima/ss-172965978
slideshare.net/kawasima/ss-172965978
局面に応じてプレイ原則は使い分けが必要
slideshare.net/kawasima/ss-172965978
局面認識のためのツール : ドメイン駆動
https://github.com/ddd-crew/core-domain-charts
ドメインによってもプレイ原則は使い分けが必要
ソフトウェア開発における高速道路の整備 / 未整備具合
● 状況認識 ( コンテキストの理解 ) を鍛えるための教材が、現場で経験するし
かない。
○ 現場で閉じ、外に出てきにくい。
○ コアドメインを識別し技術戦略をドメインごとにたてる機会が乏しい。
● 意思決定するための材料 ( 要素技術 ) は、ローコストで誰もが手に入るよう
になった。
○ インターネットの普及により、どの分野においても進歩した。
○ 特にソフトウェアの世界では顕著
● 意思決定が正しかったかどうかの評価が出来るまで時間がかかる
○ 将棋は「評価値」でリアルタイムに表される
○ サッカーもすぐに結果として表れる
ソフトウェア開発にも『知の高速道路』を
状況認識 ( コンテキストの理解 ) と 意思決定の正しさを
鍛えるためのプラットフォームを作っていかなければな
らない。
( どうすればいいかはハッキリは言えないけれど… )
● サッカーと同じく、プレイモデル / プレイ原則を作
る役割を組織上位におく
● ADR のように設計の意思決定を状況認識と評価をセ
ットにして残していこう
https://scrapbox.io/kawasima/ 実践 ADR

More Related Content

ソフトウェア開発における『知の高速道路』