itpro expo2014_atlassian
DESCRIPTION
ITpro expo2014資料TRANSCRIPT
Copyright© Growth xPartners, Inc. All rights reserved.
バグ管理・バージョン管理 その次は?
ツールを導入しているだけで満足していませんか?
Copyright© Growth xPartners, Inc. All rights reserved.
はじめに
• 開発支援ツールは何をいれていますか?
• バグ管理やバージョン管理をいれて満足していませんか?
• 自分の開発支援ツール利用レベルを確認して、これからのステップを考えてみませんか?
1
Copyright© Growth xPartners, Inc. All rights reserved.
開発支援ツール
2
Copyright© Growth xPartners, Inc. All rights reserved.
開発支援ツール
• 開発プロセスの様々な工程で利用するツール
• 目的: –チーム内での情報の共有
–トレーサビリティ(現状と経緯)の把握
–自動化(効率化とミス抑止)
• 対象物: –開発資産(ソースコード、設計書など)
–課題(検討事項、バグなど)
–タスク(作業など)
–構成(リリース手順、インフラなど)
3
Copyright© Growth xPartners, Inc. All rights reserved.
開発支援ツール • ドキュメント管理
– Wiki:Wiki、Confluence
• ソースコード管理 – 並行バージョン管理:CVS – 分散バージョン管理:Git、Stash
• 課題管理/バグ管理 – Redmine、Trac、JIRA
• タスク管理 – WBS:MS Project – チケット管理:Redmine、Trac、JIRA
• 構成管理 – ソフトウェア構成管理:Ant、Maven – CI(リリースプロセス管理):Jenkins、Bamboo
4
Copyright© Growth xPartners, Inc. All rights reserved.
開発支援ツール
• 開発支援ツールは開発手法に関係ない
• 基本は計画し、計測し、調整する
–ウォーターフォール型(計画重視)
» 計画:全体を計画し、効率的なリソース配置を考える
» 計測:計画とのズレを把握する
» 調整:ズレを見つけたら調整を行う
–アジャイル型(調整重視)
» 計画:精度が出るぐらい小さな計画にする
» 計測:動くソフトウェアで計測する
» 調整:定期的に関係者で計画の見直しを行う
5
Copyright© Growth xPartners, Inc. All rights reserved.
開発支援ツール
• 管理したいものは同じ
–開発資産(ソースコード、設計書など)
–課題(検討事項、バグなど)
–構成(リリース手順、インフラなど)
• 要注意はタスク
–ウォーターフォールの場合は作業の全体感が重要になるのでWBSが向く
–アジャイルの場合は作業の入替えが重要になるのでチケット/カンバンが向く
6
Copyright© Growth xPartners, Inc. All rights reserved.
ツール利用レベル
7
Copyright© Growth xPartners, Inc. All rights reserved.
ツール利用レベル
• レベルの指標
–利用ツール:どのツールを使っているか
–トレース範囲:ツールをまたがったトレース範囲
• トレーサビリティについて
–いつ発生した課題が、いつ誰が実装されて、いつどこにリリースされたかを自動的に把握する
8
Copyright© Growth xPartners, Inc. All rights reserved.
ツール利用レベル
• レベル0
–ツールはほとんど利用していない
» EXCELはツールに入りません
–利用していてもチームでは共有できていない
» 一人が集中管理をしている状態はNG
9
開発資産
課題
タスク
構成
情報の共有 × × × ×
トレーサビリティ × × × ×
自動化 × × × ×
Copyright© Growth xPartners, Inc. All rights reserved.
ツール利用レベル
• レベル1
–ソースコード管理、バグ管理は導入され情報共有ができている
» ドキュメント管理はEXCELをバージョン管理
–タスク管理は中央集権
» タスクのステータスや時間を個別入力はできていない
–ビルドスクリプトを手動実行している
» ビルドから先のリリースは自動化されていない
–トレーサビリティが確保されていない
» いつ発生したバグが、いつ誰が実装されて、いつどこにリリースされたかが明確には分からない
10
開発資産
課題
タスク
構成
情報の共有 ○ ○ △ △
トレーサビリティ × × × ×
自動化 ○ ○ △ △
Copyright© Growth xPartners, Inc. All rights reserved.
ツール利用レベル
• レベル2
–バグやタスクとソースコードやリリースバージョンは関連づけられている
–ドキュメントも一部はWikiで管理
–CIツールが導入され、リリースは自動化されている
–開発チーム内では情報が共有化されている
» 運用チームとの情報共有が不十分
11
開発資産
課題
タスク
構成
情報の共有 ○ ○ △ ○
トレーサビリティ ○ ○ △ △
自動化 ○ ○ △ ○
Copyright© Growth xPartners, Inc. All rights reserved.
ツール利用レベル
• レベル3
–課題発生からサービス提供までがトレース、かつ、運営側にも情報が共有されている
» 開発視点:いつ発生した課題が、いつ誰によって実装されて、どのバージョンに含まれて、いつどのサーバにデプロイされたか
» 運営視点:このサーバには、どのバージョンがデプロイされ、そのバージョンでは、どの課題が、いつ誰によって実装されて、いつリリースされたかが自動的に把握する
–DevOps/OpsDevが実現されている
12
開発資産
課題
タスク
構成
情報の共有 ○ ○ ○ ○
トレーサビリティ ○ ○ ○ ○
自動化 ○ ○ ○ ○
Copyright© Growth xPartners, Inc. All rights reserved.
ツール利用レベル
• ポイントは、それぞれの範囲
–情報共有
» 個人→開発チーム→開発と運用
–トレース
» なし→課題とコード→課題とコードとバージョン→課題とコードとバージョンとデプロイ
–自動化:
» なし→スクリプト化→自動運行
13
Copyright© Growth xPartners, Inc. All rights reserved.
ツール利用レベル
• ステップ バイ ステップ
–レベル0→レベル1
» 最適はバグ管理とソースコード管理から
▸ タスク管理はWBSでOK
» バグとバージョンへの紐付け
–レベル1→レベル2
» タスクからコードやバージョンへの紐付け
» Wikiの導入(内部手順書から)
» CIツールの導入(まずはボタン1つ)
–レベル2→レベル3
» タスクからデプロイまでの一括管理
14
Copyright© Growth xPartners, Inc. All rights reserved.
ツール利用レベル
• ステップ バイ ステップ
15
運営
運用テスト
結合テスト
企画
検討
外部設計
内部設計
実装 ユニット テスト
内部テスト
レベル1
レベル2
レベル3
Copyright© Growth xPartners, Inc. All rights reserved.
アトラシアン製品
16
Copyright© Growth xPartners, Inc. All rights reserved.
アトラシアン製品
• レベルを上げていくのは、レベルアップを想定したツール群の導入が推奨
–Redmine+Git+Jenkinsでもいいけど…
–アトラシアン製品なら、最初から統合前提
» 課題/タスク:JIRA+JIRA Agile
» ドキュメント:Confluence
» ソースコード:Stash(Git)
» CI:Bamboo
17
Copyright© Growth xPartners, Inc. All rights reserved.
アトラシアン製品
18
18
課題 ソースコード モジュール 実行環境
v1 済 ☑タスクA ☑タスクB
v2 未 ☑タスクC ☑タスクD □タスクE
残 □タスクF □タスクG □タスクH
v1
v2.b2
v1
v2.b1
v2.b2
☑タスクA ☑タスクB
☑タスクC ☑タスクD
☑タスクC
本番
受入
開発
検証
v2.b1
Copyright© Growth xPartners, Inc. All rights reserved.
課題管理からのビュー
19
課題からソースコードやリリースのトレース
Copyright© Growth xPartners, Inc. All rights reserved.
ソースコード管理からのビュー
20
コミットから課題のトレース
Copyright© Growth xPartners, Inc. All rights reserved.
CIからのビュー
21
リリースからソースコードコミットのトレース
Copyright© Growth xPartners, Inc. All rights reserved.
CIからのビュー
22
リリースから課題のトレース
Copyright© Growth xPartners, Inc. All rights reserved.
タスク管理からのビュー
23
カンバンからコードやデプロイ
Copyright© Growth xPartners, Inc. All rights reserved.
詳しくは
• ブース説明員へ!
24
Copyright© Growth xPartners, Inc. All rights reserved.
開発プロセス
25
Copyright© Growth xPartners, Inc. All rights reserved.
開発プロセス
• プロジェクトマネジメントの役割
–計画する
–計測する
–調整する
• 手法にかかわらず同じことをする
• 「計画と実行のズレを見つけて調整していく」
–そのために計画するし、計測する
26
Copyright© Growth xPartners, Inc. All rights reserved.
開発プロセス
• 開発プロセスの基本形
27
運営
運用テスト
結合テスト
企画
検討
外部設計
内部設計
実装 ユニット テスト
内部テスト