製品力を高めるための
製品力を高めるための
アジャイル開発超入門
アジャイル開発超入門
(株)オージス総研
技術部アジャイル開発センター
藤井
拓
アジェンダ
アジェンダ
アジャイル開発超入門
開発手法の普及率
開発手法の普及率
世界での普及(Forrester Research,
2010)
◦
ウォーターフォール13%
◦
反復開発21%
◦
アジャイル開発35%
Scrumの利用は10.9%で一番多い◦
方法論利用せず30.6%
日本(IDC Japan, 2011)
◦
ウォーターフォール開発が51.2%、反復型開
発が29.7%、アジャイル開発が19.1%
アジャイル開発普及の背景
アジャイル開発普及の背景
ビジネス競争の激化
◦
新たな価値(製品、サービス)をどれく
らい早く市場に投入できるか
◦
新たな価値
予め答えが見えない(要求の不確定性) 新技術、デバイス、サービスの活用◦
早く市場に投入
要求定義と開発を並行する ちょっとずつ機能追加してリリースするウォーターフォール開発
ウォーターフォール開発
始めに適切な要求を決められる!
◦
「要求」という仮説の正しさを開発途上
で確かめずに開発を行う
要件定義 設計 実装 テスト 要求 リリース 時間 要件定義 設計 実装 テスト 要求 リリース 時間アジャイル開発
アジャイル開発
始めに適切な要求を決められない!
◦
「要求」という仮説の正しさを開発途上
で確認しながら開発を行う
時間 計画 開発 要求 リリース 評価 計画 開発 計画 開発 評価 フィード バック フィード バック要求の不確定性
要求の不確定性
経験がない製品やサービスの考案
◦ これまで経験が無いような新たな製品やサービ ス(業務)の考案 競合他社や市場の動向
◦ 刻々と競合他社や市場が変化していく 新技術/デバイスの登場
◦ クラウド、モバイルなどの新技術/デバイスの活 用方法の考案 これらの要因にスピーディーに対応するため 開発途上に要求が変化する!アジャイル開発への取り組み状況と
アジャイル開発への取り組み状況と
期待する効果
期待する効果
アジャイル開発への取組み状況 アジャイル開発に期待する効果 弊社のエンタープライズアジャイルセミナーのアン ケートの集計結果から変化への対応力
変化への対応力
要求などの不確定性に対応するために
は、変化への対応力(柔軟性)が必要
柔軟性を低下させるもの
◦
プロセスの細かいマニュアル化(分業)
◦
詳細なドキュメントによる情報伝達
◦
契約上の駆け引き
◦
計画の硬直的な順守
柔軟性を低下させるもののをすべて一気に排除する必要はない できるところから少しずつ改善すればよいアジャイル開発の特徴
アジャイル開発の特徴
反復的な開発 ◦ 一定の期間毎に動くソフトウェアを作る形でソフト ウェア開発を進める 顧客との協調 ◦ 顧客と協調し、顧客のビジネスの成功を支援する チームワーク重視(人間中心) ◦ 開発者の自律性、コミュニケーション、改善を重視 技術的裏付け ◦ 変化の影響を抑える技術プラクティス(設計/コード 品質、自動化)の適用アジャイル開発フレームワーク
アジャイル開発フレームワーク
スクラム
スクラム
(Scrum)
(Scrum)
とは
とは
Ken Schwaber, Mike Beedle, Jeff
Sutherlandによって提案された(プロジェク
ト管理)手法
◦ ラグビーのスクラムに、ちなんだ名称 ◦ 野中らの知識創造プロセスの影響を受けている 「ラグビーボールはある一定のやり方では動かない. ….ラグビーボール の動きは, フィールドでのチームメンバーの連携プレーから生まれてく るのである. …それは, チーム・メンバー間の濃密で骨の折れる相互作用 を必要とする.」(知識創造企業からの引用) 欧米ではスクラムがもっとも普及しているスクラムの基本
スクラムの基本
スプリント
◦
1週間から30日間のサイクルの反復をスプ
リントと呼ぶ
◦
スプリントの期間中は, 外乱を抑え, 目標
達成に専念できるようにする
体制
◦
プロダクトオーナー, スクラムマスター,
開発チームが連携して開発を進める
◦
開発チームの規模は, 7±2人
スクラムのプロセス
スクラムのプロセス
Schwaber, K. et al., Agile Software Development with
Scrum, Prentice Hall, 2002の図をベースに作成
スプリント 目標
実行可能なソフトウェア (インクリメント)