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
Ad

More Related Content

What's hot (20)

シリコンバレーの「何が」凄いのか by Atsushi Nakada, has 77 slides with 188515 views.シリコンバレーのスタートアップを数多く取材する中で気付いた「シリコンバレーにおけるディシプリン(規律)の存在」や「General Electric(GE)やIBM、SAPといった老舗企業が必死になってシリコンバレーのスタートアップを真似している理由」、そして「日本企業がイノベーションを実現するための処方箋」について解説します 詳しく知りたい場合は「GE 巨人の復活」をご覧下さい。 http://www.nikkeibp.co.jp/atclpubmkt/book/17/P55110/ 今後の記事は「シリコンバレーNext」をご覧下さい。 http://itpro.nikkeibp.co.jp/siliconvalley/
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
77 slides188.5K views
オブジェクト指向エクササイズのススメ by Yoji Kanno, has 85 slides with 60055 views.
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Yoji Kanno
85 slides60.1K views
イミュータブルデータモデル(世代編) by Yoshitaka Kawashima, has 16 slides with 39932 views.第1回 しょぼべん ( http://connpass.com/event/10849/ ) で話しした、イミュータブルデータモデル(世代編)です。
イミュータブルデータモデル(世代編)イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
16 slides39.9K views
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する by Yoshifumi Kawai, has 94 slides with 76580 views.Talked at CEDEC 2018, 2018/08/22 - https://2018.cedec.cesa.or.jp/session/detail/s5b559852a6405
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
94 slides76.6K views
イベント駆動プログラミングとI/O多重化 by Gosuke Miyashita, has 78 slides with 15797 views.2年ぐらい前の社内勉強会で使った資料。
イベント駆動プログラミングとI/O多重化イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
78 slides15.8K views
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx by Shota Shinogi, has 12 slides with 15438 views.SNSのアカウントを見つけてくれるツール「Blackbird」のレビュースライドです。
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
Shota Shinogi
12 slides15.4K views
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」 by Takuto Wada, has 45 slides with 159013 views.SQLアンチパターン 26章「とりあえず削除フラグ」 2015/08/31 @ GMO Yours #ronsakucasual https://atnd.org/events/68902
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
45 slides159K views
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理 by NTT DATA Technology & Innovation, has 35 slides with 14068 views.え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理 (NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05) NTTデータ 技術革新統括本部 システム技術本部生産技術部 インテグレーション技術センタ データ活用チーム 佐々木 徹
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
35 slides14.1K views
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版) by Takuto Wada, has 89 slides with 73094 views.2013/04/20 デブサミ 2013 アワード & リバイバル
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
89 slides73.1K views
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話 by Koichiro Matsuoka, has 89 slides with 104520 views.より詳細なCQRSに関する資料はこちら https://little-hands.hatenablog.com/entry/2019/12/02/cqrs 参考資料:http://little-hands.hatenablog.com/entry/jjug2017fall 社内新規プロダクトでDDD, CQRSの思想をベースとしたアーキテクチャを構築し、コマンド(更新系処理)ではSpring Data JPA(Hibernate)を、クエリ(参照系処理)ではjOOQを採用しました。 結果としてそれぞれのORMの良いところを生かした組み合わせのアーキテクチャが構築できたので、その経緯と得られた知見についてお話ししたいと思います。 以下のようなトピックを考えています。 ・CQRSの定義とメリットデメリット ・DDD,CQRSを検討するにあたってのORMの選定ポイント ・構築したアーキテクチャ CQRSはDDDと切り分けて単独でも適用することができるので、DDDについてご存知ない方もご覧いただけます。日本語の文献は意外と少ないので、この辺りの分野に興味がある人の参考になれば幸いです。
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
89 slides104.5K views
MagicOnion~C#でゲームサーバを開発しよう~ by torisoup, has 176 slides with 29823 views.https://vsuc.connpass.com/event/146588/
MagicOnion~C#でゲームサーバを開発しよう~MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
torisoup
176 slides29.8K views
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料) by NTT DATA Technology & Innovation, has 68 slides with 5167 views.モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~ (Spring Fest 2020講演資料) 2020年12月17日 NTTデータ 技術革新統括本部 横井 一輝
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
68 slides5.2K views
リーン開発の本質 公開用 by ESM SEC, has 55 slides with 21600 views.2013/12/6に実施された「リーンな現場の実際 ~企画サイドと開発サイドからみる失敗と成功~」で使用した資料です。 公開用に一部修正をしています。
リーン開発の本質 公開用リーン開発の本質 公開用
リーン開発の本質 公開用
ESM SEC
55 slides21.6K views
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発... by NTT DATA Technology & Innovation, has 32 slides with 1161 views.実践!OpenTelemetry と OSS を使った Observability 基盤の構築 (CloudNative Days Tokyo 2022 発表資料) 2022年11月22日(火) NTTデータ ITSP事業本部 C&P事業部 逆井 啓佑
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
NTT DATA Technology & Innovation
32 slides1.2K views
コンテナの作り方「Dockerは裏方で何をしているのか?」 by Masahito Zembutsu, has 96 slides with 35726 views.Dockerやコンテナについての理解を目指す入門テキストです。 CloudNative Days Kansai 2019 - #CNDK2019 における発表資料です。 https://cloudnativedays.jp/cndk2019/
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
96 slides35.7K views
テストとリファクタリングに関する深い方法論 #wewlc_jp by kyon mm, has 63 slides with 20918 views.レガシーコード改善勉強会 in Yahoo Japan 2014.09.27 プロジェクトに対する方法論構築と、タスクマネジメントについての紹介 後半はMikado Methodの簡易紹介です。
テストとリファクタリングに関する深い方法論 #wewlc_jpテストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jp
kyon mm
63 slides20.9K views
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例 by Naoya Kishimoto, has 123 slides with 2971 views.「CEDEC 2021」の登壇資料です。 https://cedec.cesa.or.jp/2021/session/detail/s606283dd56178
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
Naoya Kishimoto
123 slides3K views
Tackling Complexity by Yoshitaka Kawashima, has 16 slides with 3205 views.設計ナイト2022 「トランザクションスクリプト」でのディスカッション枠スライドです。
Tackling ComplexityTackling Complexity
Tackling Complexity
Yoshitaka Kawashima
16 slides3.2K views
Humble Object Patternな話 by Hiroto Imoto, has 18 slides with 5014 views.Roppongi.unity #01のLT資料です。 SpeakerDeckにアップロードできなかったのでSlideShareに上げています。 最新のスライドは以下から https://speakerdeck.com/adarapata
Humble Object Patternな話Humble Object Patternな話
Humble Object Patternな話
Hiroto Imoto
18 slides5K views
Lean coffee by Takeshi Arai, has 42 slides with 47263 views.リーンコーヒーの紹介 アジェンダのないミーティング方法 参加者が集まり、アジェンダを作り、議論を始める そんなミーティングの方法の紹介
Lean coffeeLean coffee
Lean coffee
Takeshi Arai
42 slides47.3K views
オブジェクト指向エクササイズのススメ by Yoji Kanno, has 85 slides with 60055 views.
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Yoji Kanno
85 slides60.1K views

More from Yoshitaka Kawashima (20)

Grokking Simplicity探訪 by Yoshitaka Kawashima, has 50 slides with 2751 views.2024/6/5のアーキ部で話したスライドです。 Stratified Designの目的を中心に、そのメリットを考えてみます。
Grokking Simplicity探訪Grokking Simplicity探訪
Grokking Simplicity探訪
Yoshitaka Kawashima
50 slides2.8K views
ブルックスのいう銀の弾丸とは何か? by Yoshitaka Kawashima, has 28 slides with 4119 views.アーキ部#15の資料です。
ブルックスのいう銀の弾丸とは何か?ブルックスのいう銀の弾丸とは何か?
ブルックスのいう銀の弾丸とは何か?
Yoshitaka Kawashima
28 slides4.1K views
Are Design Patterns Dead? by Yoshitaka Kawashima, has 15 slides with 804 views.吉祥寺.pm32で話したスライドです。 邦題: デザインパターンは死んだ(のか)?
Are Design Patterns Dead?Are Design Patterns Dead?
Are Design Patterns Dead?
Yoshitaka Kawashima
15 slides804 views
強いて言えば「集約どう実装するのかな、を考える」な話 by Yoshitaka Kawashima, has 23 slides with 9472 views.アーキ部#13で使ったスライドです。 サンプルコードはこちらです。 https://github.com/kawasima/revisiting-domain-model
強いて言えば「集約どう実装するのかな、を考える」な話強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話
Yoshitaka Kawashima
23 slides9.5K views
ソフトウェアにおける 複雑さとは何なのか? by Yoshitaka Kawashima, has 23 slides with 1797 views.アーキ部 #12 「複雑さ」について語り合う会 の参考資料です
ソフトウェアにおける 複雑さとは何なのか?ソフトウェアにおける 複雑さとは何なのか?
ソフトウェアにおける 複雑さとは何なのか?
Yoshitaka Kawashima
23 slides1.8K views
ソフトウェア設計における 意思決定とそのレビューの秘訣 by Yoshitaka Kawashima, has 39 slides with 4907 views.JaSST Review 2020の発表資料です。
ソフトウェア設計における 意思決定とそのレビューの秘訣ソフトウェア設計における 意思決定とそのレビューの秘訣
ソフトウェア設計における 意思決定とそのレビューの秘訣
Yoshitaka Kawashima
39 slides4.9K views
システムダウンのひみつ by Yoshitaka Kawashima, has 25 slides with 2232 views.吉祥寺.pm #23の発表資料です。 Test Harnessを使って、仕様外のふるまいをテストしましょうというお話です。 https://github.com/kawasima/rodriguez
システムダウンのひみつシステムダウンのひみつ
システムダウンのひみつ
Yoshitaka Kawashima
25 slides2.2K views
Mavenの真実とウソ by Yoshitaka Kawashima, has 67 slides with 13824 views.JJUG CCC 2019 fall g3のセッション資料です。 「ちょっと凝ったことをしようとすると大量のXMLを書かなきゃいけない」「プラグインを並べてもうまく動いてくれない」など、Mavenは誤解され敬遠され、Gradleなどの他のビルドツールにシェアを奪われてきました。 が、依然としてMavenはJavaのデファクトスタンダードなビルドツールに位置づけられており、マスターする価値は十分にあります。そして良く学んでみると、そもそもXMLで過度なカスタマイズしようというのが誤った使い方だったのに気づきます。そこへ至るにも、タスクランナーの延長線上にある他のビルドツールと異なり、Maven独特なライフサイクルとプラグインの関係性もきちんと理解しておかなければなりません。
Mavenの真実とウソMavenの真実とウソ
Mavenの真実とウソ
Yoshitaka Kawashima
67 slides13.8K views
アンチフラジャイルの世界 by Yoshitaka Kawashima, has 41 slides with 5212 views.NoOps Meetup Tokyo #8での発表資料です。
アンチフラジャイルの世界アンチフラジャイルの世界
アンチフラジャイルの世界
Yoshitaka Kawashima
41 slides5.2K views
Atomic Architecture by Yoshitaka Kawashima, has 24 slides with 17354 views.すえなみチャンス暑気払い 2019夏で話した、設計要素を分解して理解してみようという話です。 Simplicity makes easy to understand.
Atomic ArchitectureAtomic Architecture
Atomic Architecture
Yoshitaka Kawashima
24 slides17.4K views
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall by Yoshitaka Kawashima, has 58 slides with 23007 views.JJUG CCC 2018 Fall #ccc_e3
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
Yoshitaka Kawashima
58 slides23K views
ウォーターフォールとアジャイルのフェアな比較 by Yoshitaka Kawashima, has 24 slides with 9710 views.おもにエンタープライズの開発において「アジャイルってどうなの?」という方への説明資料です。
ウォーターフォールとアジャイルのフェアな比較ウォーターフォールとアジャイルのフェアな比較
ウォーターフォールとアジャイルのフェアな比較
Yoshitaka Kawashima
24 slides9.7K views
Antifragile Java - Java Day Tokyo 2017 D1-E1 by Yoshitaka Kawashima, has 64 slides with 6036 views.How to building an antifragile system using Java.
Antifragile Java - Java Day Tokyo 2017 D1-E1Antifragile Java - Java Day Tokyo 2017 D1-E1
Antifragile Java - Java Day Tokyo 2017 D1-E1
Yoshitaka Kawashima
64 slides6K views
たとえ日本人同士でも必要な異文化理解力 by Yoshitaka Kawashima, has 19 slides with 19043 views.2017/2/17のアーキ部の資料です。 異文化理解力に関して思うところをまとめました。
たとえ日本人同士でも必要な異文化理解力たとえ日本人同士でも必要な異文化理解力
たとえ日本人同士でも必要な異文化理解力
Yoshitaka Kawashima
19 slides19K views
SIerにとっての越境 @ DevLOVE 199 by Yoshitaka Kawashima, has 16 slides with 3264 views.SIerの方が本質的にオープンにいけると思うのですよ。
SIerにとっての越境 @ DevLOVE 199SIerにとっての越境 @ DevLOVE 199
SIerにとっての越境 @ DevLOVE 199
Yoshitaka Kawashima
16 slides3.3K views
なぜデータモデリングが重要なのか? by Yoshitaka Kawashima, has 15 slides with 6391 views.受託開発を生業とするものにとって、見積もり根拠を正しく示すことは死活問題だ、という話です。
なぜデータモデリングが重要なのか?なぜデータモデリングが重要なのか?
なぜデータモデリングが重要なのか?
Yoshitaka Kawashima
15 slides6.4K views
Boilerplate vs Magic by Yoshitaka Kawashima, has 13 slides with 1959 views.BoilerplateとMagic論争をStruts1を交えて考えてみました。
Boilerplate vs MagicBoilerplate vs Magic
Boilerplate vs Magic
Yoshitaka Kawashima
13 slides2K views
Ad

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