『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会...

80
超初心者向け! Visual Studio + git で始めるゕジャル開発 2014年07月26日(土) 16:00-17:10 .NETラボ 勉強会 2014年7月 Microsoft MVP for Visual Studio ALM @fullvirtue Copyright © fullvirtue. All rights reserved.

description

「超初心者向け! Visual Studio + Git で始めるアジャイル開発」 (Microsoft MVP for Visual Studio ALM 関 満徳) 「Gitって何?アジャイルって何?」 分散型バージョン管理システム(Git)における、プルリクエスト主体のアジャイルなチケット駆動開発について、実案件での経験を踏まえてお話します。 http://kokucheese.com/event/index/196457/

Transcript of 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会...

Page 1: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

超初心者向け! Visual Studio + git で始めるゕジャル開発

2014年07月26日(土) 16:00-17:10

.NETラボ 勉強会 2014年7月 Microsoft MVP for Visual Studio ALM @fullvirtue

Copyright © fullvirtue. All rights reserved.

Page 2: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

本日の概要 本日のセッションの概要について確認していきます

Copyright © @fullvirtue. All rights reserved. 2

Page 3: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

本日の概要(1/1)

本セッションについて(1/1)

概要

– 「gitって何?ゕジャルって何?」 分散型バージョン管理システム(git)における、 プルリク゛スト主体のゕジャルなチケット駆動開発について、 実案件での経験を踏まえてお話します。

対象者

– 分散型バージョン管理システム(git)について知りたい方

– ゕジャルについて知りたい方

– チケット駆動開発について知りたい方

Copyright © fullvirtue. All rights reserved. 3

Page 4: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

おことわり(1/4)

今回の資料について(1/4)

今回の資料は、以下を参考にしています。 私自身のゝリジナルはほとんどありませんので、 ご了承ください。

– デザイナのためのGit入門

» http://www.slideshare.net/dsuket/git-16343460

– サルでもわかるGit入門

» http://www.backlog.jp/git-guide/

– 知らないと現場で困るバージョン管理システムの基礎知識

» http://www.atmarkit.co.jp/ait/articles/1305/20/news015.html

– バージョン管理とは : 集中型 vs. DVCS

» http://japan.blogs.atlassian.com/2012/11/version-control-centralized-dvcs/

Copyright © fullvirtue. All rights reserved. 4

Page 5: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

おことわり(2/4)

今回の資料について(2/4)

今回の資料は、以下を参考にしています。 私自身のゝリジナルはほとんどありませんので、 ご了承ください。

– A successful Git branching model

» [Eng]http://nvie.com/posts/a-successful-git-branching-model/

» [日本語訳] http://keijinsonyaban.blogspot.jp/2010/10/successful-git-branching-model.html

– キャスレーの社内開発で利用するgitのブランチモデルとかPull Requestの簡単な解説とか

» http://www.casleyconsulting.co.jp/blog-engineer/git/キャスレーの社内開発で利用するgitのブランチモ/

Copyright © fullvirtue. All rights reserved. 5

Page 6: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

おことわり(3/4)

今回の資料について(3/4)

今回の資料は、以下を参考にしています。 私自身のゝリジナルはほとんどありませんので、 ご了承ください。

– Agile vs. Waterfall, Revisited

» http://www.commonplaces.com/blog/agile-vs-waterfall-revisited

– 新人エンジニアが知っておきたいアジャイル開発

» http://www.slideshare.net/schoowebcampus/ss-30477398

– アジャイルソフトウェア開発宣言

» http://agilemanifesto.org/iso/ja/

– アジャイル開発の現在・過去・未来

» http://www.publickey1.jp/blog/10/post_121.html

Copyright © fullvirtue. All rights reserved. 6

Page 7: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

おことわり(4/4)

今回の資料について(4/4)

今回の資料は、以下を参考にしています。 私自身のゝリジナルはほとんどありませんので、 ご了承ください。

– PMBOKの「10の知識エリア」

» http://consulting-skill.com/pmo/pmbok.html

– Scrum概要 #tfsug

» http://www.slideshare.net/Ryuzee/scrum-tfsug

– ウォーターフォールモデルの起源に関する考察 ウォーターフォールに関する誤解を解く

» http://barrel.ih.otaru-uc.ac.jp/handle/10252/5163

Copyright © fullvirtue. All rights reserved. 7

Page 8: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

Copyright © fullvirtue. All rights reserved.

本日のゕジンダ(1/1)

8

バージョン管理とgit

ゕジャルとソフトゕ開発

まとめ

Page 9: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit バージョン管理やgitの概要について説明します

Copyright © fullvirtue. All rights reserved. 9

Page 10: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

Copyright © fullvirtue. All rights reserved.

本日のゕジンダ(1/1)

10

バージョン管理とgit

ゕジャルとソフトゕ開発

まとめ

Page 11: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(1/34)

よくあるバージョン管理の例(1/7)

フゔル名で管理

Copyright © fullvirtue. All rights reserved. 11 デザナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 12: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(2/34)

よくあるバージョン管理の例(2/7)

フゔル名で管理

Copyright © fullvirtue. All rights reserved. 12 デザナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

どれが最新?

Page 13: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(3/34)

よくあるバージョン管理の例(3/7)

共有フ゜ルダで管理

Copyright © fullvirtue. All rights reserved. 13 デザナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

共有フ゜ルダ

index.html

Page 14: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(4/34)

よくあるバージョン管理の例(4/7)

共有フ゜ルダで管理

Copyright © fullvirtue. All rights reserved. 14 デザナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

共有フ゜ルダ

index.html

更新

Page 15: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(5/34)

よくあるバージョン管理の例(5/7)

共有フ゜ルダで管理

Copyright © fullvirtue. All rights reserved. 15 デザナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

共有フ゜ルダ

index.html

更新 更新

Page 16: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(6/34)

よくあるバージョン管理の例(6/7)

共有フ゜ルダで管理

Copyright © fullvirtue. All rights reserved. 16 デザナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

共有フ゜ルダ

index.html

更新 更新

衝突

Page 17: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(7/34)

よくあるバージョン管理の例(7/7)

共有フ゜ルダで管理

Copyright © fullvirtue. All rights reserved. 17 デザナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

あれ、上書き しちゃった…

共有フ゜ルダ

index.html

更新 更新

衝突

Page 18: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(8/34)

バージョン管理システムとは(1/1)

フゔルに対して 「誰が」「いつ」「何を変更したか」 というような情報を記録

過去のある時点の状態を復元したり 変更内容の差分を表示できるようにするシステム

Copyright © fullvirtue. All rights reserved. 18 知らないと現場で困るバージョン管理システムの基礎知識 http://www.atmarkit.co.jp/ait/articles/1305/20/news015.html

Page 19: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(9/34)

バージョン管理システムを使うと(1/1)

すぐ前の状態に戻せる

複数人で同じフゔルを更新しても大丈夫

変更履歴が観れる

リリース管理も簡単

Copyright © fullvirtue. All rights reserved. 19 デザナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 20: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(10/34)

なぜ開発の現場でバージョン管理を使うのか(1/1)

1. ゕジリテゖを高める » もし開発中にソフトゕにバグを埋め込んでしまっても、

問題の発生する以前の状態へ簡単に戻せる

2. 素早い開発が可能に » ある環境でバグなどの問題が発生した場合には、

過去にさかのぼって変更の差分を確認することで原因を分析したり、 別に同じ環境を作って同じ問題が再現するかどうか調査できる

» ソフトゕへの影響が大きな“変更”や試験的な機能の追加を 安心して行えるので、結果として素早い開発が可能になる

3. 余計な情報でコードが肥大しない » 変更内容はバージョン管理システムに記録されるので、変更前の内容を

コメントゕトしてコード中に残すようなことをする必要はない

Copyright © fullvirtue. All rights reserved. 20 知らないと現場で困るバージョン管理システムの基礎知識 http://www.atmarkit.co.jp/ait/articles/1305/20/news015.html

Page 21: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(11/34)

何をバージョン管理するのか(1/1)

ある時点のソフトゕ・環境を構築するために必要なものすべて

– ソフトゕのソースコード

– ビルドスクリプト

– データベースのスキーマ定義、マグレーションの SQL、初期データ

– 環境構築用の設定フゔル・スクリプト

Copyright © fullvirtue. All rights reserved. 21 知らないと現場で困るバージョン管理システムの基礎知識 http://www.atmarkit.co.jp/ait/articles/1305/20/news015.html

Page 22: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(12/34)

何をバージョン管理してはいけないのか(1/1)

バージョン管理する必要がない、共有してはいけないフゔル

– ソースコードをコンパルしてできたバナリフゔル

– 秘密鍵フゔルなどの他人に見せてはいけないもの

Copyright © fullvirtue. All rights reserved. 22 知らないと現場で困るバージョン管理システムの基礎知識 http://www.atmarkit.co.jp/ait/articles/1305/20/news015.html

Page 23: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(13/34)

バージョン管理システムの方式(1/9)

『集中管理方式』

– プロジクトの単一の “中心” コピーがどこかに存在

» たいていはサーバー上であることが多い

– プログラマーはこの中心コピーに変更を “コミット”

» 単純に中央システムにその変更を記録することを意味

– 代表的な集中型バージョン管理システム

» CVS(Concurrent Versions System)

» SVN(Subversion)

» Perforce

『分散管理方式』

Copyright © fullvirtue. All rights reserved. 23 バージョン管理とは : 集中型 vs. DVCS http://japan.blogs.atlassian.com/2012/11/version-control-centralized-dvcs/

Page 24: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(14/34)

バージョン管理システムの方式(2/9)

『集中管理方式』

『分散管理方式』

– プロジクトのフゔルの全バージョンを保管するための 中央サーバーを必要としない

– 各開発者はレポジトリのコピーを “クローン” し、 自身のハード ドラブ上にそのプロジクトの 完全な 履歴を持つ

– 代表的な分散型バージョン管理システム

» git

» mercurial

» Bazaar

Copyright © fullvirtue. All rights reserved. 24 バージョン管理とは : 集中型 vs. DVCS http://japan.blogs.atlassian.com/2012/11/version-control-centralized-dvcs/

Page 25: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(15/34)

バージョン管理システムの方式(3/9)

『集中管理方式』

『分散管理方式』

Copyright © fullvirtue. All rights reserved. 25 デザナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 26: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(16/34)

バージョン管理システムの方式(4/9)

『集中管理方式』

『分散管理方式』

Copyright © fullvirtue. All rights reserved. 26

編集中 編集不可

編集不可 編集不可

編集中 編集中

編集中 編集中

デザナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 27: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(17/34)

バージョン管理システムの方式(5/9)

『集中管理方式』

『分散管理方式』

Copyright © fullvirtue. All rights reserved. 27

サーバー上の リポジトリ

ローゞル フゔルの編集

リモート リポジトリ

ローゞル フゔルの編集

ローゞル リポジトリ

デザナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 28: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(18/34)

バージョン管理システムの方式(6/9)

『集中管理方式』

『分散管理方式』

Copyright © fullvirtue. All rights reserved. 28

サーバー上の リポジトリ

チックゕト & フゔルロック

ローゞル フゔルの編集

リモート リポジトリ

ローゞル フゔルの編集

ローゞル リポジトリ

デザナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 29: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(19/34)

バージョン管理システムの方式(7/9)

『集中管理方式』

『分散管理方式』

Copyright © fullvirtue. All rights reserved. 29

サーバー上の リポジトリ

チックゕト & フゔルロック

コミット & フゔルロック解除 ローゞル フゔルの編集

リモート リポジトリ

ローゞル フゔルの編集

ローゞル リポジトリ

デザナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 30: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(20/34)

バージョン管理システムの方式(8/9)

『集中管理方式』

『分散管理方式』

Copyright © fullvirtue. All rights reserved. 30

サーバー上の リポジトリ

チックゕト & フゔルロック

コミット & フゔルロック解除 ローゞル フゔルの編集

リモート リポジトリ

ブランチ切替

ローゞル フゔルの編集

ローゞル リポジトリ

プル

デザナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 31: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(21/34)

バージョン管理システムの方式(9/9)

『集中管理方式』

『分散管理方式』

Copyright © fullvirtue. All rights reserved. 31

サーバー上の リポジトリ

チックゕト & フゔルロック

コミット & フゔルロック解除 ローゞル フゔルの編集

リモート リポジトリ

ブランチ切替

ローゞル フゔルの編集

ローゞル リポジトリ

プル

マージ & コミット プルリク゛スト or プッシュ

デザナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 32: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(22/34)

分散管理方式のメリット(1/2)

手軽にコミットできる

ゝフランでもコミット出来る

コミットが増えると履歴が増える

履歴が増えると戻すのが簡単

Copyright © fullvirtue. All rights reserved. 32 デザナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 33: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(23/34)

分散管理方式のメリット(2/2)

ブランチ・マージが便利

別バージョンを作るのが簡単

別バージョンをマージするのが簡単

Copyright © fullvirtue. All rights reserved. 33 デザナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 34: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(24/34)

Gitが不得意なこと(1/1)

バナリフゔルの管理が苦手

– 遅くなる

– 差分が取れない

Copyright © fullvirtue. All rights reserved. 34 デザナのためのGit入門 http://www.slideshare.net/dsuket/git-16343460

Page 35: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(25/34)

ブランチを中心としたソフトゕ開発(1/7)

ブランチとは

– 履歴の流れを分岐して記録していくためのもの

– 分岐したブランチは他のブランチの影響を受けない

– 同じリポジトリ中で複数の変更を同時に進めていくことができる

Copyright © fullvirtue. All rights reserved. 35 サルでもわかるGit入門 http://www.backlog.jp/git-guide/stepup/stepup1_1.html

Page 38: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(28/34)

ブランチを中心としたソフトゕ開発(4/7)

Copyright © fullvirtue. All rights reserved. 38 A successful Git branching model http://nvie.com/posts/a-successful-git-branching-model/

master hotfix release develop feature

本番環境の 不具合対応

不具合対応 を開発環境にも反映

不具合対応内容を本番環境に反映

本番リリース 時にタグを付与

Page 39: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(29/34)

ブランチを中心としたソフトゕ開発(5/7)

Copyright © fullvirtue. All rights reserved. 39 A successful Git branching model http://nvie.com/posts/a-successful-git-branching-model/

master hotfix release develop feature

リリース前確認で不具合発見し

たので対応

不具合対応を 開発環境にも反

リリース内容を 本番環境に反映

本番リリース 時にタグを付与

Page 41: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(31/34)

ブランチを中心としたソフトゕ開発(7/7)

Copyright © fullvirtue. All rights reserved. 41

ブランチがmasterに 収束している例

複数の開発が 並行で進んだ例

順番に開発を進めた例

Page 42: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(32/34)

プルリク゛ストのススメ(1/2)

「プッシュ」と「プルリク゛スト」の違い

– プッシュ(push)

» 誰からもレビューされていないソースコードを、 開発者の判断で、全員に影響があるブランチに反映

– プルリクエスト(pull request)

» 誰かしら変更内容を確認したソースコードを、 権限のある役割の方の判断で、全員に影響があるブランチに反映

Copyright © fullvirtue. All rights reserved. 42

Page 44: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

バージョン管理とgit(34/34)

gitを操作するのに便利なツールのご紹介(1/1)

『SourceTree』

– git や mercurial 用の強力な無料 Mac / Windows クラゕント

– https://www.atlassian.com/ja/software/sourcetree/overview

Copyright © fullvirtue. All rights reserved. 44

Page 46: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

Copyright © fullvirtue. All rights reserved.

本日のゕジンダ(1/1)

46

バージョン管理とgit

ゕジャルとソフトゕ開発

まとめ

Page 47: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(1/31)

これまでのソフトゕ開発(1/1)

Copyright © fullvirtue. All rights reserved. 47 新人゛ンジニゕが知っておきたいゕジャル開発 http://www.slideshare.net/schoowebcampus/ss-30477398

市場

事業

IT

市場分析

依頼/発注

納品

リリース 要件

設計

実装

テスト

半年~数年

Page 48: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

Copyright © fullvirtue. All rights reserved. 48

Page 49: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

Copyright © fullvirtue. All rights reserved. 49

Page 50: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(4/31)

近年のソフトゕ開発のニーズ(1/1)

Copyright © fullvirtue. All rights reserved. 50

スピード重視

初期ユーザーを獲得するため 早期に市場に出したい

スモールスタート

事業初期にかかる初期投資額 はなるべく下げたい

フゖードバック

開始後に出るニーズや 経験を反映していきたい

スケールゕト

事業が軌道に乗るに従って 拡大をしていきたい

要件が不確定で小規模なため、これまでの開発は非効率

新人゛ンジニゕが知っておきたいゕジャル開発 http://www.slideshare.net/schoowebcampus/ss-30477398

Page 51: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(5/31)

よくある開発の落とし穴(1/1)

いつまでも完成しない

完成しても誰も使わない

直したくても改修できない

Copyright © fullvirtue. All rights reserved. 51 新人゛ンジニゕが知っておきたいゕジャル開発 http://www.slideshare.net/schoowebcampus/ss-30477398

Page 52: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(6/31)

ゕジャル開発の効果(1/1)

リスクを初期に下げる

可視性を常に高く保つ

変化コストを一定に保つ

Copyright © fullvirtue. All rights reserved. 52 新人゛ンジニゕが知っておきたいゕジャル開発 http://www.slideshare.net/schoowebcampus/ss-30477398

Page 53: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(7/31)

ゕジャル開発のプロセス(1/1)

短いサクルで、分析・設計・実装・テストを 同時並行で行い、繰り返す

Copyright © fullvirtue. All rights reserved. 53 新人゛ンジニゕが知っておきたいゕジャル開発 http://www.slideshare.net/schoowebcampus/ss-30477398

Page 54: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(8/31)

゜ーターフ゜ールモデルの誤解(1/1)

゜ーターフ゜ール[原著]は、一方通行の開発モデルではない

– ゜ーターフ゜ールが間違って広まっている事実を知らない人が多い

Copyright © fullvirtue. All rights reserved. 54 ゜ーターフ゜ールに関する誤解を解く http://barrel.ih.otaru-uc.ac.jp/handle/10252/5163

Page 55: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(9/31)

ゕジャルソフトゕ開発宣言–4つの価値(1/1)

私たちは、ソフトゕ開発の実践あるいは実践を手助けを する活動を通じて、よりよい開発方法を見つけだそうとしている。 この活動を通して私たちは以下の価値に至った。

– プロセスやツールよりも個人と対話を、

– 包括的なドキュメントよりも動くソフトゕを、

– 契約交渉よりも顧客との協調を、

– 計画に従うことよりも変化への対応を、

価値とする。すなわち、左記のことがらに価値があることを 認めながらも、私たちは右記のことがらにより価値をおく。

Copyright © fullvirtue. All rights reserved. 55 ゕジャルソフトゕ開発宣言 http://agilemanifesto.org/iso/ja/

Page 56: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(10/31)

ゕジャルの原則(1/1)

Copyright © fullvirtue. All rights reserved. 56 新人゛ンジニゕが知っておきたいゕジャル開発 http://www.slideshare.net/schoowebcampus/ss-30477398

顧客価値の優先

変化に対応

短期のリリース

全員同席

モチベーションと信頼

会話

動くソフトゕ

持続可能なペース

技術的卓越性

シンプル

自己組織的チーム

ふりかえりと改善

Page 57: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(11/31)

ゕジャルソフトゕ開発宣言–12の原則(1/3)

ゕジャル宣言の背後にある原則

私たちは以下の原則に従う

1. 顧客満足を最優先し、価値のあるソフトゕを早く継続的に 提供します。

2. 要求の変更はたとえ開発の後期であっても歓迎します。 変化を味方につけることによって、お客様の競争力を引き上げます。

3. 動くソフトゕを、2-3週間から2-3ヶ月というできるだけ 短い時間間隔でリリースします。

4. ビジネス側の人と開発者は、プロジクトを通して日々一緒に 働かなければなりません。

Copyright © fullvirtue. All rights reserved. 57 ゕジャルソフトゕ開発宣言 http://agilemanifesto.org/iso/ja/

Page 58: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(12/31)

ゕジャルソフトゕ開発宣言–12の原則(2/3)

ゕジャル宣言の背後にある原則

私たちは以下の原則に従う

5. 意欲に満ちた人々を集めてプロジクトを構成します。環境と支援を与え仕事が無事終わるまで彼らを信頼します。

6. 情報を伝えるもっとも効率的で効果的な方法は フス・ト・フスで話をすることです。

7. 動くソフトゕこそが進捗の最も重要な尺度です。

8. ゕジャル・プロセスは持続可能な開発を促進します。 一定のペースを継続的に維持できるようにしなければなりません。

Copyright © fullvirtue. All rights reserved. 58 ゕジャルソフトゕ開発宣言 http://agilemanifesto.org/iso/ja/

Page 59: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(13/31)

ゕジャルソフトゕ開発宣言–12の原則(3/3)

ゕジャル宣言の背後にある原則

私たちは以下の原則に従う

9. 技術的卓越性と優れた設計に対する不断の注意が機敏さを高めます。

10. シンプルさ(ムダなく作れる量を最大限にすること)が本質です。

11. 最良のゕーキテクチャ・要求・設計は、自己組織的なチームから 生み出されます。

12. チームがもっと効率を高めることができるかを定期的に振り返り、それに基づいて自分たちのやり方を最適に調整します。

Copyright © fullvirtue. All rights reserved. 59 ゕジャルソフトゕ開発宣言 http://agilemanifesto.org/iso/ja/

Page 60: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(14/31)

フゖードバックサクル(1/1)

『作って、見せて、調整していく』ことをひたすら繰り返す

フゖードバックサクルを数多く回す

Copyright © fullvirtue. All rights reserved. 60

Page 61: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(15/31)

ゕジャルの現在(1/1)

61 Copyright © POStudy (プロダクトゝーナーシップ勉強会). All rights reserved. ゕジャル開発の現在・過去・未来 http://www.publickey1.jp/blog/10/post_121.html

Page 62: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(16/31)

ゕプリケーションラフサクルマネジメント(1/1)

Copyright © fullvirtue. All rights reserved. 62

Page 63: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(17/31)

プロジクトマネジメント(1/1)

Copyright © fullvirtue. All rights reserved. 63

スコープ マネジメント

コスト マネジメント

コミュニケーション マネジメント

統合 マネジメント

ステークホルダー マネジメント

リスク マネジメント

調達 マネジメント

人的資源 マネジメント

タイム マネジメント

品質 マネジメント

What

How How much

When

How How How

Why How

Who Where

PMBOKの「10の知識゛リゕ」 http://consulting-skill.com/pmo/pmbok.html

Page 64: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(18/31)

プロダクトマネジメント(1/1)

Copyright © fullvirtue. All rights reserved. 64

『製品』を対象

①意思決定されたものを実行

②日常的な業務を遂行していくため

の役割を期待されている

③新製品の開発

既存の製品ランの管理

④現在のシステムが機能し続ける

ように複雑さに対処すること

『チーム』を対象

①意思決定を行う

②会社を変革していくための役割を

期待されている

③さまざまな役割を持つチーム

メンバーを、企業やチームが描く

ビジョンを、製品を通して実現

しようと動機づけをする

④現在のシステムを変革していくこと

マネジメント リーダーシップ

Page 65: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(19/31)

計画を立てる

Copyright © fullvirtue. All rights reserved. 65

プラン

Page 66: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(20/31)

計画を立てる

Copyright © fullvirtue. All rights reserved. 66

プラン

Version エピック

バックログ

スプリント

クイックフィルター

Page 67: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(21/31)

計画を立てる

Copyright © fullvirtue. All rights reserved. 67

エピック課題

Page 68: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(22/31)

計画を立てる

Copyright © fullvirtue. All rights reserved. 68

エピック課題

エピックの 基礎情報

エピックに関する概要

エピックの各工程毎に 課題タイプ「ストーリー」を作成

Page 69: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(23/31)

スプリントをまわす

Copyright © fullvirtue. All rights reserved. 69

作業

Page 70: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(24/31)

スプリントをまわす

Copyright © fullvirtue. All rights reserved. 70

作業

作業前のタスク ・オープン ・再オープン ・保留

進行中のタスク ・設計中 ・開発中 ・テスト中

解決済みのタスク ・設計完了 ・開発完了 ・テスト完了

クローズしたタスク ・設計レビュー済 ・最終マージ済 ・テスト確認済

クイックフィルター

Page 71: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(25/31)

スプリントをまわす

Copyright © fullvirtue. All rights reserved. 71

レポート

Page 72: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(26/31)

スプリントをまわす

Copyright © fullvirtue. All rights reserved. 72

ダッシュボード

Page 73: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(27/31)

スプリントをまわす

Copyright © fullvirtue. All rights reserved. 73

ダッシュボード

リリースノート

バーンダウンチャート

自分が抱えている課題

Page 74: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(28/31)

スプリントをまわす

Copyright © fullvirtue. All rights reserved. 74

Page 75: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(29/31)

スプリントをまわす

Copyright © fullvirtue. All rights reserved. 75

[ポイント] 事前にテンプレートを作成して共有しておく ↓ 起票の度に各項目を入力する手間が省ける

Page 76: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(30/31)

リリースを管理する

Copyright © fullvirtue. All rights reserved. 76

リリースノート

Page 77: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

ゕジャルとソフトゕ開発(31/31)

リリースを管理する

Copyright © fullvirtue. All rights reserved. 77

リリースノート

リリース対象の課題の一覧を、リンク付きで表示

リリース対象の課題の一覧を、 HTMLで表示

Page 78: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

まとめ

Copyright © fullvirtue. All rights reserved. 78

Page 79: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

Copyright © fullvirtue. All rights reserved.

本日お話したこと(1/1)

79

バージョン管理とgit

ゕジャルとソフトゕ開発

まとめ

Page 80: 『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab

Copyright © fullvirtue. All rights reserved. 80

ご静聴ありがとうございました。