• 検索結果がありません。

アジャイル開発入門

N/A
N/A
Protected

Academic year: 2021

シェア "アジャイル開発入門"

Copied!
24
0
0

読み込み中.... (全文を見る)

全文

(1)

製品力を高めるための

製品力を高めるための

アジャイル開発超入門

アジャイル開発超入門

(株)オージス総研

技術部アジャイル開発センター

藤井

(2)

アジェンダ

アジェンダ

アジャイル開発超入門

(3)

開発手法の普及率

開発手法の普及率

世界での普及(Forrester Research,

2010)

ウォーターフォール13%

反復開発21%

アジャイル開発35%

 Scrumの利用は10.9%で一番多い

方法論利用せず30.6%

日本(IDC Japan, 2011)

ウォーターフォール開発が51.2%、反復型開

発が29.7%、アジャイル開発が19.1%

(4)

アジャイル開発普及の背景

アジャイル開発普及の背景

ビジネス競争の激化

新たな価値(製品、サービス)をどれく

らい早く市場に投入できるか

新たな価値

 予め答えが見えない(要求の不確定性)  新技術、デバイス、サービスの活用

早く市場に投入

 要求定義と開発を並行する  ちょっとずつ機能追加してリリースする

(5)

ウォーターフォール開発

ウォーターフォール開発

始めに適切な要求を決められる!

「要求」という仮説の正しさを開発途上

で確かめずに開発を行う

要件定義 設計 実装 テスト 要求 リリース 時間 要件定義 設計 実装 テスト 要求 リリース 時間

(6)

アジャイル開発

アジャイル開発

始めに適切な要求を決められない!

「要求」という仮説の正しさを開発途上

で確認しながら開発を行う

時間 計画 開発 要求 リリース 評価 計画 開発 計画 開発 評価 フィード バック フィード バック

(7)

要求の不確定性

要求の不確定性

経験がない製品やサービスの考案

◦ これまで経験が無いような新たな製品やサービ ス(業務)の考案 

競合他社や市場の動向

◦ 刻々と競合他社や市場が変化していく 

新技術/デバイスの登場

◦ クラウド、モバイルなどの新技術/デバイスの活 用方法の考案 これらの要因にスピーディーに対応するため 開発途上に要求が変化する!

(8)

アジャイル開発への取り組み状況と

アジャイル開発への取り組み状況と

期待する効果

期待する効果

アジャイル開発への取組み状況 アジャイル開発に期待する効果 弊社のエンタープライズアジャイルセミナーのアン ケートの集計結果から

(9)

変化への対応力

変化への対応力

要求などの不確定性に対応するために

は、変化への対応力(柔軟性)が必要

柔軟性を低下させるもの

プロセスの細かいマニュアル化(分業)

詳細なドキュメントによる情報伝達

契約上の駆け引き

計画の硬直的な順守

柔軟性を低下させるもののをすべて一気に排除する必要はない できるところから少しずつ改善すればよい

(10)

アジャイル開発の特徴

アジャイル開発の特徴

 反復的な開発 ◦ 一定の期間毎に動くソフトウェアを作る形でソフト ウェア開発を進める  顧客との協調 ◦ 顧客と協調し、顧客のビジネスの成功を支援する  チームワーク重視(人間中心) ◦ 開発者の自律性、コミュニケーション、改善を重視  技術的裏付け ◦ 変化の影響を抑える技術プラクティス(設計/コード 品質、自動化)の適用

(11)

アジャイル開発フレームワーク

アジャイル開発フレームワーク

スクラム

スクラム

(Scrum)

(Scrum)

とは

とは

Ken Schwaber, Mike Beedle, Jeff

Sutherlandによって提案された(プロジェク

ト管理)手法

◦ ラグビーのスクラムに、ちなんだ名称 ◦ 野中らの知識創造プロセスの影響を受けている 「ラグビーボールはある一定のやり方では動かない. ….ラグビーボール の動きは, フィールドでのチームメンバーの連携プレーから生まれてく るのである. …それは, チーム・メンバー間の濃密で骨の折れる相互作用 を必要とする.」(知識創造企業からの引用) 欧米ではスクラムがもっとも普及している

(12)

スクラムの基本

スクラムの基本

スプリント

1週間から30日間のサイクルの反復をスプ

リントと呼ぶ

スプリントの期間中は, 外乱を抑え, 目標

達成に専念できるようにする

体制

プロダクトオーナー, スクラムマスター,

開発チームが連携して開発を進める

開発チームの規模は, 7±2人

(13)

スクラムのプロセス

スクラムのプロセス

Schwaber, K. et al., Agile Software Development with

Scrum, Prentice Hall, 2002の図をベースに作成

スプリント 目標

実行可能なソフトウェア (インクリメント)

(14)

スクラムの事例

スクラムの事例

組み込みシステムの開発

新しいハードウェアの開発と並行して開

中間に従来と異なる言語のインターフェ

イスを設ける(非同期通信)

 インターフェイスは開発と並行して、別会社と 一緒に策定

従来の半分のコスト、少ない経験者で開

発することを求められた

従来のやり方では開発できない!→アジャイル開発

(15)

開発当初の状況

開発当初の状況

プロジェクトのメンバー

◦ プロジェクト管理者  この分野の開発の経験者  目的指向、柔軟性に富み、楽観的な ◦ 開発リーダー  優秀なエンジニアだが、自分で手を動かしてしまうタイ プ ◦ 開発メンバー  経験者1名、割と近い分野の経験者1名、未経験者1名 プロジェクト管理者がプロダクトオーナーの役割を、 開発リーダーがスクラムマスター兼開発メンバーの役割を担った

(16)

開発スケジュール

開発スケジュール

(1)

(1)

#2 #3 #4 #5+5.5 #6 #7 #8 #9 #10 #1 03/12 04/2 04/4 04/6 04/8 04/10 04/12 #11 #12 スクラムと開発 内容の習得 新アーキテクチャの 検証とインターフェ イス仕様の調整 機能の作りこみ (2 階層スクラム ) 新ハード対応 ( ) 一部 残機能の完成 と外部対応 (2 階層スクラム ) 

#1,#2スプリント(方向づけ)

◦ 開発内容とスクラムによる開発の進め方の習得  たいてい最初の2イテレーションぐらいは実績が目標を大 幅に下回る  例外的に、スプリントの中間点で目標を見直した

(17)

開発スケジュール

開発スケジュール

(2)

(2)

#2 #3 #4 #5+5.5 #6 #7 #8 #9 #10 #1 03/12 04/2 04/4 04/6 04/8 04/10 04/12 #11 #12 スクラムと開発 内容の習得 新アーキテクチャの 検証とインターフェ イス仕様の調整 機能の作りこみ (2 階層スクラム ) 新ハード対応 ( ) 一部 残機能の完成 と外部対応 (2 階層スクラム ) 

#6スプリント

◦ チームの開発生産性も掴めたので、残る期間で開 発を完了するための要員を追加(26名体制)  既存のメンバーからサブチームのリーダーを選抜 #3-5.5でスプリント毎(?)に1名程度開発メンバーを追加

(18)

2階層スクラム

2階層スクラム

(Scrum of Scrums)

(19)

開発メンバーの評価

開発メンバーの評価

利点

◦ 人材が育成できた点 ◦ プロジェクト管理として有効だった ◦ コミュニケーションとチームワークが良好 

課題

◦ チーム規模拡大による自律性の低下 ◦ 開発終盤や環境整備チームの目標管理の難しさ ◦ 開発ペースのむら ◦ テストの自動化が一部に留まった

(20)

成功要因の分析

成功要因の分析

フィードバック

◦ フィードバックによる計画の見直し 

スクラムマスター

◦ スクラムマスターによる問題解決 

同席

◦ 1つの部屋に集まれたこと 

スキル

◦ 上位チームのメンバーのスキルが高かったこと 

段階的なスケールアップ

◦ チーム規模の段階的なスケールアップ

(21)

技術的なプラクティス

技術的なプラクティス

テスト駆動開発

テストケースをまず考え、そのテストケース

を実装してから本体コードを実装し、実装し

た本体コードをテストするという開発手法

継続的なインテグレーション

各メンバーが開発し、単体テストに合格した

コードを随時コードリポジトリにチェックイ

ンする

コードリポジトリ内のコードは自動ビルドさ

れ、テストを実行され、その結果が報告され

(22)

まとめ

まとめ

近年、欧米及び日本でアジャイル開発

が普及してきている

ビジネス競争の激化

より手堅く開発を行う

アジャイル開発の特徴

反復的な開発

顧客との協調

チームワーク重視

技術的裏付け

(23)

OGIS Scalable Agile Method

OGIS Scalable Agile Method

日本固有の事情を克服してアジャイル開

発を活用するためのフレームワーク

開発手法部分

 スクラムとアジャイルUPを組み合わせた開発 手法

測定部分

 機能規模測定手法COSMIC法に基づく測定を活 用し、見積もり、契約の問題に対処し、開発を モニタリング、改善する

(24)

参考文献及びサイト

参考文献及びサイト

スクラム(Scrum)

◦ ケン・シュエイバー他: アジャイルソフトウェア 開発スクラム, ピアソンエデュケーション, 2003

知識創造プロセス

◦ 野中郁次郎, 竹内弘高,

知識創造企業

, 東洋経済新 聞社, 1996 アジャイルモデリングへの道:第2回「スクラム組んで開発しよう!」 http://www.ogis- ri.co.jp/otc/hiroba/technical/IntroASDooSquare/chapter2/IntroScrumCas eStudyMay2005.html

参照

関連したドキュメント

運営、環境、経済、財務評価などの面から、途上国の

Visual Studio 2008、または Visual Studio 2010 で開発した要素モデルを Visual Studio

実習と共に教材教具論のような実践的分野の重要性は高い。教材開発という実践的な形で、教員養

◆長大法のうち、法高が 30mを超える切土又は 18mを超える盛土:原

Annex 2 :Illustrative Examples of selection of analytical validation testing methodology for common analytical

瀬戸内千代:第 章第 節、コラム 、コラム 、第 部編集、第 部編集 海洋ジャーナリスト. 柳谷 牧子:第

欄は、具体的な書類の名称を記載する。この場合、自己が開発したプログラ

また、特 特定 定切 切盛 盛土 土を を行 行う う場 場合 合に には は、 、一 一般 般承 承継