設計の本質:コード、システム、そして組織へ / The Essence of Design: To Code, Systems, and Organizations
by
nrs
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
nrs 設計の本質:コード、システム、そして組織へ
Slide 2
Slide 2 text
2 Profile nrs(成瀬 允宣) @nrslib 株式会社コドモン 執行役員CTO 趣味: カンファレンス講演 学生支援 小学校支援 写真
Slide 3
Slide 3 text
3 Profile nrs(成瀬 允宣) @nrslib 株式会社コドモン 執行役員CTO 趣味: カンファレンス講演 学生支援 小学校支援 写真
Slide 4
Slide 4 text
4 今日のお話
Slide 5
Slide 5 text
5 今日のお話
Slide 6
Slide 6 text
6 今日のお話
Slide 7
Slide 7 text
7 今日のお話
Slide 8
Slide 8 text
8 今日のお話
Slide 9
Slide 9 text
設計とは いろんな計画行為の確認 個人史から学ぶ計画行為 まとめ 設計の本質:コード、システム、そして組織へ
Slide 10
Slide 10 text
設計とは いろんな計画行為の確認 個人史から学ぶ計画行為 まとめ 設計の本質:コード、システム、そして組織へ
Slide 11
Slide 11 text
設計とは
Slide 12
Slide 12 text
12 ● 設計とは…… 言葉の定義を確認する
Slide 13
Slide 13 text
13 ● 設計とは…… 言葉の定義を確認する 審美性を根源とする計画的行為
Slide 14
Slide 14 text
14 ● 審美性とは…… 言葉の定義を確認する
Slide 15
Slide 15 text
15 ● 審美性とは…… 言葉の定義を確認する 美に関する感覚や判断の性質を指す概念
Slide 16
Slide 16 text
美しさはとっても便利
Slide 17
Slide 17 text
17 ● 美しさの便利なところを因数分解 なぜ美しさが? 1.感情的な共鳴と魅力 2.コミュニケーションの効率化 3.価値の付加 4.機能性との補完 5.人間の本能的な特性
Slide 18
Slide 18 text
18 ● 1. 感情的な共鳴と魅力 美しさの便利さを解説
Slide 19
Slide 19 text
19 ● 2. コミュニケーションの効率化 美しさの便利さを解説
Slide 20
Slide 20 text
20 ● 3. 価値の付加 美しさの便利さを解説
Slide 21
Slide 21 text
21 ● 4. 機能美との補完 美しさの便利さを解説
Slide 22
Slide 22 text
22 ● 5. 人間の本能と特性 美しさの便利さを解説
Slide 23
Slide 23 text
23 ● 美しさは効率性と持続性の鍵 美しさがもつ効果
Slide 24
Slide 24 text
24 美しいものがもつ持続性の例 システィーナの聖母 ラファエロ・サンティ キリストの復活 ピエロ・デラ・フランチェスカ 牧場の聖母 ラファエロ・サンティ
Slide 25
Slide 25 text
設計とは いろんな計画行為の確認 個人史から学ぶ計画行為 まとめ 設計の本質:コード、システム、そして組織へ
Slide 26
Slide 26 text
26 ● 設計とは…… 言葉の定義を再確認 審美性を根源とする計画的行為
Slide 27
Slide 27 text
27 ● わかりやすいもの いろんな計画的行為 ウェブデザイン
Slide 28
Slide 28 text
28 ● わかりやすいもの いろんな計画的行為 UX デザイン
Slide 29
Slide 29 text
29 ● わかりづらいもの いろんな計画的行為 オブジェクト指向設計
Slide 30
Slide 30 text
30 ● わかりづらいもの いろんな計画的行為 ドメイン駆動設計
Slide 31
Slide 31 text
31 ● わかりづらいもの いろんな計画的行為 組織設計
Slide 32
Slide 32 text
設計とは いろんな計画行為の確認 個人史から学ぶ計画行為 まとめ 設計の本質:コード、システム、そして組織へ
Slide 33
Slide 33 text
33 ● よくあるキャリアラダーを登ってきました コンフォートゾーン脱却の歴史
Slide 34
Slide 34 text
34 ● よくあるキャリアラダーを登ってきました コンフォートゾーン脱却の歴史 メンバー →リーダー →アーキテクト →スタッフエンジニア →CTO
Slide 35
Slide 35 text
メンバー
Slide 36
Slide 36 text
36 ● 自問自答 メンバー 良いコードはどうすれば作れるのか
Slide 37
Slide 37 text
37 ● コードの将来を計画 コードレベルの計画 後続の開発者にどう読み解いてほしいか 改修の影響範囲をどう定めるか 予期された拡張にどのように備えるか
Slide 38
Slide 38 text
38 ● オブジェクト指向プログラミングに拘泥 コードレベルの計画 コードの意図を深く考える(読むとき/書くとき) テクニックや原則の背景を学ぶ デザインパターンの真意を学ぶ
Slide 39
Slide 39 text
リーダー
Slide 40
Slide 40 text
40 ● 自問自答 リーダー システムの持続可能性を高めるには どのような手段があるか
Slide 41
Slide 41 text
41 ● システムの将来を計画 システムレベルの計画 プロダクトの方向性に合わせる計画 ビジネスと開発のギャップを埋めるための計画
Slide 42
Slide 42 text
42 ● この出会いは運命だったのかもしれない ドメイン駆動設計との出会い この本に出会ったとき これこそが……! まさに……! ポエムかな? と思った
Slide 43
Slide 43 text
43 ● この出会いは運命だったのかもしれない ドメイン駆動設計との出会い この本に出会ったとき これこそが……! まさに……! ポエムかな? と思った
Slide 44
Slide 44 text
44 ● この出会いは運命だったのかもしれない ドメイン駆動設計との出会い この本に出会ったとき これこそが……! まさに……! ポエムかな? と思った
Slide 45
Slide 45 text
45 ● しばらく積んだのち…… ドメイン駆動設計との出会い 読み方がわかると ソフトウェア開発と設計全般を 取り扱っていることがわかる
Slide 46
Slide 46 text
46 ● 優れた構造の計画 アーキテクチャレベルの計画 過度の複雑性から脱却し拡張性や優れた構造を計画 ソフトウェアアーキテクチャの文脈では システム全体の構成やコンポーネント間の関係を計画
Slide 47
Slide 47 text
47 ● ぱっと思いつくだけでも さまざまなアーキテクチャとの出会い レイヤードアーキテクチャ ヘキサゴナルアーキテクチャ オニオンアーキテクチャ GUIアーキテクチャパターン マイクロサービスアーキテクチャ イベント駆動アーキテクチャ :
Slide 48
Slide 48 text
48 ● 個人的な当時の感想 さまざまなアーキテクチャとの出会い 思いついたものは大抵名前がついてる 先人の知恵ってスゲー
Slide 49
Slide 49 text
49 ● コンセプトは異なるが相対する課題は同じであることも多い ソフトウェアアーキテクチャの学び方 伝統的なレイヤードアーキテクチャよりも 洗練されたヘキサゴナルアーキテクチャ ↓ この裏を読むと レイヤードアーキテクチャがやりたかったことを ヘキサゴナルアーキテクチャはシンプルに実現
Slide 50
Slide 50 text
50 ● コンセプトは異なるが相対する課題は同じであることも多い ソフトウェアアーキテクチャの学び方 伝統的なレイヤードアーキテクチャよりも 洗練されたヘキサゴナルアーキテクチャ ↓ この裏を読むと レイヤードアーキテクチャがやりたかったことを ヘキサゴナルアーキテクチャはシンプルに実現
Slide 51
Slide 51 text
51 ● コンセプトは異なるが相対する課題は同じであることも多い ソフトウェアアーキテクチャの学び方 伝統的なレイヤードアーキテクチャよりも 洗練されたヘキサゴナルアーキテクチャ ↓ この裏を読むと レイヤードアーキテクチャがやりたかったことを ヘキサゴナルアーキテクチャはシンプルに実現
Slide 52
Slide 52 text
52 ● コンセプトは異なるが相対する課題は同じであることも多い ソフトウェアアーキテクチャの学び方 伝統的なレイヤードアーキテクチャよりも 洗練されたヘキサゴナルアーキテクチャ ↓ この裏を読むと レイヤードアーキテクチャがやりたかったことを ヘキサゴナルアーキテクチャはシンプルに実現
Slide 53
Slide 53 text
53 ● コンセプトは異なるが相対する課題は同じであることも多い ソフトウェアアーキテクチャの学び方 MVC, MVC2, MVP, MVVMなどの乱立後にMVWの考え方
Slide 54
Slide 54 text
アーキテクト
Slide 55
Slide 55 text
55 ● 自問自答 アーキテクト これまでなんだかんだでうまくいったけど 再現性あるのかな
Slide 56
Slide 56 text
56 ● 必要な取り組み 再現性の計画 共有と教育による標準化 ツールによる標準化 プロセスによる標準化
Slide 57
Slide 57 text
57 ● 共有と教育による標準化 再現性のための取り組み 伝える場・共有する場を作る
Slide 58
Slide 58 text
58 ● ツールによる標準化 再現性のための取り組み 開発/運用 ツール
Slide 59
Slide 59 text
59 ● プロセスによる標準化 再現性のための取り組み コードレビュー レトロスペクティブ
Slide 60
Slide 60 text
スタッフエンジニア
Slide 61
Slide 61 text
61 ● 自問自答 スタッフエンジニア 今私は何をすべきか
Slide 62
Slide 62 text
62 ● 抽象的で壮大な課題 高次元の計画 リソースをスケーラブルに 開発組織をスケーラブルに データの利活用を柔軟に
Slide 63
Slide 63 text
63 ● スケーラブルサービスの実現 抽象的で壮大な課題を解決するために リアクティブなシステム クラウドネイティブなシステム 処理レベルで分散可能な マイクロサービス https://www.reactivemanifesto.org/ja
Slide 64
Slide 64 text
64 ● 水の低きに就くが如し 抽象的で壮大な課題を解決するために 組織のコントロールは 川をイメージ 自分ならどう流れたいかな? 人の気持ちを考える日々
Slide 65
Slide 65 text
65 ● データはあればいいってもんじゃない 抽象的で壮大な課題を解決するために 利活用しやすいデータの模索 欠落を防ぐアーキテクチャ 参照のための仕組み
Slide 66
Slide 66 text
CTO
Slide 67
Slide 67 text
67 ● 自問自答 CTOになることを決める前 ●私はなにがしたいのか ●より高次元のエンジニアリングに到達するには?
Slide 68
Slide 68 text
68 ● アプローチすべきは 高次元への到達を計画 経営戦略と技術戦略
Slide 69
Slide 69 text
69 ● 詳しく語ると1時間ぐらいかかるからここを見てくれ! 高次元への到達を計画
Slide 70
Slide 70 text
70 ● 経営戦略が計画するもの(特に開発に関わる部分) 高次元への到達を計画 組織の目標達成への計画 リソースの配分 組織文化の形成
Slide 71
Slide 71 text
71 ● なにをベースに考えるのか 中長期目線の計画 その柱となるのは ミッションとヴィジョン
Slide 72
Slide 72 text
72 ● コドモンのミッションとヴィジョン 参考までに ◆ Mission ◆ 子どもを取り巻く環境をテクノロジーの力でよりよいものに ◆ Vision ◆ 子どもの育ちや学びを社会全体で支えられる世の中へ
Slide 73
Slide 73 text
73 え? そんなCTOはあんまり見たことないけど…‥?
Slide 74
Slide 74 text
74 ● 0->1 CTOの役割 スーパープログラマ
Slide 75
Slide 75 text
75 ● 1->10 CTOの役割 コードを書きながら 開発チームをリード
Slide 76
Slide 76 text
76 ● 10->100 CTOの役割 組織構築 マネジメント
Slide 77
Slide 77 text
77 ● 100->1000(コドモンはココ) CTOの役割 長期的な技術戦略 投資判断
Slide 78
Slide 78 text
78 ● なにをすべきか 100->1000のCTOをまっとうするために 「ビジネスのわかる開発者」になること
Slide 79
Slide 79 text
79 続きはWebで イベントやります! 成瀬の発表:ドメイン駆動設計とXPで支える子どもの未来〜保育の暗黙知を活かすシステム開発〜
Slide 80
Slide 80 text
設計とは いろんな計画行為の確認 個人史から学ぶ計画行為 まとめ 設計の本質:コード、システム、そして組織へ
Slide 81
Slide 81 text
81 ● 設計は計画だ! まとめ 再現可能で持続性のある力=美しさを使った 計画行為
Slide 82
Slide 82 text
82 ● このセッションも計画しました! 自己例証 あなたがいつでもコンフォートゾーンを脱却して 新たな挑戦へと勇気をもって踏み出せますように
Slide 83
Slide 83 text
83 仲間を探しています 子どもを取り巻く環境をテクノロジーの力でよりよいものにしていく仲間を大募集! ● 子育てしやすい環境です ○ 子育てにドメイン知識がありすぎるメンバー ○ フレックス/フルリモート可 ● 開発者体験が最高です ○ アジャイル(XP) ○ バーチャルオフィス(Gather) ○ コンフォートゾーンを抜け出せるような環境 ○ CTOが財布
Slide 84
Slide 84 text
てんぷれーと