アジャイル初心者向けセミナー 発表資料

ＮＥＣの製品開発マネージャが伝える
アジャイル開発導入の勘所
２０１５年２月２４日
株式会社 NEC情報システムズ
田中 修

弊社紹介
株式会社 NEC情報システムズ▌本社 NEC玉川事業所内▌資本金 2億円▌従業員 1,440名▌主な業務NECグループの社内情報システムの開発・保守・運用
先端技術を駆使したソフトの開発
システム構築サービス、システム保守・運用サービス etc.

Page 2© NEC Corporation 2015

プロジェクト説明▌NECグループ内で使用する社内システムを開発▌Ver.1はウォーターフォール型で開発
Ver.2の開発からアジャイル開発手法を適用▌Ver.2の開発期間は2014/8～2015/1 (6ヶ月間)

Page 3© NEC Corporation 2015

アジャイル適用の動機▌お客様(NEC)の意向▌開発の参考にできるシステムが世の中に存在しておらず、お客様はやりたいことはあるが、具体的なシステムをイメージできなかった▌お客様は小さな開発を繰り返し、動く物を見ながら仕様を調整して行きたいと考えた

Page 4© NEC Corporation 2015

アジャイル開発の立ち上げ▌開発前のスキル状況
お客様は認定スクラムマスターを取得済みでアジャイルの知識が豊富
NECではアジャイル開発プロセスが標準化されている
開発者は全員アジャイル開発を経験していないが、ウォーターフォールの開発は長けている▌準備一般書籍による学習「アジャイルサムライ」 「SCRUM BOOT CAMP THE BOOK」
お客様のアジャイル開発プロセスを理解アジャイル開発支援チーム（※)の教育受講▌立ち上げアジャイル開発支援チームの助けを借り、スムースに開発を立ち上げ※ ＮＥＣソリューションイノベータ株式会社のアジャイル開発支援チームに立ち上げ支援を要請

Page 5© NEC Corporation 2015

ステークホルダー
顧客

開発チーム

プロダクトオーナー 2名
開発者 4名
品質管理者
スクラムマスター 1名
アジャイル開発支援者
アジャイル開発支援チーム▌役割りは兼任せず▌細かい要件決めにプロダクトオーナーも参加、週に2回開発現場を訪問▌スクラムマスターは開発組織のマネージャー
開発プロセスの選定や要員アサインの権限を持つ▌開発者は全員スキルが高い自社社員
Page 6© NEC Corporation 2015

開発に何を取り入れたかスクラムを全面適用 + XPの手法を一部適用▌スプリントスプリント▌スプリント計画
スプリント計画▌ワークショップ
ワークショップ▌スプリントレビュー
スプリントレビュー▌プロダクトバックログ▌ペアワーク▌タスクボード▌バーンダウンチャート▌朝会

Page 7© NEC Corporation 2015

開発
スプリント1

開発
スプリント2

開発
スプリント3

1 weekスプリント計画
タスク決め
時間見積もりワークショップ
次スプリントの仕様確認
開発範囲決めリリース
スプリント・・・

2 weekスプリントレビュー
デモ
Done定義確認
KPTで振り返り

開発に何を取り入れたか
スクラムを全面適用 + XPの手法を一部適用▌スプリント▌スプリント計画▌ワークショップ
▌スプリントレビュー
プロダクトバックログ▌プロダクトバックログ▌ペアワーク▌タスクボード▌バーンダウンチャート▌朝会

Page 8© NEC Corporation 2015

ストーリーは優先度順
SP(ストーリーポイント)は開発者が決定- 相対的な値を話し合う
SPの値で開発範囲を決定- 当PJ実績は1スプリントで約40SP強を開発

開発に何を取り入れたか
スクラムを全面適用 + XPの手法を一部適用▌スプリント▌スプリント計画▌ワークショップ
▌スプリントレビュー▌プロダクトバックログ▌ペアワーク
ペアワーク▌タスクボード▌バーンダウンチャート▌朝会

Page 9© NEC Corporation 2015

テスト実施

テスト実施以外

相手が休みの時は後日レビュー実施

開発に何を取り入れたかスクラムを全面適用 + XPの手法を一部適用▌スプリント▌スプリント計画▌ワークショップ
▌スプリントレビュー▌プロダクトバックログ▌ペアワーク▌タスクボード
タスクボード▌バーンダウンチャート▌朝会
未着手

Page 10© NEC Corporation 2015

作業中

レビュー
待ち完了

開発に何を取り入れたかスクラムを全面適用 + XPの手法を一部適用▌スプリント▌スプリント計画▌ワークショップ
▌スプリントレビュー▌プロダクトバックログ▌ペアワーク▌タスクボード▌バーンダウンチャート
バーンダウンチャート▌朝会
残タスクの予定時間合計を管理

Page 11© NEC Corporation 2015

開発に何を取り入れたかスクラムを全面適用 + XPの手法を一部適用▌スプリント▌スプリント計画▌ワークショップ
▌スプリントレビュー▌プロダクトバックログ▌ペアワーク▌タスクボード▌バーンダウンチャート▌朝会
朝会

Page 12© NEC Corporation 2015

・ 昨日やったこと・ 問題点
その日のペア決めと担当タスク決めここが良かった 開発者▌スプリント単位の開発

開発
スプリント1

開発
スプリント2

開発
スプリント3

リリース
スプリント

小さなスコープ
意見交換、情報共有を行いながらストーリー毎に大きさを見積もり⇒ 正確な見積もり⇒ 適切なスコープ調整⇒ 把握しやすい大きさ
繰り返しの開発⇒ 見積もりミスを素早くフィードバック⇒ テストによる早期の問題摘出⇒ 素早く仕様を評価し、素早くフィードバック▌ペアワーク人に説明することで自分の考えがクリアになる
一緒に考える他者からアドバイスが貰える

Page 13© NEC Corporation 2015

ここが良かった 管理者▌適切な作業負荷
臨機応変に作業量を調整し、適切な作業負荷を維持
無理の無い開発は開発者の高いモティベーションを維持した▌タスクボードによるタスク管理作業状況の共有、作業割り当て、実績報告、進捗管理で活用▌Lightな進捗管理
タスクボード上の付箋の位置や色で作業状況把握
バーンダウンチャートで作業状況や作業追加時の影響度を把握プロダクトオーナへの進捗報告いらずガントチャート作成の苦痛から解放

短い開発期間、小さな開発量だから有効
Page 14© NEC Corporation 2015

問題となったこと▌ストーリーを優先度順に開発していく手法のため、全体を俯瞰する視点が欠けていた共通化した方がよい処理が後から見つかった
他のストーリーと影響し合う箇所に気付かないことがあった⇒プロダクトオーナーがストーリを定義する際にユースケースも定義⇒上位の設計書は集合レビューを必須とし、実装方針を全員で把握するようにプロセスを改善。共通化する箇所もこの時確認する。

▌長時間連続してペアワークを行い集中力が低下した⇒ 作業時間を定めて定期的に休みを取るように改善同じ作業でも毎日ペアを変え、異なる視点で作業が進むようにした

Page 15© NEC Corporation 2015

アジャイル適用の結果▌プロダクトオーナは評価とフィードバックを繰り返しながら、仕様を決めることができた▌効率良く作業は進み、合意したストーリーを前倒しに開発できた。
余った時間で工夫を積み重ね、さらに効率が上がるという正のスパイラルが生じた
決して楽な開発ではなかった。
常に集中して作業を行う必要があった。

Ver.3の開発でもアジャイル開発を継続Page 16© NEC Corporation 2015

アジャイル成功の条件 開発の前提▌作業量を調整できること
プロダクトオーナーの理解が必須▌機能検討にプロダクトオーナーが深く関われること▌品質プロセスを変更できること▌改造開発での適用がベタープロダクトバックログのストーリーを優先度順に開発していく手法ではシステムのアーキテクャを決められない
新規開発の場合は開発前にアーキテクチャを決める等の工夫が必要
ただし改造開発の場合も、いままでに作成していた文書を今後どう保守していくか等の工夫が必要

Page 17© NEC Corporation 2015

アジャイル成功の条件 開発の進め方▌密なコミュニケーション
適切なチームサイズ
同じ場所で作業▌適切なスプリント期間▌開発の背景や目的の共有自発的に動くので皆で同じ方向を向いていることが必要
当PJではインセプションデッキ(※1)のパッケージデザイン(※2)に時間をかけた開発目的と高い品質を全員で強く意識して開発した▌各開発者が自分の意見を主張できること▌テストの自動化
テストのオーバヘッドが大きいため自動化が重要当PJでは単体テストを100%自動化、結合テストの6割以上を自動化※1 プロジェクトの全体像を端的に伝えるためのドキュメント※2 製品パッケージ(箱)のデザイン。どんな売り文句を示すかを決める。
Page 18© NEC Corporation 2015

アジャイルを振り返って▌従来手法との比較
考えなければならないこと、書かなければならないことは従来手法と変わらない。
本質は同じ。
考える単位、評価やフィードバックの速さ、品質の作り込みタイミング、臨機応変さがアジャイルの利点。
開発対象により手法の選択が必要。

▌成果
プロダクトオーナーと良好な関係を築けた• プロダクトオーナは積極的に開発に関わり、開発者を信頼し、開発者の意見に耳を傾けた。
• 開発者はプロダクトオーナを満足させるために、何を行うべきかを考え、自ら動いた。

チームが自己組織化し、望ましいチームになれた• 必要なことを自分達で考え、提案するチーム• 自分達でルールを定め、そのルールを守るチーム• お互いに助け合うチーム
Page 19© NEC Corporation 2015

おわりに▌是非アジャイルにチャレンジしてください▌アジャイルを適用できなくても、一部手法を取り入れてみてはいかがでしょうか▌私達の経験が皆様のご参考になれば幸いです

Page 20© NEC Corporation 2015