Slide 1

Slide 1 text

開発とはなにか Essenceカーネルで見えるもの うきのこ。

Slide 2

Slide 2 text

うきのこ。 @ukin0k0 株式会社クラウドワークス ソフトウェアエンジニア 技術負債解消チームで主にRuby on Railsを使用 プロダクトオーナーをしたり、エンジニア採用したり、いろいろ...

Slide 3

Slide 3 text

私のガチ推し書籍は、

Slide 4

Slide 4 text

モダン・ソフトウェアエンジニアリング Ivar Jacobson 著 Harold “Bud” Lawson 著 Pan-Wei Ng 著 Paul E. McMahon 著 Michael Goedicke 著 角 征典 翻訳 鷲崎 弘宜 監修 ソフトウェア開発の共通基盤、共通言語として提唱され たEssenceカーネルを解説 様々な開発手法が乱立したカオスな状態を解決する ため、2009年ソフトウェア工学の再建を目指して設立 されたSEMAT※1が整備し、2014年OMG※2において標 準化 引用: https://www.shoeisha.co.jp/book/detail/9784798165226 ※1: Software Engineering Method and Theory(ソフトウェア工学の手法と理論) ※2: Object Management Group

Slide 5

Slide 5 text

Essenceカーネルとは?

Slide 6

Slide 6 text

Essenceの言語 ● 使うべきもの = 観測対象 ○ アルファ ○ アルファの状態 ○ ワークプロダクト = 成果物 ● やるべきこと ○ アクティビティスペース ○ アクティビティ ● 必要な能力 ○ コンピテンシー 引用: 『モダン・ソフトウェアエンジニアリング』 図5-8 Essenceの言語の要素とその関係

Slide 7

Slide 7 text

アルファ ソフトウェア開発が必ず持つ7つの要素 三つの関心領域で構造化 ● ニーズを持つ「顧客」 = Why ● 提供する「ソリューション」 = What ● 実施する「活動」 = How 引用: 『モダン・ソフトウェアエンジニアリング』 図4-1 あらゆる開発活動に含まれること

Slide 8

Slide 8 text

アルファの状態 引用: SEMAT_SWEngKernel_Cards_Ja.pdf アルファごとに5-7個の状態の定義を持っ ている アルファの状態変化によってソフトウェア 開発が進む 例: 機会

Slide 9

Slide 9 text

アクティビティスペース・アクティビティ アルファの状態を進捗させるためにやる べきこと アクティビティスペースはやることの定義 アクティビティは実際に使うプラクティスや 作業、イベント 引用: 『モダン・ソフトウェアエンジニアリング』 図6-4 Essence のアクティビティスペース(Essence 標準より)

Slide 10

Slide 10 text

コンピテンシー あらゆるソフトウェア開発の活動に必要な能力 引用: 『モダン・ソフトウェアエンジニアリング』 図6-6 カーネルコンピテンシー 引用: 開発活動の参照モデルを使ったベンチマーキングと最適化

Slide 11

Slide 11 text

なぜこの書籍を推すのか

Slide 12

Slide 12 text

キャリアについて悩んでいた プロダクトオーナーを経験してみて... やはり私にとってのプログラミングは「目的」を達成するための「手段」だと思った。事 業、プロダクトにどういう課題があるのか、それをどう解決できるかに目を合わせてお きたい。 でも、気質としてはやはりエンジニアが向いているのだろう。 (ミーティングたくさんいや...ひとりで物事に向き合っていたい...) さらに、エンジニア採用に関わるとチームのことが気になってくる...それってEM的な視 点では...?

Slide 13

Slide 13 text

そもそも開発ってなんだ??

Slide 14

Slide 14 text

Essenceカーネル これだー!

Slide 15

Slide 15 text

引用: 開発活動の参照モデルを使ったベンチマーキングと最適化 私が持っているスキル ソフトウェア開発に向き合うスキルはありそう それでいいのではないか

Slide 16

Slide 16 text

ほかにも ● アルファの状態を追うことでソフトウェア活動の進捗を管理したり ● 所属チームでの開発に関する取り組み(プラクティス)を、アクティビティスペース に当てはめることで過不足を認識したり 引用: モダン・ソフトウェアエンジニアリング のエッセンス

Slide 17

Slide 17 text

Essenceカーネルを使って ソフトウェア開発を見直すと 見えてくるものがある