Slide 1

Slide 1 text

目指すべきソフトウェア開発と 今日から始める最初の一歩 ~ 良いチーム、良い開発を考える ~ 株式会社リンケージ 開発部 キックオフ

Slide 2

Slide 2 text

自分たちはなぜ
 
 ソフトウエアを開発するのか
 What is it?

Slide 3

Slide 3 text

目指す私達のゴールはどこか
 
 
 What is it?

Slide 4

Slide 4 text

そのために何から始めるか
 
 
 What is it?

Slide 5

Slide 5 text

そういう話をします
 
 
 What is it?

Slide 6

Slide 6 text

1. 自己紹介
 2. ソフトウェア開発の目的
 3. 良い開発、良いチームとはなにか
 4. 前に進むために必要なこと
 5. 今日から始める最初の一歩
 6. まとめ
 あじぇんだ

Slide 7

Slide 7 text

1. 自己紹介
 2. ソフトウェア開発の目的
 3. 良い開発、良いチームとはなにか
 4. 前に進むために必要なこと
 5. 今日から始める最初の一歩
 6. まとめ
 あじぇんだ

Slide 8

Slide 8 text

自己紹介
 曽根 壮大(37歳)
 Have Fun Tech LLC 代表社員
 
 そ  ね  た け と も
 ● 日本PostgreSQLユーザ会 勉強会分科会 担当
 ● 3人の子供がいます(長女、次女、長男)
 ● 技術的にはWeb/LL言語/RDBMSが好きです
 ● コミュニティが好き

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

本書きました


Slide 11

Slide 11 text

1. 自己紹介
 2. ソフトウェア開発の目的
 3. 良い開発、良いチームとはなにか
 4. 前に進むために必要なこと
 5. 今日から始める最初の一歩
 6. まとめ
 あじぇんだ

Slide 12

Slide 12 text

なぜ我々は
 
 ソフトウェアを開発するのか
 ソフトウェア開発の目的

Slide 13

Slide 13 text

誰かの課題を解決する手段として
 
 ソフトウェアを利用しているため
 ソフトウェア開発の目的

Slide 14

Slide 14 text

私達が解決したい課題とは?
 
 
 ソフトウェア開発の目的

Slide 15

Slide 15 text

健やかな心身を通して、
 
 社会の幸せを増やす
 ソフトウェア開発の目的

Slide 16

Slide 16 text

健やかな心身を通して、
 
 社会の幸せを増やす
 ソフトウェア開発の目的 つまりリンケージという会社の目的を達成するために集まっている 


Slide 17

Slide 17 text

1. Vision、Mission、Values
 これらを実現する為にリンケージが存在している
 実現する手段としてソフトウェアを利用している
 2. ユーザが使ってくれてはじめて価値がある
 ソフトウェアの価値は開発者でなく、ユーザが決める
 つまりユーザに沢山の価値を提供する事に意味がある
 3. 価値は使ってみないとわからない
 ユーザは本当の価値を知らず、使って初めて気づく
 だからこそ、素早く価値を提供して評価を聞く必要がある
 忘れてはいけないこと

Slide 18

Slide 18 text

私達は技術(ソフトウェア)で
 
 誰かの課題を解決することが仕事
 ソフトウェア開発の目的

Slide 19

Slide 19 text

1. 自己紹介
 2. ソフトウェア開発の目的
 3. 良い開発、良いチームとはなにか
 4. 前に進むために必要なこと
 5. 今日から始める最初の一歩
 6. まとめ
 あじぇんだ

Slide 20

Slide 20 text

良い開発、良いチームとは
 
 どんなチームを想像しますか?
 良い開発、良いチームとはなにか

Slide 21

Slide 21 text

目的を達成できるのが良い開発
 
 目的を達成できるチームが良いチーム
 良い開発、良いチームとはなにか

Slide 22

Slide 22 text

我々の目的は
 
 ユーザに価値を届けること
 良い開発、良いチームとはなにか

Slide 23

Slide 23 text

目指すべきチーム
 ↓
 良い価値を提供できるチーム
 良い開発、良いチームとはなにか

Slide 24

Slide 24 text

良い価値とはなにか?
 
 
 良い開発、良いチームとはなにか

Slide 25

Slide 25 text

良い価値とはなにか?
 ↓
 提供してみないとわからない
 良い開発、良いチームとはなにか

Slide 26

Slide 26 text

だから最初に
 
 サービスのリリースが必要
 良い開発、良いチームとはなにか

Slide 27

Slide 27 text

1. ユーザが使ってくれてはじめて価値がある(再掲)
 答えは常に市場が知っている
 ユーザのフィードバックを正しく観測して次の課題を見つける
 机上の空論は価値を届けていない
 2. 完璧は幻想であり、完成はない
 我々も形にならないと想像できない、作ってみないと想像できない
 考えることよりも、実際に作ってみて、小さく失敗する
 失敗を素早く次に活かして、次は上手くやる
 3. 失敗と改善のサイクルを高速に回す
 進化の反対は退化(機能削減)ではなく、停滞。
 なぜリリースが必要か

Slide 28

Slide 28 text

より良い価値を継続的に届けるために
 
 失敗を沢山できる仕組みにする
 良い開発、良いチームとはなにか

Slide 29

Slide 29 text

1. 大きく失敗しない
 失敗は小さく、変化も小さくすることで失敗の範囲を最小にする
 アプリケーションの影響範囲もできるだけ小さくリリースする
 2. 素早く元に戻せる
 素早くリリースできれば、素早くロールバックできる
 やり直せるならチャレンジのハードルが下がる
 チャレンジの数だけ、学びが生まれる
 3. 問題に素早く気付く
 問題に素早く気付くことができれば、素早く改善することができる
 改善することでよりよい価値を提供できる
 失敗するために必要な仕組み

Slide 30

Slide 30 text

失敗できる仕組みとプロセス
 ↓
 良い開発につながる
 良い開発、良いチームとはなにか CI/CDもTDDもDevOpsもマイクロサービスもDDDも 
 結局はここを実現するためのhow(手段) 


Slide 31

Slide 31 text

失敗できる仕組みの例

Slide 32

Slide 32 text

良い開発、良いチームとはなにか
 
 
 良い開発、良いチームとはなにか

Slide 33

Slide 33 text

素早く価値を提供できていて
 
 失敗と改善が可能なチーム
 良い開発、良いチームとはなにか

Slide 34

Slide 34 text

1. 自己紹介
 2. ソフトウェア開発の目的
 3. 良い開発、良いチームとはなにか
 4. 前に進むために必要なこと
 5. 今日から始める最初の一歩
 6. まとめ
 あじぇんだ

Slide 35

Slide 35 text

素早く価値を提供できていて
 
 失敗と改善が可能なチーム
 前に進むために必要なこと

Slide 36

Slide 36 text

素早く価値を提供するためには
 
 素早いリリースが必要
 前に進むために必要なこと ここがつまりは技術力の見せ所 


Slide 37

Slide 37 text

素早くリリースできる環境があっても
 
 コードが無ければ意味がない
 前に進むために必要なこと

Slide 38

Slide 38 text


 
 “手を動かした者だけが、世界を変える”
 
 
 
 株式会社はてな id:onishi
 前に進むために必要なこと

Slide 39

Slide 39 text

素早く価値を提供するためには
 
 素早くコードを提供できるチームが必要
 前に進むために必要なこと

Slide 40

Slide 40 text

Agile (アジャイル)
 前に進むために必要なこと

Slide 41

Slide 41 text

チームの俊敏性を上げるための
 
 プラクティス
 前に進むために必要なこと

Slide 42

Slide 42 text

Scrum(スクラム)
 
 
 前に進むために必要なこと

Slide 43

Slide 43 text

アジャイル開発をはじめるための
 
 フレームワーク
 前に進むために必要なこと

Slide 44

Slide 44 text

Scrumの例
 
 
 前に進むために必要なこと

Slide 45

Slide 45 text

前に進むために必要なこと プロダクトバッ クログ スプリントバッ クログ アプリ フィード バック プロダクトオーナー ユーザ

Slide 46

Slide 46 text

前に進むために必要なこと プロダクトバッ クログ スプリントバッ クログ アプリ フィード バック プロダクトオーナー ユーザ このサイクルがスプリント 


Slide 47

Slide 47 text

前に進むために必要なこと プロダクトバッ クログ スプリントバッ クログ アプリ フィード バック プロダクトオーナー ユーザ 提供したい価値(機能)リスト(プロダクトバックログ) 
 これをプロダクトオーナーが考えて作る 
 開発者も一緒に考えても良い 
 考える場がバックロググルーミングとかバックログリファインメントと言われる 
 1スプリント1回行うのが通例 


Slide 48

Slide 48 text

前に進むために必要なこと プロダクトバッ クログ スプリントバッ クログ アプリ フィード バック プロダクトオーナー ユーザ 提供したい価値(プロダクトバックログ)から 
 実際の作業(スプリントバックログ)に分解する 
 通例ではチーム全体で行い、完成の定義、スコープなどを調整する 
 今回のスプリントのゴールを決める 
 スプリントプランニングと言われる 


Slide 49

Slide 49 text

前に進むために必要なこと プロダクトバッ クログ スプリントバッ クログ アプリ フィード バック プロダクトオーナー ユーザ リリース作業の前に一般的には以下のイベントがある 
 - レビュー(ソースコードとして正しい品質かの確認) 
 - スプリントレビュー(完成の定義を満たしているか) 
 スプリントレビューを1回とする場合もあるし、都度の場合もある 
 レビューを通過したらリリースされる 


Slide 50

Slide 50 text

前に進むために必要なこと プロダクトバッ クログ スプリントバッ クログ アプリ フィード バック プロダクトオーナー ユーザ リリースした結果、判明した改善内容を、 
 プロダクトバックログにも反映させる 
 プロダクトバックログの優先度にあわせて、 
 次のスプリントバックログも調整していく 
 
 改善内容を考える場、振り返りの場をスプリント レトロスペクティブと呼ぶ 


Slide 51

Slide 51 text

では、我々はどうするか?
 
 
 前に進むために必要なこと

Slide 52

Slide 52 text

1. 自己紹介
 2. ソフトウェア開発の目的
 3. 良い開発、良いチームとはなにか
 4. 前に進むために必要なこと
 5. 今日から始める最初の一歩
 6. まとめ
 あじぇんだ

Slide 53

Slide 53 text

Scrumを始めたからと言って
 
 いきなりできるわけではない
 今日からはじめる最初の一歩

Slide 54

Slide 54 text

Scrumを始めたからと言って
 
 いきなりできるわけではない
 今日からはじめる最初の一歩 イチローのバットを持ったからと言って、 
 イチローになれるわけではない 


Slide 55

Slide 55 text

まずはScrumを学ぶ
 
 
 今日からはじめる最初の一歩

Slide 56

Slide 56 text

まずはScrumを学ぶ
 ↓
 先人の知恵から学ぶ
 今日からはじめる最初の一歩

Slide 57

Slide 57 text

“If you want to go fast, go alone.
 If you want to go far, go together.”
 
 “はやく行きたければ、一人で進め。
 遠くまで行きたければ、みんなで進め。”
 
 今日からはじめる最初の一歩

Slide 58

Slide 58 text

まずはみんなで
 
 輪読会をしましょう
 今日からはじめる最初の一歩

Slide 59

Slide 59 text

Scrumを体験する
 ↓
 1週間スプリントをやりましょう
 今日からはじめる最初の一歩

Slide 60

Slide 60 text

まずは1ヶ月、やってみる
 
 
 今日からはじめる最初の一歩

Slide 61

Slide 61 text

1. デイリースクラム
 朝会でも昼会いいのでまずは時間を決めましょう 
 毎日15分から30分程度
 2. バックロググルーミング
 1スプリント分をまずはユーザストーリー含めてやりましょう 
 複数プロダクトがあるのでチームに別れてやっても良い 
 3. スプリントプランニング
 1週間スプリントでリリースできる範囲に落とし込みましょう 
 4. スプリントレビュー
 完成の定義を満たせるかどうか 
 5. スプリントレトロスペクティブ
 当たり前に失敗するはず、だから振り返って活かしていく 
 今回の目玉の一番はここになる 
 スクラムイベント

Slide 62

Slide 62 text

1. 自己紹介
 2. ソフトウェア開発の目的
 3. 良い開発、良いチームとはなにか
 4. 前に進むために必要なこと
 5. 今日から始める最初の一歩
 6. まとめ
 あじぇんだ

Slide 63

Slide 63 text

アジャイル開発を目指すということは
 
 自分たちで決めるということ
 今日からはじめる最初の一歩

Slide 64

Slide 64 text

自分たちで決めるということは
 
 責任を持つということ
 今日からはじめる最初の一歩

Slide 65

Slide 65 text

アジャイル開発は
 
 チーム開発
 今日からはじめる最初の一歩

Slide 66

Slide 66 text

チームファーストと
 
 HRT(謙虚、尊敬、信頼)を持つ
 今日からはじめる最初の一歩

Slide 67

Slide 67 text

チームで決めて
 
 チームで問題を解きましょう
 今日からはじめる最初の一歩

Slide 68

Slide 68 text

ご清聴ありがとうございました
 
 
 まとめ