137
1 Software Engineering Center Information-technology Promotion Agency, Japan Software Engineering Center アジャイル型開発を適切に採り入れるために ~IPA/SEC「非ウォーターフォール型開発WG活動報告書」から~ 情報処理推進機構(IPA) ソフトウェア・エンジニアリング・センター(SEC) 山 下 博 之 平成23年度 SEC主催セミナー 2011年4月22日

アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

1 Software Engineering Center

Information-technology Promotion Agency, Japan

Software Engineering Center

アジャイル型開発を適切に採り入れるために

~IPA/SEC「非ウォーターフォール型開発WG活動報告書」から~

情報処理推進機構(IPA) ソフトウェア・エンジニアリング・センター(SEC)

山 下 博 之

平成23年度 SEC主催セミナー

2011年4月22日

Page 2: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 2

講演の趣旨

Copyright © 2010-2011 IPA, All Rights Reserved.

非ウォーターフォール型開発の代表であるアジャイル型

開発について、平成22年度にIPA/SECが実施した検

討の結果を「非ウォーターフォール型開発WG活動報告

書」として公開しました。

本日は、顧客・経営層の理解促進、アジャイル型開発に

必要な技術及びスキル、人材育成方法や、アジャイル

型開発にふさわしい契約モデル・契約書案など、報告書

の概要について、検討の背景を交えてご説明します。

Page 3: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 3

講演の対象者

Copyright © 2010-2011 IPA, All Rights Reserved.

経営層

情報システム 開発部門

契約部門

業務部門 開発部門

品質管理部門

契約部門 経営層

人事部門

顧客(ユーザ企業) ベンダ企業

人材育成方法

アジャイル型開発にふさわしい契約モデル・契約書案

顧客・経営層の理解促進

アジャイル型開発に必要な技術及びスキル

Page 4: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 4

アジャイル型開発に向けたIPA/SECの検討

Copyright © 2010-2011 IPA, All Rights Reserved.

ウォーターフォール型でないソフトウェア開発手法、すなわち、 アジャイル開発など「非ウォーターフォール型」の開発手法は、

日本国内のソフトウェア開発においても、

WebアプリケーションやWebサービス開発などを中心に広がり、 ・競争力のある製品およびサービス開発、

・顧客ニーズへの迅速な対応、

・開発者、技術者のモチベーション向上 等に成果を上げている。

IPA/SECでは、「非ウォーターフォール型」開発手法の成果の源

を分析し、その適用領域や適用方法について整理するための検討に取り組んでいる。

この検討の結果として、日本のソフトウェア産業全体が同様の

成果を享受できるようになることを期待している。

Page 5: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 5

IPA/SECにおける取組み

Copyright © 2010-2011 IPA, All Rights Reserved.

H21年度 H22年度 H23年度

非ウォーターフォール型開発研究会

非ウォーターフォール型開発WG

非ウォーターフォール型開発WG

非ウォーターフォール型開発に関する調査

実証実験(契約形態)

▲ 報告書

▲ 報告書

△ ▲ 報告書

報告書(公開中) H21年度版 http://sec.ipa.go.jp/reports/20100330a.html H22年度版 http://sec.ipa.go.jp/reports/20110407.html

本日の内容

事例収集

課題抽出

課題検討

Page 6: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 6 Copyright © 2010-2011 IPA, All Rights Reserved.

H22年度版報告書の公開中

http://sec.ipa.go.jp/reports/20110407.html

Page 7: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 7

目 次

1. アジャイル型開発に注目される背景

2. アジャイル型開発の特徴

3. 日本でのアジャイル型開発の現状

4. アジャイル型開発活用に向けた課題の検討

5. アジャイル型開発手法の導入に向けて

6. まとめ

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 8: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 8

現状のソフトウェア開発を取り巻く課題(1)

ビジネス・ニーズへの適切な対応

他社に先駆けた市場投入が必須で、それにより徐々に明確となるニーズを迅速に反映し改善していくことが必要な分野の出現

顧客ニーズは最初に全ては把握できず、またビジネス環境の激しい変化に伴いニーズも変化するが、この状況に迅速な対応が必要

→早期サービス提供と効果確認、ニーズ変化への俊敏な対応

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 9: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 9

ビジネス環境の変化とITシステムの対応

Copyright © 2010-2011 IPA, All Rights Reserved.

時間→

環境

予測可能な環境変化量

変化対応のシステム開発期間 これまでの 変化の状況

最近の 変化の状況

★システム 完成

短縮が必要

変化が進んでしまっている

Page 10: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 10

要求の変化への対応

Copyright © 2010-2011 IPA, All Rights Reserved.

時間→

要求の確定度合い

順次リリース 一括リリース

要求の変化

全ての要求が 確定した後に 開発開始

全ての要求が 確定せずとも 開発開始

Page 11: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 11

要求変更に関わるコストの比較

Copyright © 2010-2011 IPA, All Rights Reserved.

時間→ 時間→

変更コスト

変更コスト

<アジャイル型開発> <ウォーターフォール型開発>

変更のコストは時間と共に増加していくものではなく,ある一定のレベルで抑えることが可能であるという仮説

Kent Beck, “Extreme Programming Explained: Embrace Change”,

Addison Wesley Publishing Company, 1999

Page 12: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 12

現状のソフトウェア開発を取り巻く課題(2)

(純粋な)ウォーターフォール型開発における問題点

初期段階では必ずしも全ての要求内容は確定しない

誤要求や要求の誤解が総合テスト段階で判明すると、多大な影響

開発途中で要求が変更されると、対応が非常に困難

→要求確定部分からの順次開発開始と、妥当性の早期確認

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 13: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 13

ウォーターフォール型開発

要件定義

設計

コーディング

テスト

運用

・要件と計画を初めに決める →計画駆動型 ・前工程を誤りなく完了させて、次の工程へ進む

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 14: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 14

ウォーターフォール型開発への疑問

要件定義

機能設計

モジュール 設計

コーディング

総合テスト

機能テスト

結合テスト

単体テスト

チェック

チェック

チェック

・要件が事前に全ては決まらない ・要件の誤りが最後のテストまで発見されにくい ・時間がかかり過ぎて変化への対応が遅れる

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 15: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 15

現状のソフトウェア開発を取り巻く課題(3)

ソフトウェア産業構造(多重下請構造)上の課題

開発者(特に若者)の参画意識・達成感が低い

→開発の過程と各開発者の役割や成果を可視化し、創造的な開発スタイルを採り入れ、モチベーション向上をはかる

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 16: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 16

アジャイル型開発への期待

Copyright © 2010-2011 IPA, All Rights Reserved.

ウォーターフォール型のソフトウェア開発では、品質の高いソフトウェアを生産性高く開発するために、開発初期に要求の固定をはかり、ドキュメントの形で仕様を形式化してソフトウェア・エンジニアリング的な開発モデルに乗せようと努力してきた。

しかし、そもそも要求が刻々と変化している場面では、要求を固定すること自体が製品やサービスの販売リスクを拡大してしまう場合が多い。また、開発の中には技術リスクが大きく、実際に作ってみないとそのリスクを解消できない場合がある。

このような状況においては、従来のウォーターフォール型ではない、別のソフトウェア開発モデルが必要とされてきている。

そのような「非ウォーターフォール型」のソフトウェア開発モデルの代表として、アジャイル型開発に着目する。

Page 17: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 17

非ウォーターフォール型開発の例

Copyright © 2010-2011 IPA, All Rights Reserved.

非ウォーターフォール型開発とは、仕様を開発前に固定し、それを分析、設計、テスト等のフェイズを順次踏んでいくという1970年の Winston W. Royce の論文「Managing the Development of Large Software Systems」でのウォーターフォール型以外の開発モデルの総称である。 非ウォーターフォール型開発の例として、以下のものが挙げられる: ・プロトタイプ (Frederick P.Brooks, Jr.-1975年「人月の神話」) ・スパイラル (Barry w. Boehm-1988 年 「A Spiral Model of Software Development and Enhancement」) ・RAD (James Martin-1991年 「ラピッドアプリケーションデベロップメント」) ・RUP (Philippe Kruchten-2000年「ラショナル統一プロセス入門」) ・アジャイル

Evo (Tom Gilb-1976年「Software Metrics」) Scrum (Ken Schwaber-1993年「アジャイルソフトウェア開発スクラム」) DSDM (1995年「DSDM ver1」) XP (Kent Beck-1996年「XPエクストリーム・プログラミング入門 」) FDD-Feature-Driven Development (Peter Coad-1997年「Javaエンタープライズ・コンポーネント」)

Lean Software Development (Mary Poppendieck, Tom Poppendieck-2002年「リーンソフトウェア開発」) Crystal Clear (Alistair Cockburn-2004年「アジャイルソフトウェア開発」) EssUp-Essential UP (Ivar H.Jacobson-2005年「Rational Software Development Conference」)

Kanban (David Anderson-2010年「Kanban」)

参考

Page 18: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 18

アジャイル型開発に関する検討の意義

Copyright © 2010-2011 IPA, All Rights Reserved.

ウォーターフォール型開発は、

高信頼性が求められる基幹システム等、

過去のほとんどの分野で実績がある。

これに対し、非ウォーターフォール(アジャイル)型開発は、

情報システムを市場へいち早く提供していくことに価値があると考えられる分野に向いている。

特に、開発形態が多様化している後者の分野において、

非ウォーターフォール型開発の適用に適した領域を見定め、

その活用を促進していくことが必要である。

また、現在、非ウォーターフォール型開発があまり適用されていない領域においても、その特質を明らかにすることにより、今後の適用を検討していくことは有意義である。

Page 19: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 19

アジャイル型開発の検討により期待される効果

Copyright © 2010-2011 IPA, All Rights Reserved.

①日本のソフトウェア産業の実態に適しており、かつ世の中のパラダイム転換に対応することのできるソフトウェアの作り方の提案になる。

②グローバルな視点から見た、わが国のソフトウェア産業の競争力を強化することにつながる。

③優先度の高い機能が順次提供され、提供された機能を検証・投入することにより、変化が激しく、優先度も変化するビジネス環境に対応できるサービスやシステムを手に入れられる。

④エンジニアが自分自身の成長を実感でき、開発したシステムが利用者の役に立っていると実感できることにより、エンジニア一人ひとりが生き生きと働くことのできる環境の整備につながる。

Page 20: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 20

目 次

1. アジャイル型開発に注目される背景

2. アジャイル型開発の特徴

3. 日本でのアジャイル型開発の現状

4. アジャイル型開発活用に向けた課題の検討

5. アジャイル型開発手法の導入に向けて

6. まとめ

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 21: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 21

アジャイル型開発の特徴

Copyright © 2010-2011 IPA, All Rights Reserved.

アジャイル開発は、不確実なビジネス環境の中で変化するニーズへの迅速な対応を目的としたソフトウェア開発手法。

この目的を達成するために、アジャイル開発では、 徐々に明確となる顧客ニーズや要件をシステムへ反映し、プロジェクトマネジメント・リスクの早期低減、顧客側と開発側のギャップを解消。

アジャイル開発は、 •「顧客の参画の度合いが強い」 •「動くソフトウェアを成長させながら作る」 •「反復・漸進型である」 •「人と人のコミュニケーション、コラボレーションを重視する」 •「開発前の、要求の固定を前提としない」 という特徴を持つ。

Page 22: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 22

アジャイル宣言における4つの価値

Copyright © 2010-2011 IPA, All Rights Reserved.

アジャイル宣言(Agile Manifesto) アジャイルな開発手法の提唱者17名が集まり,2001年に発表. http://agilemanifesto.org/iso/ja/manifesto.html

私たちは,ソフトウェア開発の実践を手助けする活動を通じて,よりよい開発方法を見つけだそうとしている.

この活動を通して,私たちは以下のことを重視する:

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

②包括的なドキュメントよりも,動くソフトウェアを

③契約交渉よりも,顧客との協調を

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

すなわち,①~④の各文の前者(「よりも」の前の言葉)に価値があることを認めながらも,私たちは後者(「よりも」の後の言葉)の事柄により価値をおく.

Page 23: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 23

アジャイル宣言の背後にある12の原則

Copyright © 2010-2011 IPA, All Rights Reserved.

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

①顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供する。

②要求の変更はたとえ開発の後期であっても歓迎する。

変化を味方につけることによって、顧客の競争力を引き上げる。

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

④ビジネス側の人と開発者は、プロジェクトを通して日々一緒に働く。

⑤意欲に満ちた人々を集めてプロジェクトを構成する。

環境と支援を与え仕事が無事終わるまで彼らを信頼する。

⑥情報を伝える最も効率的で効果的な方法は、フェイス・トゥ・フェイスで話をすることである。

⑦動くソフトウェアこそが進捗の最も重要な尺度である。

⑧アジャイル・プロセスは持続可能な開発を促進する。

一定のペースを継続的に維持できるようにしなければならない。

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

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

⑪最良のアーキテクチャ・要求・設計は、自己組織的なチームから生み出される。

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

参考

Page 24: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 24

反復 (イテレーション)

アジャイル型開発のモデル

Copyright © 2010-2011 IPA, All Rights Reserved.

スコープ 時

要求

開発

テスト

スコープ 時

要求

開発

テスト

スコープ

時間

反復

スコープ

時間

反復

顧客の要求にしたがって,優先度の高い機能から順に, 要求・開発・テスト(・リリース)を短い期間で繰り返しながら, システム全体を構築していく. 原則として, 事前に開発の詳細な計画は作らず, 1~4週間という一定の短い周期で要求・開発・テストを繰り返しながら, 動作可能なソフトを作り上げる.

<アジャイル型開発> <ウォーターフォール型開発>

(対比)

Page 25: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 25

SLCP 出典 「共通フレーム2007 第2版」

参考

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 26: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 26

各開発モデルにおけるプロセスの対応

Copyright © 2010-2011 IPA, All Rights Reserved.

要求

開発

テスト

<標準> ソフトウェアライフサイクル プロセス(SLCP)

要求

開発

テスト

<実際>

注) 図形のサイズは意味を持たない(時間,規模を表さない).

(部品)

ウォーターフォール型

大きなプロセスを 順に実施し, それを1回で終了

アジャイル型

小さなプロセスを 行き来しつつ実施し, それを何回も反復

注) 図形のサイズは意味を持つ.

参考

Page 27: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 27

プロセスとプラクティス

Copyright © 2010-2011 IPA, All Rights Reserved.

アクティビティ タスク

<プロセスの構成>

What-to-do (何をするか)を表す.

参考

XP ・システムのメタファ ・シンプルデザイン ・テスト駆動開発 ・頻繁なリファクタリング ・ペアプログラミング Scrum ・スプリントバックロググラフの作成 ・自律的な組織化チーム ・スクラムミーティング ・1日以内の障害除去 ・共通の部屋 ・日次ビルド ・スプリントレビ

How-to-do (どのようにするか)を表す.

<プラクティスの例>

全く異なる観点

Page 28: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 28

目 次

1. アジャイル型開発に注目される背景

2. アジャイル型開発の特徴

3. 日本でのアジャイル型開発の現状

4. アジャイル型開発活用に向けた課題の検討

5. アジャイル型開発手法の導入に向けて

6. まとめ

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 29: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 29

使われている開発モデルの調査例

N=2451

反復型 2.7%

その他 1.2%

ウォーターフォール型 96.1%

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 30: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 30

H21年度の事例調査:概要

目的: アジャイル型開発を中心とする非ウォーターフォール型開発の

適用状況を明らかにし,適用する上での課題を明らかにする. 実施内容: 17社・22事例を対象に,開発対象の特性・適用領域及び開

発方法,適用プラクティス,契約形態,等について調査. 併せて産学官の有識者をメンバとする研究会を設置し,適用

にあたっての課題を抽出.

→報告書として公開: URL=http://sec.ipa.go.jp/reports/20100330a.html

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 31: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 31

調査事例一覧(1/2)

No. 事例概要

1 小売業における業務システム開発事例 事例調査結果①

2 ソーシャルネットワーキングサービス(SNS)システム開発事例

3 サプライチェーンマネジメントシステム開発事例

4 研修運営システム開発事例

5 開発案件管理Webアプリケーション開発事例

6 製造業向けプロトタイプシステム開発事例

7 携帯ソーシャルゲーム開発事例 事例調査結果②

8 携帯端末向けブログシステム開発事例

9 パッケージソフトウェア開発事例

10 共通認証システム開発事例

11 プロジェクト管理システム開発事例

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 32: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 32

調査事例一覧(2/2)

No. 事例概要

12 アプリケーションプラットフォーム開発事例

13 教務Webシステム開発事例

14 教育機関向け統合業務パッケージ開発事例

15 検索エンジン開発事例

16 システム管理ミドルウェア開発事例

17 株式取引のためのWebアプリケーション開発事例 事例調査結果③

18 プラント監視制御用計算機システム開発事例

19 生産管理システム開発事例

20 Webメディア開発事例

21 アジャイル型開発の支援環境開発事例

22 業界共通電子データ交換基盤構築事例 事例調査結果④

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 33: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 33

事例調査結果①(1/2)

小売業における業務システム開発事例 小売業を営む顧客のマーチャンダイジングシステム開発を出発点に、

これまでに260メニュー、80万ステップの開発

項目 内容

優先したIT戦略 開発当初の目的は、既存システムの完全リプレイス

ライフサイクルモデル ユーザヒアリング → データ設計およびサンプルプログラム開発 → 構築(イテレーション期間)

チーム編成 ベテラン開発者1名+新人5名 顧客側にも同数程度のプロジェクトメンバを配置

プロジェクト期間 6ヶ月

プロジェクト初期における要件の確定度合い

外部仕様レベルでの基本要件は固まっていた 要求の確認は、ユーザとの会話と実際に動作するプログラムで行う

契約形態 請負契約ではなく、顧客の開発業務を支援する形態

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 34: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 34

事例調査結果②(1/2)

携帯ソーシャルゲーム開発事例 これまで多くのWebサービスをアジャイル型で開発してきた企業によるもの

項目 内容

優先したIT戦略 スピード、要求の変化への対応、利用率を優先

ライフサイクルモデル α版開発(1.5ヶ月) →α版改修(0.5ヶ月) →β版開発~クローズドβ公開(0.5ヶ月) → β版改修~全展開(0.5ヶ月) イテレーション期間:1~2週間 サービスイン後もDay~Week単位で改版継続

チーム編成 企画1名、エンジニア1名 後半、業務系開発にベンダ1名追加

プロジェクト期間 3ヶ月~継続中

プロジェクト初期における要件の確定度合い

ゼロベースからの検討を要した

契約形態 社内開発であるため、契約関係はない。

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 35: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 35

事例調査結果③(1/2)

株取引のためのWebアプリケーション開発事例 “セル”と称する小集団の枠組みにより開発

項目 内容

優先したIT戦略 投資回収を早めるため早期ビジネス化。 システム利用者の反応を見ながら構築。 情報システム部門の負荷軽減、数年間は利用。 品質要求は保守性を最優先・使いやすさと応答の即応性

ライフサイクルモデル

セル開発、収益性の高い機能から開発 イテレーションは2週間

チーム編成

小集団(セル)の枠組み 顧客と2週間に1回、受け入れ検収を実施

プロジェクト期間 23ヶ月

プロジェクト初期における要件の確定度合い

非常に低い

契約形態

請負。対象となるシステムのスコープや品質基準とイテレーション回数と各イテレーションで平行稼動させるセル数を基準

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 36: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 36

事例調査結果④(1/2)

業界共通電子データ交換基盤構築事例 要件提供者が多数存在するため、システム構成をモジュール化し、

要件の固まったモジュールから順に開発

項目 内容

優先したIT戦略 業界標準、共通画面・共通操作が可能、企業間システム連携、 基本機能は無償、中小企業用の標準システムの構築 短期開発を可能にするためのシステムのモジュール構造化

ライフサイクルモデル 初期プロトタイプの開発後、ユーザレビュー・機能拡張を継続 EDI基盤のコアの部分をはじめに固め、サブを順次追加 2週間単位のイテレーション

チーム編成 15名(リーダ:1、仕様担当:5、設計担当3、開発担当:6)

プロジェクト期間 初期プロトタイプの開発に3ヶ月

プロジェクト初期における要件の確定度合い

多業種にわたるシステムであるため、開発当初は仕様が全く分からない、かつ固められない状態

契約形態 準委任契約

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 37: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 37

チームの人数

(人)

事例:アジャイル型開発プロジェクトの規模

2

4

6

8

10

12

2 4 6 8 10 12 14 16 18 20 22 24 開発期間 (月)

⇒チームの人数は8割が10人以下

⇒開発期間は2~4ヶ月が45%、1年超が35%

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 38: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 38

事例:イテレーション(スプリント)の期間

0

1

2

3

4

5

6

7

1 2 3 4 5 6 7 8 イテレーション(スプリント)期間 (週)

事例の数

(件)

その他:1~2週間 2件 1~4週間 1件

⇒1~2週間が中心

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 39: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 39

件数

14 12 10 8 6 4 2 0 16 18 20 22

頻繁なふりかえり 計画ゲーム

日次のスタンドアップミーティング (朝会)

継続的インテグレーション ペアプログラミング

バーンダウンチャート リファクタリング テスト駆動開発

コードの共同所有 かんばん

自動化された回帰テスト ニコニコカレンダー

顧客プロキシ タスクカード ポストイット

タイムボックス 頻繁なリリース

コーディング規約 ストーリーカード

単体テストの自動化 スクラムのスプリント スプリントバックログ

チーム全体が一つに 71.4%

52.4%

47.6%

42.9%

38.1%

28.6%

23.8%

19%

14.3%

15

11

10

10

9

8

8

6

5

4

4

4

3

3

3

3

3

2

2

2

2

2

2

9.5%

9.5%

9.5%

9.5%

9.5%

9.5%

14.3%

14.3%

14.3%

14.3%

19%

19%

38.1%

47.6%

反復型計画 100%

21

事例:活用されているプラクティス

※1事例は活用プラクティス不明

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 40: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 40

週に1~2回のコミットが求められていることが多い

事例

顧客側に2週間に1回、必ず受入れ検収を実施できる体制が必要

2週間に1~3度、オーナが来社し、オンサイト・ミーティングを実施

週次で開発マネージャを含めて計画ゲームを行い、次回のリリース計画を作成

週1回、プロジェクトの進捗状況を開発プロジェクトマネージャが発注元の マネージャに報告 また、発注元のマネージャ同席の下、適宜、プロダクトマネージャと電話会議を実施

発注者と受注者は、毎週2回の打合せで週次イテレーション開発

プロジェクト目標のシェアのみ

開発者全員が現地に常駐

事例:顧客参画の実態

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 41: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 41

事例:契約形態の集計

契約の種類 件数 比率

請負契約 6 33.3%

請負契約(月毎) 1 5.6%

請負契約+準委任契約 1 5.6%

準委任契約 7 38.9%

労働者派遣契約 1 5.6%

不明 2 11.1%

合計 18 100 %

(社内開発:契約無し) (4) ー

⇒海外では、直接雇用やTime&Materialの準委任型契約が中心だが、日本では、アジャイル型開発とはなじみにくい請負契約の割合も高い。

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 42: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 42

調査結果のまとめ:アジャイル型開発の現状(1)

開発チーム 約8割が8名以下 1例を除き、12名以下 開発期間 半数は2か月~4か月

H21年度に収集・調査した22事例から言えること:

内部開発が多い 自社内で利用するソフトを内製 販売するためのパッケージの開発 受託開発の例では、既存システムの更改および新規案件

アジャイルのプラクティス群の中から取捨選択して用いている

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 43: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 43

調査結果のまとめ:アジャイル型開発の現状(2)

H21年度に収集・調査した22事例から言えること:(続き)

効果 : 要求の変化への柔軟な対応 市場への投入の迅速化 生産性の改善分は、品質や保守性の向上へ

大手SI業者でも、トライアルが行われ、社内標準への

取込みが始められている ウォータフォール型との使い分け

成功体験のウォータフォール型への取り込み

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 44: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 44

アジャイル型開発手法の導入理由 (海外)

22% 21%

12%

10% 9%

6% 6%

4% 3%

2% 2% 2% 1%

0%

5%

10%

15%

20%

25%

Tim

e-to

-M

arke

t

加速

変化する優先順位

管理のため

生産性向上

ソフトウェア品質

の向上

IT

とビジネスの

融合改善

プロジェクトの

見える化

リスク削減

開発プロセスの

簡易化

その他

エンジニアリング

の導入/向上

コスト削減

保守性/拡張性

向上

チームの

やる気改善

1.Time-to-Marketの加速 2.変化する優先順位管理のため

(VersionOne社 アジャイル開発の現状調査第3回2008より)

参考

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 45: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 45

アジャイル型開発の現状 (まとめ)

アジャイル型開発試行から社内標準への取込みへ

変化への対応、市場への迅速な投入などの成果

市場の声を聞きながら改善 要件の確定度合いが低いプロジェクトへの対応 要件の変化への対応

開発チームの士気向上、新しい試みへの期待

ウォーターフォール型開発との使い分け/組合せ

大規模なシステム、ミッションクリティカルなシステムへの適用事例は見当たらない

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 46: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 46

アジャイル型開発の活用に向けた課題

日本のソフトウェア競争力を高める 生き生きと働ける環境を作る

契約のあり方、調達、制度設計

日本におけるソフトウェア開発の在り方

経営層やユーザ企業への理解促進

コンサルタント等の役割の整備 人財育成

欧米の競争力(ビジネスドライバ、 産業構造など)の調査 調査

重点課題

目指すべき ゴール

管理手法や技術面の整備 環境整備

領域

見定め

契約

価値評価

普及

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 47: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 47

目 次

1. アジャイル型開発に注目される背景

2. アジャイル型開発の特徴

3. 日本でのアジャイル型開発の現状

4. アジャイル型開発活用に向けた課題の検討

5. アジャイル型開発手法の導入に向けて

6. まとめ

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 48: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 48

平成21年度の課題と平成22年度の取組み

Copyright © 2010-2011 IPA, All Rights Reserved.

非ウォーターフォール型開発の適用に適した領域を見定め、その活用を促進していく

平成21年度の研究により 明らかになった課題

平成22年度の取組み

日本のソフトウェア競争力を高める生き生きと働ける環境を作る

日本のソフトウェアの作り方目指すべきゴール

契約のあり方、調達、制度設計契約

経営層やユーザ企業への理解促進価値評価

コンサルタント等の役割の整備人財育成普及

欧米の競争力(ビジネスドライバ、産業構造など)の調査

調査

管理手法や技術面の整備環境整備

非ウォーターホール型開発における重点課題

日本のソフトウェア競争力を高める生き生きと働ける環境を作る

日本のソフトウェアの作り方目指すべきゴール

日本のソフトウェア競争力を高める生き生きと働ける環境を作る

日本のソフトウェアの作り方目指すべきゴール

契約のあり方、調達、制度設計契約

経営層やユーザ企業への理解促進価値評価

コンサルタント等の役割の整備人財育成普及

欧米の競争力(ビジネスドライバ、産業構造など)の調査

調査

管理手法や技術面の整備環境整備

非ウォーターホール型開発における重点課題

契約のあり方、調達、制度設計契約

経営層やユーザ企業への理解促進価値評価

コンサルタント等の役割の整備人財育成普及

欧米の競争力(ビジネスドライバ、産業構造など)の調査

調査

管理手法や技術面の整備環境整備

非ウォーターホール型開発における重点課題

契約のあり方、調達、制度設計契約

経営層やユーザ企業への理解促進価値評価

コンサルタント等の役割の整備人財育成普及

欧米の競争力(ビジネスドライバ、産業構造など)の調査

調査

管理手法や技術面の整備環境整備

非ウォーターホール型開発における重点課題

・非ウォーターフォール型開発に適した契約モデルの検討

・非ウォーターフォール型開発に適した契約モデルに沿った契約のひな型の作成

・顧客・経営層が考慮すべき点とその検討

・顧客側と開発側に必要な包括的エンジニアリング技術、プロジェクト運営技術・スキルの明確化

・人材育成方法の検討 ・必要な技術・スキルの獲得方法の検討

Page 49: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 49

開発プロセス・モデルに関する検討

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 50: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 50

調査事例から導かれた開発プロセス・モデル(1)

モデル2

モデル1

企画

システム運用

• n=1のケースもあり。

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求 ・・・

第1リリース

・・・

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求 ・・・

第2リリース

・・・

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求 ・・・

第mリリース

要求・アーキテクチャ設計 ・基盤開発

企画

システム運用

• 比較的大規模システム/新規開発で全体のシステム構造が不明確なケースなど

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求 ・・・

第1リリース

・・・

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求 ・・・

第mリリース

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 51: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 51

調査事例から導かれた開発プロセス・モデル(2)

モデル3 システム運用

・ アジャイル開発では反復ごとにリリースできる品質までテストを行うことが原則だが、 各リリース工程前に行う重点的なテストを実施することがある。 ・ リリースは複数回繰り返される

企画 リリース前

テスト ・・・・・・

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求 ・・・

第1リリース

リリース前 テスト

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求 ・・・

第mリリース

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 52: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 52

事例とモデルとの対応

モデル名 調査事例

モデル1 小売業・ユニケージ、社内版SNS、OSS版SNS、SMS、 携帯ソーシャルゲーム、携帯向けブログ、パッケージ、 教育機関向け統合業務PKG、株取引Webアプリ、 共通EDI、開発案件管理、製造業向けプロト

モデル2 研修運営システム、プロジェクト管理システム、 アプリPF開発

モデル3 共通認証システム、教務Webシステム、 ミドルウェア開発、生産管理システム、Webメディア開発、 アジャイル開発支援、検索エンジン開発、 プラント監視制御計算機システム

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 53: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 53

アジャイル型開発のビジネス構造モデル

Copyright © 2010-2011 IPA, All Rights Reserved.

■ビジネス構造モデルの基本パターン

使う人

提供する人

作る人

作る人2

保守する人

契補佐

する人

使う人

提供する人

作る人

作る人2

保守する人

契補佐

する人

・ 使う人 ⇒ システムを実際に使用する人 (システムの利用者、エンドユーザ)

・提供する人 ⇒ 開発されたシステムやサービス を使う人に提供する人

・作る人 ⇒ システムの開発者

・作る人2 ⇒ 作る人の会社と契約している、 作る人と一緒に開発する人 (作る人の会社とは別会社が多い)

・保守する人 ⇒ リリースされたシステムを 保守する人 (作る人と重なることが多い)

・補佐する人 ⇒ アジャイル開発の進め方等で、 開発プロジェクトを支援する人 (コンサルタントやファシリテーターが多い)

契約の起こる可能性がある場所(同一の組織内の場合には契約なし)

Page 54: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 54

顧客・経営層への理解促進に関する検討

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 55: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 55

アジャイル型開発の適用領域・試行領域

Copyright © 2010-2011 IPA, All Rights Reserved.

すべてのソフトウェア開発にアジャイル型開発手法を適用できる、あるいはすべきだ、という立場ではない。 ビジネスや市場、その他の開発の文脈によって、ウォーターフォール型の開発が適している場面もあれば、アジャイル型の開発が適している場面もある。 大まかには、開発当初に要求を確定せず、ビジネス環境の変化に伴った市場や顧客ニーズの変化への対応が最優先される分野が、アジャイル型開発が最も得意とする第一適用領域である。 他方、基幹システム等で開発当初に要求をあるレベルで確定可能(あるいは確定すべき)な領域のシステムの開発においては、現在のアジャイル型開発は試行領域となっている。

Page 56: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 56

アジャイル型開発の適用領域

Copyright © 2010-2011 IPA, All Rights Reserved.

アジャイル開発は,「顧客の参画の度合いが強い」,「動くソフトウェアを成長させながら作る」,「反復・漸進型である」,「人と人とのコミュニケーション・コラボレーション重視」,「開発前の仕様の固定を前提としない」等を特徴とするため,以下の領域での開発を得意とする: ①ビジネス要求が変化する領域 ・要求の変化が激しく,あらかじめ要求が固定できない領域。

②リスクの高い領域 ・不確実な市場を対象としたビジネス領域(市場リスク) ・技術的な難易度が高い開発領域(技術リスク)

③市場競争領域 ・他社に先駆けた製品・サービス市場投入が命題であり,TTM(Time to

Market)の短縮が優先となる領域(Webのサービス,パッケージ開発,新製品開発).

Page 57: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 57

アジャイル型開発の試行領域

Copyright © 2010-2011 IPA, All Rights Reserved.

アジャイル型開発による経験が十分には蓄積されておらず、現在、チャレンジと創意工夫が求められているのは、以下の領域である: ①大規模開発 ・開発者10人程度を超えると、システム分割、チーム分割が必要。その分割方法、及び、分割されたチーム間のコミュニケーションが課題。

②分散拠点(オフショア含む)開発 ・開発拠点が分散し、さらに時差によって分断される場合のコミュニケーション手法、また、それをサポートするツールが必要。

③組織(会社)間をまたぐ開発チームによる開発 ・共通のビジネスゴールを持ったチームを組むことが難しい。

④組込みシステム開発 ・リリース後のソフトウェア修正が極めて困難であり、採用には工夫要。

Page 58: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 58

分類に基づく推奨開発モデル

Copyright © 2010-2011 IPA, All Rights Reserved.

文化

情報システム価値

WF型開発への 親和性が高い文化

WF型開発への 親和性が低い文化

信頼性重視システム (基幹インフラ向け等)

①ウォーターフォール型開発を推奨

②推奨なし

俊敏性重視システム (Webビジネス向け等)

③弱いアジャイル開発を推奨

④アジャイル開発を推奨

ウォーターフォール型開発を採用するか,アジャイル開発を採用するかは,ビジネス上の成功の観点で考えるべきこと. 次の場合には,上記推奨パターンを考慮し,経営的観点でアジャイル開発導入を検討:

・俊敏性重視システム開発において初期段階で要求定義が固まらないことによるコストオーバランが多くなっている

・信頼性重視システム開発案件が減少し,俊敏性重視システム開発案件が増加している

Page 59: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 59

非ウォーターフォール型開発形態採用のメリット

Copyright © 2010-2011 IPA, All Rights Reserved.

・優先度の高い機能が順次提供され、提供された機能を検証、投入することで、変化が激しく、優先度も変化するビジネス環境に対応できるサービスやシステムを手に入れられる。

・機能単位等で順次リリースすることにより、顧客・経営層は、開発途中での完成状況を知ることができ、顧客・経営層は、ビジネス上のアクションをすばやく採ることも可能となる。

・本番稼働後の経営環境や戦略の変更、ユーザが期待する品質の変化などに対応して、保守しやすく、品質向上もさせやすいため、改善の可能性と利便性が極めて高い。

環境の変化への俊敏な対応(改善,リリース)

Page 60: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 60

顧客・経営層は開発への一層の関与が必要

Copyright © 2010-2011 IPA, All Rights Reserved.

顧客(ユーザ)経営層

ビジネス環境が激しく変化する現状において,ITシステムに関し,従来のように情報システム部門に任せきりでは適切に対応できない.開発

形態にも深く関与する必要がある.

ベンダ経営層

俊敏な開発の実績を武器に受注を狙う海外勢等に対抗するためには,

自ら俊敏な開発を実施できる体制作りに取り組むと共に,その結果を

顧客に売り込む必要がある.

ソフトウェアにおける大きな品質トラブルの背景:

・経営層の意思決定の遅れ

・経営層の理解不足

・経営層と関係部門との経営上の調整不足

責任問題

Page 61: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 61

顧客・経営層が開発上で考慮すべき点

Copyright © 2010-2011 IPA, All Rights Reserved.

顧客・経営層は、アジャイル開発の採用を決断した時点で、顧客がチームの一員として参画し、タイムリーな意思決定を行ったり、品質や進捗状況の把握等に関し、主体的に開発に関わらざるを得ないということに十分な理解と覚悟を持つ。

アジャイル開発においては、反復の都度、コードを書き変えていくスタイルが採られる。 品質に重大な悪影響が及ぶかどうかの観点での、プロダクト品質の見える化が必要。

アジャイル開発の特徴に応じた「見える化」項目を用いて開発プロジェクトとの円滑なコミュニケーションを図り、アジャイル開発採用の本来の目的が損なわれないように努める。

Page 62: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 62

経営層への可視化(1/3)

Copyright © 2010-2011 IPA, All Rights Reserved.

サービス システム/ソフトウェア

仕様 実装

メニュー1 機能1 コード群1

メニュー2 機能2 コード群2

メニュー3 機能3 コード群3

メニュー4 機能4 コード群4

メニュー5 機能5 コード群5

優先順位

ライバル社は,まもなくサービスを開始すると発表した. わが社も,早期にサービスを提供しないと,シェアを奪われてしまう.

アジャイル 型開発の 採用

D社 S社

Page 63: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 63

経営層への可視化(2/3)

Copyright © 2010-2011 IPA, All Rights Reserved.

<アジャイル型開発> <ウォーターフォール型開発>

1 2 3 4 5 か月後 1 2 3 4 5 か月後

完成度

進捗度

完成度

進捗度

1 2 3 4 5 か月後 1 2 3 4 5 か月後

外 (経営層) から 見ると

内 (開発側) での 実際は

Page 64: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 64

経営層への可視化(3/3)

Copyright © 2010-2011 IPA, All Rights Reserved.

外 (経営層) から 見ると

内 (開発側) での 実際は

<アジャイル型開発> <ウォーターフォール型開発>

1 2 3 4 5 か月後 1 2 3 4 5 か月後

完成度

進捗度

完成度

進捗度

1 2 3 4 5 か月後 1 2 3 4 5 か月後

段階的に 順次リリース 可能

段階的に 順次リリース 可能

段階的に 順次リリース 可能

段階的に 順次リリース 可能

段階的に 順次リリース 可能

反復内では 進捗度を 報告しにくい

•コーディング○%終了 •レビュー□%完,...

いつでも 計画対応の進捗度を 報告可

•機能n完成,...

経営層は理解と覚悟が必要

Page 65: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 65

技術・スキルに関する検討

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 66: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 66

アジャイル型開発におけるスキル・価値観(1/2)

Copyright © 2010-2011 IPA, All Rights Reserved.

■アジャイル型開発におけるスキルとは何か

・プロジェクトに参加するメンバの役割に応じた、もしくは他の役割を支援するための能力。

・「~~が出来る、~~が作れる」と表現し、一般的な教育、育成によって成長が可能。

・プロジェクトのアウトプットに直接的に作用しやすい。

アジャイル型開発では、スキルよりも価値観を重要視する。

Page 67: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 67

アジャイル型開発におけるスキル・価値観(2/2)

Copyright © 2010-2011 IPA, All Rights Reserved.

■アジャイル型開発型における価値観とは何か

・アジャイル型開発に求められる大事なものを理解し、それに沿って活動する心構え。

・「~~を優先する、~~を大事にする」と表現し、教育、育成による成長というよりも、気付き、自立心により磨かれていくものである。

・プロジェクトのアウトプットには間接的に作用し、チームビルド、コミュニケーション、自己実現といった要素には大きな影響をもたらす。

アジャイル型開発では、作業の実施内容がウォーターフォール型開発と異なる点がある。

Page 68: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 68

役割によるスキルの相違

Copyright © 2010-2011 IPA, All Rights Reserved.

ウォーターフォール型開発と比較したアジャイル開発の大きな相違点:

① ファシリテーターが存在する

② 毎日コードをチェックインしている

③ 品質検証・保証の機能は,プロジェクトの普段の活動に組み込まれる

②③は役割の違いによる差であり,スキルの差ではない.

①に関しても役割の差とも言えるが,アジャイル開発に求められる新たな役割でもあり,それは必要なスキルの相違につながる可能性がある.

Page 69: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 69

各開発形態で必要な作業(役割)の比較例(1/2)

アジャイル型開発 ウォーターフォール型開発

プロダクトオーナー ・システムのための要件を定義し伝達する役割、優先順位を設定

ユーザー ・事業、顧客側

スクラムマスター ・ファシリテーティング  ※調整役であって意思決定をする役割ではない   アジャイルプロセスのルールを施行する

プロジェクトマネージャプロジェクトリーダー、SE ・人・モノ・金の判断をする ・仕様、スケジュール、要員の管理 ・報告、変更の管理

開発者メンバー ・要求定義を行う ・コードを書きながらプロダクトオーナーやテスターと協力してコードが開発されていることを確認する ・コードのための単体テストを書く ・受け入れテストをサポートするテストを書き、テストの自動化を行う ・毎日コードを共有リポジトリにチェックインする

開発者、SE、PG ・要求定義を行う ・コードを書く ・単体テストを書く ・テストの自動化を行う ・コードを管理する

開発者メンバー(テスターを含む) ・機能の理解を確認し、要望されている機能と紐付けられているか確認する ・コードが書かれている間に、受け入れテストのテストケースを書く ・受け入れテストの際にコードをテストする ・毎日、共有リポジトリにテストケースをチェックインする ・受け入れテストやコンポーネントテストを、継続的なテスト環境に統合するためにテストの自動化を開発する

テスター ・機能理解、要望機能との紐付け確認 ・テストケースを書く ・テストをする ・テストコードを管理する

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 70: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 70

各開発形態で必要な作業(役割)の比較例(2/2)

アジャイル型開発 ウォーターフォール型開発

アーキテクト(プロジェクト外) ・多くのアジャイルチームはアーキテクトという言葉が役職に就く ・アーキテクチャはアジャイルチームにとって非常に重要である ・チームの活動を通して「アーキテクチャは出現する」と言われているが、システムレベルでは、アーキテクチャはシステムの全体の構造を決定する責任を持つシステムアーキテクト、ビジネスアナリストによって調整されるものである ・アジャイルチームはチームの外側に存在する複数のアーキテクトと話す窓口を持つ

アーキテクト ・設計初期に登場 ・システム全体の構造を決定する責任あり ・プロジェクトチームは、複数のアーキテクトと話す窓口を持つことになる。

インフラ(プロジェクト外) ・マシン、ネットワーク環境を提供する

インフラ ・マシン、ネットワーク環境を提供する

QA・品質保証 (プロジェクト外) ・多くの場合、品質保証のための主な責任は、開発者やテスターに移行されることになる ・QA担当者は全体の品質を監督するという、本来意図されていた役割(レビューと品質の監視)に戻る ・QA部門にいたリソースの多くをプロジェクトチームと一緒に仕事できるように派遣してリアルタイムに品質を確認させることになる ・システムレベルのテスト開発(負荷試験等)に関わるようになる

QA・品質保証 ・品質保証部門として社内検査を行う ・出荷時の最終チェック的な役割 ・非機能試験は行わない、形式チェック

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 71: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 71

アジャイル型開発における役割とスキルの対応例

テクニカルコーチ

アジャイルコーチ

プロダクトオーナ

ストーリーオーナー

ビジネスアーキテクト

開発チーム代表

開発メンバ

◎ ◎ ◎ ○ ○ ◎ ○スクラム一般 ◎ ◎ ◎ ◎ ○ ◎ ◎スクラム PJ固有 ◎ ◎ ◎ ◎ ○ ◎ ◎実務 - - ○ ◎ ○ ○ ◎ドメインモデル - - ○ ○ ◎ ◎ ◎モデリング ○ ◎ △ ○ ◎ ○ ◎Java ◎ ◎ - - - ○ ◎OOプログラミング ◎ ◎ - - - ○ ◎OO設計 ◎ ◎ - - - ○ ◎UML ◎ ◎ - - ◎ ○ ◎リファクタリング ◎ ◎ - - - ○ ◎TDD ◎ ◎ - - - ○ ◎単体・結合テスト ◎ ◎ - - - ○ ◎システムテスト ◎ △ - - - ○ ◎HTML/CSS ◎ △ - ○ - ○ ◎JavaScript ◎ △ - △ - ○ ◎WebUIテスト ◎ △ - ○ - ○ ◎SQL ◎ △ - - - ○ ◎DB物理設計 ◎ △ - - - ○ ◎DBチューニング ◎ △ - - - ○ ◎Eclipse ◎ ◎ - - - ○ ◎Subversion ◎ ◎ - - - ○ ◎Trac ◎ ◎ - - - ○ ◎Hudson ◎ ◎ - - - ○ ◎フレームワーク ◎ △ - - - ○ ◎ステージング環境 ◎ △ - - - ○ ◎

業務知識

技術

開発環境

役割

プロジェクト運営運営チーム

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 72: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 72

進め方(プロセス)によるスキルの相違

Copyright © 2010-2011 IPA, All Rights Reserved.

ウォーターフォール型開発と比較したアジャイル開発の大きな相違点:

① 全部やろうとしない

② ドキュメントだけで設計はしない

③ 2週間程度で実際に動くものを見せる

④ 繰返し型のプロセスがある

①②については,技術,スキルの相違は生じない.

③④を実施するには,ドメイン領域の知識,幅広い言語知識が求められる.

ウォーターフォール型開発では,特に設計とコーディングを別々のメンバが担当することがよくある.

アジャイル開発では,繰返し型のプロセスであるため,設計,コーディング,テストコード作成を含むテストが,同じメンバにより一貫して実施される.アジャイル開発の全メンバには,これらマルチのスキルが求められる.

Page 73: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 73

各開発形態におけるプロセス内容の比較例

ウォーターフォール型開発

仕様検討  契約の元となる確定条件の整理

プロジェクト計画策定  ウォーターフォール型のストレートな計画策定  基本、やりたい事は全部やる、全部設計してみる

イテレーション (設計、開発、テスト) 小さな単位にしてドキュメント、コードをセットで作る テストコードも作る、毎日テストをする

基本設計  ドキュメントベースの設計  この時点で再度レビューをして再見積もりもあり  契約によっては、ここから先が別会社ということもあり

イテレーション (提供・デモ、評価) 2週間程度の周期で、動くコードを見せる 実際に触ってもらう その場でフィードバックをもらう

詳細設計、開発、テスト  ドキュメント、もしくはビルダーベースの設計開発  開発が終わってから、まとめてテスト

納品 ある程度の単位、決まった期日になったら、 本番環境にデプロイする

品質監査、納品  プロジェクトとは別部門による品質監査、形式チェック  納品

反  復

アジャイル型開発

仕様検討 大まかなやりたい事のヒアリング

イテレーション計画策定 やりたい事の優先度を決め、どれくらいの期間で、 どの程度の機能 (シナリオ)を作るかを決める

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 74: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 74

ユーザ側に求められるスキル

Copyright © 2010-2011 IPA, All Rights Reserved.

ウォーターフォール型開発におけるユーザに求められること:

・実現するシステム,アプリケーションの業務仕様についての責任を負う

・プロジェクトの進行管理:決めた機能,スケジュールの通りにプロジェクトが進行しているか確認し,進行していない場合に適切な対応を取る

アジャイル開発におけるユーザに求められること:

(全ての機能の仕様を洗い出す能力よりも)コアとなる機能を見定め,優先度を図りながら開発プロジェクトの運営を指揮していく能力

明確な仕様を決めなくても良いとはいうものの,定期的なサイクルで実物を見てフィードバックのポイントを増やすことにより,実際のシステムを目で確認しながら,積み上げるように仕様を決定していく

Page 75: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 75

アジャイル開発に必要なスキルのまとめ

Copyright © 2010-2011 IPA, All Rights Reserved.

非ウォーターフォール型開発にとって重要なスキル:

① プロジェクトのアウトプットに関わる判断ではなく,アジャイル開発の進め方を踏襲させるためのファシリテーションスキル

② 反復活動の中で,実際に動くものを作りながら,小規模に,かつトータルにプロジェクトのアウトプットを積み重ねていくスキル

③ 設計,コーディング,テストを一貫して実施出来るスキル

<参考>

欧米ではプロダクトマネージャ,開発者,テスタなどの役割が明確であり,その役割の中では技術者はほぼ対等である.開発者は日本に比べると広範囲な開発フェーズを担う.

アジャイル開発の具体論は,このような欧米の開発スタイルを暗黙的に前提としている面が多い.

日本でアジャイル開発を導入する際,プラクティスを機械的に導入するのではなく,開発チームや技術者のあり方,文化のあり方をどう変えていく,または変えていかない,ということを考えながら,検討する必要がある.

Page 76: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 76

人材育成方法(1/3)

Copyright © 2010-2011 IPA, All Rights Reserved.

アジャイル開発を実践するためには,

様々な方法論・数あるプラクティスから,

プロジェクトや組織に適したものを取捨選択し,カスタマイズ

することが必要

<カスタマイズの例>

現在の日本の商慣習に基づき一括請負契約でアジャイル開発を実践する場合,要件が変更される度にITベンダには負担がかかり,うまくマネジメントできなければたちまち赤字プロジェクトとなってしまう.したがって,イテレーション計画は当然のこと,顧客と頻繁にコミュニケーション出来るためのプラクティス,環境が非常に重要となってくる.また,不具合の瑕疵担保責任を全て開発側が負うため,テストやシステムの保守容易性に関するプラクティスを整備しておくべきである.

留意点

Page 77: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 77

人材育成方法(2/3)

Copyright © 2010-2011 IPA, All Rights Reserved.

今までアジャイル開発を実践した経験がない開発チームや技術者にとってプラクティスのカスタマイズは容易ではない。何故ならば、あらゆるプラクティスは他のプラクティスと相互作用するからである。

アジャイルプロセスの価値・原則も理解しなければならない.

アジャイル開発を初めて実施するチームであれば,まずは全てのプラクティスを適用し,模範に従って忠実に実践することが大事である.

相互作用を十分に理解した上で,次に,プラクティスをカスタマイズし,自分のプロジェクトでうまくいくかどうかを検証する.そこまで実践できれば,他のカスタマイズが必要なプロジェクトでも影響が予測でき,新しいプラクティスを創造して対処出来るようになる.

Page 78: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 78

人材育成方法(3/3)

Copyright © 2010-2011 IPA, All Rights Reserved.

全てのプラクティスを適用して実践する方法:

(1) 社外的に影響しない自社用のシステム開発プロジェクトにアジャイル開発を適用する

(2) 社内プロジェクトへの適用が困難な場合,アジャイル開発研修を行う.約1ヶ月から3ヶ月程度の仮想プロジェクトとしてアジャイル実践経験者を講師に迎えることにより,効率良く習得出来る.

教育に時間や費用が掛けられない中小企業の場合,2-3日の短期間の研修でも効果は得られる.この場合,チームプラクティス(*)をメインとした内容が望ましい.一人で出来るプラクティスは,研修後,各自で習得することが出来る.

(*) チームビルディング,計画ゲーム,ふりかえり,コードの共同所有,ペアプログラミング

Page 79: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 79

人材育成の事例-スケジュール

Copyright © 2010-2011 IPA, All Rights Reserved.

育成開始

スキル診断

卒業検定

標準1ヶ月(習熟度により前後)

開発技術(基礎知識) プロジェクト

キックオフ

ルーキーズ

セミナー

模擬開発

開発開始

・構成管理 / その他ツール ・テスト駆動開発 ・オブジェクト指向プログラム / 設計 ・Java言語 / Eclipse

1日 2~3日 5日

開発メンバ育成 開発チーム育成

OJT

・自己紹介

・チームビルド

・開発環境知識獲得

・業務知識

・フレームワーク

・開発標準

・アジャイル基礎知識

・サブチーム単位に行う ・作ったものは捨てる

・開発者向け ・ストーリーオーナー向けも別途行う

・プロジェクト憲章

・行動指針

・アジャイル概要

・開発できるレベルまで育てる

組閣

参画 ・プロパー ・プロダクトオーナー ・パートナー

プロジェクト立上げ

Page 80: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 80

○:立上げ前後の必須教育の領域 △:事前に準備が困難でOJTが必要な領域 *:内容を組織内で個別に検討する必要がある領域

人材育成の事例-対象別育成カリキュラム例

開発チーム

スクラムマスター

顧客/プロダクトオーナー

先行チーム

リーダー PM 経営者層/購買担当など

アジャイル概要 ○ ○ ○ ○ ○ ○ ○

アジャイル基礎知識 ○ ○ ○ ○ ○ ○

アジャイル擬似体験 ○ ○ ○

業務知識 ○ * ○

開発環境 ○ *

基本アーキテクチャ ○ *

業務分析/モデリング △ △

開発技術 △ *

ファシリテーション概要 ○ ○ ○ ○ ○ ○

ファシリテーション演習 ○ ○ ○

アジャイル開発を 初めて行う組織を対象

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 81: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 81

人材育成の事例-カリキュラム概要

Copyright © 2010-2011 IPA, All Rights Reserved.

名称 概要

アジャイル概要 アジャイル開発に携わる方向けの基礎知識

アジャイル基礎知識 一般的なプラクティスについての紹介

アジャイル擬似体験 アジャイル開発のプロセスを体験を通して理解する チームビルディング的な狙いもある

業務知識 開発対象の業務を理解する(内容は先行チームと検討)

開発環境 開発に使用するツールなどを理解する(内容は先行チームと検討)

基本アーキテクチャ 開発対象のシステム構成や、利用するフレームワークなどを理解する(内容は先行チームと検討)

業務分析/モデリング 業務を整理し、開発側に伝えるための手法を理解する

開発技術 開発に必要な技術を身につける(必要に応じて)

ファシリテーション概要 ファシリテーションに関する知識を理解する

ファシリテーション演習 ファシリテーションに関する知識を体験を通して理解する

Page 82: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 82

人材育成の事例-初期教育スケジュール

Copyright © 2010-2011 IPA, All Rights Reserved.

1日目(火) 2日目(水) 3日目(木) 4日目(金) 5日目(月)

8:45

9:00

9:30

10:00

10:30

11:00

11:30

12:00

12:30

13:00

13:30

14:00

14:30

15:00

15:30

16:00

16:30

17:00

17:30

18:00

朝会

Java言語教育・Hello World・コンパイルエラーの読み方・変数と型・演算子

Java言語教育・参照型変数・可視性(private、public)・カプセル化

Java言語教育・クラススコープとインスタンススコープ・継承・抽象クラス・インタフェース

UML基礎教育・クラス図・オブジェクト図

キックオフミーティング

ふりかえり体験

昼休憩

タスク進行シミュレーション

Java言語教育・配列・制御構文(if、for、while)

Java言語教育・APIドキュメントの読み方・JavaDoc・配列とArrayList

Java言語教育・アクセス制御詳細・パッケージ

ふりかえり

アジャイル開発の基礎知識

プランニングJava言語教育・HashMap・TreeMap・ポリモフィズム

Java言語教育・例外処理

開発環境設定 作戦会議夕会

Java言語教育・クラス・コンストラクタ・メソッド

Page 83: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 83

人材育成方法のまとめ

Copyright © 2010-2011 IPA, All Rights Reserved.

アジャイル開発の価値(及び原則)の理解が重要

プラクティスの全てを完全に身につけるより,価値に従って行動する習慣を確実に身につけることが重要

価値

原則

手法

Page 84: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 84

契約形態に関する検討

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 85: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 85

で、契約の起こる可能性がある場所を示す。同一の組織内の場合は、契約はない。

契約には、請負契約や準委任契約等の種類がある。

使う人

提供 する人

作る人

作る人2

保守 する人

契 補佐

する人

モデル化:ソフトウェア開発に関わる役割と契約の起こる位置

今回の 検討対象 今回の

検討対象

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 86: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 86

契約の観点から見たアジャイル型開発の特徴

要件が未確定であること

成果物が不明確であること

性能と品質等が不明確であること

工期が不明確であること

開発工数の見積りが困難であること

ユーザ/ベンダ間の責任分担が不明確であること

契約形態における指示系統との兼ね合いでコミュニケーションに制約が生じること

Copyright © 2010-2011 IPA, All Rights Reserved.

契約

Page 87: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 87

適用性評価について

Copyright © 2010-2011 IPA, All Rights Reserved.

2011年度は,今回提案した契約モデル・契約書(案)を実際

のアジャイル開発案件で使ってもらい,問題点があればその

解を反映して改訂する予定.

・専門家(契約関連の検討委員)の助言が得られる.

・開発内容の秘密は守る.

・レポートを提出するか,ヒアリングに対応して頂く.

ご興味があれば,ご連絡を: [email protected]

Page 88: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 88

モデル取引・契約書

[準委任型]

[請負型]

[準委任型]

[請負型]

開発手法は、ウォーターフォール型モデルを前提 ウォーターフォールモデル以外の多様な開発モデルに基いた 契約のあり方については、今後の検討課題

システム化 の方向性

システム化 の計画

要件定義 システム設計 ソフトウェア設計 プログラミング

ソフトウェアテスト

システム テスト

運用 テスト

企画支援業務 要件定義

作成支援業務

外部 設計書

作成業務

[準委任型] [準委任型] [請負型]

ソフトウェア開発業務 システム

テスト業務 運用準備 移行支援

[準委任型]

契約 契約 契約 契約 契約 契約

参考

策定:経済産業省(第1版 2007.4) Copyright © 2010-2011 IPA, All Rights Reserved.

Page 89: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 89

目 次

1. アジャイル型開発に注目される背景

2. アジャイル型開発の特徴

3. 日本でのアジャイル型開発の現状

4. アジャイル型開発活用に向けた課題の検討

5. アジャイル型開発手法の導入に向けて

6. まとめ

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 90: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 90

今後取り組むべきこと

開発モデルの選択方法・組合せモデルの検討 アジャイル型開発手法の理解促進 - 顧客(ユーザ)における業務部門と開発部門 - 発注顧客(ユーザ)と開発受託会社(ベンダ) - 社内の経営層、マネジメント層、開発担当など - 組織の風土 - 技術者(コミュニティ)の文化

管理手法や技術面での環境整備 - 品質評価、進捗管理、プロセス定義、定量化技術 - 社内標準、社内検査 - 開発ツールなど開発環境の整備

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 91: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 91

1. 適切な開発モデルの選択

計画性・確実性・安定性 変化への適応性・迅速性

開発対象の性質 開発組織の 環境条件

・システムの深刻度 ・要件の固まり具合、変化の度合い ・開発対象の成熟度 - 新規開発、改造、再構築、保守 ・アーキテクチャの成熟度 ・規模の大小

・手法に対する組織の経験、成熟度 ・手法に対するメンバの慣れ、成熟度 ・組織の制度、統制 ・組織の地理的分散 ・組織の風土 - 新しい試みに対する挑戦の空気 - 経営/マネジメント層の理解と支援

ウォーターフォール型 アジャイル型

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 92: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 92

アジャイル型開発のスイートスポット(1)

システム規模 ・ 0..12..300 (開発メンバー数)

深刻度 ・ シンプル、経済被害、...人身事故

システムの成熟度 ・ 新規開発、レガシー保守

要件の変化率 ・ 低、中、高

ビジネスモデル ・ 自社開発、オープンソース、...

アーキテクチャ ・ 安定、変化した、新しい

チームの分散 ・ 一か所、..、オフショア、外部委託

統制 ・ 単純なルール、...、SOX、...

フィリップ・クルーシュテン (Philippe Kruchten) の講演(2009.12)より

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 93: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 93

アジャイル型開発のスイートスポット(2)

通常は,JavaまたはC#の環境で,組込みではなくウェブアプリケーションを,最終的なエンドユーザや実際の顧客とかなり近い環境で開発するところ.

チームの大きさはふつう,かなり小さく,すべてで12人にも満たない.しかし,大きなチームでの経験も蓄積され続けている.チームの中には他の場所にいるメンバもいるかもしれないが,チームの中核はエンドユーザのかなり近くで仕事をする.

まだ開発が始まっていないプロジェクトよりも,既存のシステムの方が簡単にアジャイル型開発を適用できる.重要なのは,新しいプロジェクトでも既存のシステムでもアジャイル型で開発するための十分な経験が蓄積されているということ.

アジャイル型開発のスイートスポットには好循環が存在し,多くの経験が多くの成功をもたらし,その成功がまた経験を得る機会を生み出す.

出典 「アジャイルの限界」(作者:Alan Kelly, 翻訳者:徳武 聡, 投稿日;2010年8月17日) http://www.infoq.com/jp/articles/limits-of-agile

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 94: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 94

ソフトウェアエンジニアリング上の主な課題(1/3)

Copyright © 2010-2011 IPA, All Rights Reserved.

①機能視点で開発を順次進めるため、システムのアーキテクチャの確立に不安がある。

アジャイル型開発では、アーキテクチャは「創発」すると捉えられており、これは、ウォーターフォール型開発においてアーキテクチャに大きな事前コストをかけすぎたことの反省から来ている。しかし、イテレーション毎の局所視点とリファクタリングによる創発性のみにアーキテクチャを任せることができるか、また、「十分な」アーキテクチャとは何か、という議論は今後必要であろう。

②機能間に依存性が強い場合、イテレーションに入力する機能の順序に制約ができるケースがある。

アジャイル型開発では、依存性をなるべくなくし、細分化して機能分割することが求められる。また、その場合でも、リファクタリングの負荷が大きくなる場合がある。

Page 95: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 95

ソフトウェアエンジニアリング上の主な課題(2/3)

Copyright © 2010-2011 IPA, All Rights Reserved.

③大規模システムへの適用経験に学ぶ(「プロセス」より「人」)。

a.スキル欠如が透明化できないことに起因する開発者の危惧(fear)

b.開発者全員が,すべてのやりとり(trades)に熟達する(master)必要性

c.社会性スキル(social skills)への依存性増大

d.開発者におけるビジネス知識の欠如

e.アジャイル・プラクティスではなく,アジャイルの価値と原理(principle)を学ぶ必要

f. アジャイル手法の利用に対する開発者のモチベーションの欠如

g.意思決定の譲渡(devolve)が行きつくところ

h.行動が,アジャイル性に適合しているかどうかを評価する必要性

i. アジャイルに特化した採用および適切に訓練されたITコース卒業生獲得に対する戦略欠如

People Over Process: Key People Challenges in Agile Development, IEEE Software,

March/April (2011).

Page 96: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 96

ソフトウェアエンジニアリング上の主な課題(3/3)

Copyright © 2010-2011 IPA, All Rights Reserved.

④大規模システムへの適用経験に学ぶ(エントロピー増加)。

i. 大規模システムの進化に対して,アジャイル手法を適用して保守・改善を続けた結果,ソフトウェア・エントロピが増大(aging 老化)し,構造が輻輳化し,管理できなくなり,アジャイル開発を続けられなくなる危険性に直面した.

ii. 対策として,NDepend ツールを使って,イテレーションの度に,構造の整列を行い,リファクタリングを行った.

iii. スプリント期間中に,構造整列,リファクタリング,Working Softwareの顧客レビュー・承認,実装を行おうとしたが,当初決めたスプリント期間はとても守れなかった.

iv. リファクタリングは,業界で説明されているほど,簡単な作業ではない.ごく限られたリファクタリング手法を選定して,これを自動化するツールを開発し,これを利用しながら行った.

Hanssen, G. K., et al., Software entropy in agile product evolution, Proceedings of the 43rd

Hawaii International Conference on System Sciences (2010).

Page 97: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 97

2.アジャイル型開発手法の理解促進

◆ 顧客(ユーザ)内の業務部門と開発部門 ◆ 発注顧客(ユーザ)と開発受託会社(ベンダ) ◆ 社内の経営層、マネジメント層、開発担当など ◆ 組織の風土 ◆ 技術者(コミュニティ)の文化 ✓ アジャイル手法は、ユーザ・顧客との協調に価値を置くプ

ロセスであるため、顧客の参画が必須 ✓顧客マネジメント層の理解と必要なリソースの割当など,

具体的な行動が成功のための条件

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 98: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 98

アジャイル型開発手法の導入拡大の障壁 (海外)

45% 44% 42%

32%

23% 22%

17% 14%

10%

0%

5%

10%

15%

20%

25%

30%

35%

40%

45%

50%

組織文化の

変化能力

変化への

一般的な抵抗

アジャイル

経験者不足

マネジメントの

支援

プロジェクトの

複雑さ・

規模

顧客の協力

規模拡大への

対応の自信

移行までに

許される時間

予算の制約

1.組織文化の変化能力 2.変化への一般的な抵抗 3.アジャイル経験者不足

(VersionOne社 アジャイル開発の現状調査第3回2008より)

参考

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 99: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 99

アジャイル型開発プロジェクトの失敗理由 (海外)

23%

21%

13% 12%

11%

8% 7%

5%

0%

5%

10%

15%

20%

25%

企業哲学又は

文化との相性

手法への不慣れ

その他

従来型開発採用

への外部圧力

チーム内での

反発

文化的な移行の

欠如

マネジメントの

支援の欠如

不十分な

トレーニング

1.企業哲学・文化との相性 2.手法への不慣れ

(VersionOne社 アジャイル開発の現状調査第3回2008より)

参考

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 100: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 100

アジャイル型開発のメリットと今後の課題

Copyright © 2010-2011 IPA, All Rights Reserved.

① 顧客から見たメリット

・動くソフトウェアにより、気になる点が早く確認できる。 ・最初からすべての要求が出揃わなくても開発を始めることができる。

・要求の優先順位や、要求そのものの変更に柔軟に対応できる。 ・リスクを早期に軽減できる。 ・無駄なものを作り出さない。

② システムの開発者から見たメリット

・システム利用者の価値と対応させながら仕事を進められる。

・短いサイクルで経験を積み上げ、チームとして成長できる。 ・達成感によるモチベーションを維持できる。

Page 101: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 101

求められる意識と行動

Copyright © 2010-2011 IPA, All Rights Reserved.

上記のようなアジャイル型開発のメリットを享受するためには、以下のような意識と行動が前提となっている:

・開発者が顧客のビジネスを理解している。

・顧客がチームの一員として参画し、タイムリーな意思決定を行う。

・顧客及び開発者が、スコープの変更を許容する。

このように、顧客も開発者も、アジャイル開発においてはゴールを1つにした意識が必要である。

Page 102: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 102

3. 管理手法や技術面での環境整備

プロセス定義、品質管理手法、進捗管理手法

社内開発標準、社内検査基準

開発ツールなど開発環境の整備など

✓これまでのアジャイル型開発手法はプラクティスの集まり ✓設計、品質、検証などに不安があり、社会インフラなど、 重要なシステムへの適用には疑問が残る ✓今後はエンジニアリングにまで高める必要がある

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 103: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 103

目 次

1. アジャイル型開発に注目される背景

2. アジャイル型開発の特徴

3. 日本でのアジャイル型開発の現状

4. アジャイル型開発活用に向けた課題の検討

5. アジャイル型開発手法の導入に向けて

6. まとめ

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 104: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 104

アジャイル型開発手法適用のポイント

適切な開発手法の選択 -開発対象の特徴や開発組織の置かれた環境などを加味しつつ 適切な開発手法を選択する・新たに考案する

プラクティスの活用 -それぞれのプロジェクト・組織(企業)で、自らの開発に 合った方法を、プラクティスを選択あるいは参考にして 利用する

開発手法に対する正しい理解の促進 -プラクティスの意図やプラクティスが提唱されている背景 についても理解を深める

Copyright © 2010-2011 IPA, All Rights Reserved.

■ 銀の弾丸はない 実践現場でのたゆまない問題解決の積み重ねを続ける

Page 105: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 105 Copyright © 2010-2011 IPA, All Rights Reserved.

日本のソフトウェア産業を もっと元気にしよう

Page 106: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 106

SLCP 出典 「共通フレーム2007 第2版」

参考

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 107: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 107

プロセスとプラクティス

Copyright © 2010-2011 IPA, All Rights Reserved.

アクティビティ タスク

<プロセスの構成>

What-to-do (何をするか)を表す.

参考

XP ・システムのメタファ ・シンプルデザイン ・テスト駆動開発 ・頻繁なリファクタリング ・ペアプログラミング Scrum ・スプリントバックロググラフの作成 ・自律的な組織化チーム ・スクラムミーティング ・1日以内の障害除去 ・共通の部屋 ・日次ビルド ・スプリントレビ

How-to-do (どのようにするか)を表す.

<プラクティスの例>

全く異なる観点

Page 108: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 108

従来型とアジャイル型との主な違い(1/2)

Copyright © 2010-2011 IPA, All Rights Reserved.

「プロセス」重視 「人」重視

出典 Kieran Conboy, Sharon Coyle, Xiaofeng Wang, Minna Pikkarainen: ”People Over Process: Key People Challenges in Agile Development”, IEEE Software, July 2010.

参考

プロジェクト要素 従来型開発 アジャイル型開発

管理 「プロセス」重視 「人」重視

マネジメントスタイル 指揮統制型 リーダーシップ・協力型

知識の管理 明示 暗示

役割 個人

→専門化を好む

自己組織チーム

→役割の相互入れ替えを推奨

コミュニケーション フォーマルで、必要な時のみ インフォーマルで、継続的

顧客の関与 重要だが、通常はプロジェクトの分

析段階においてのみ

必須で、継続的

プロジェクトサイクル 業務や活動主導 製品特性主導

文化が異なる

Page 109: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 109

従来型とアジャイル型との主な違い(2/2)

Copyright © 2010-2011 IPA, All Rights Reserved.

参考

プロジェクト要素 従来型開発 アジャイル型開発

開発モデル ライフサイクルモデル

(ウォーターフォール、スパイラル、ま

たはこれらのバリエーション)

進化型成果モデル

望まれる組織形態/構

機械的(官僚的で、形式重視)

有機的(柔軟性、参加性に富み、

協力しあう社会的活動を推奨)

テクノロジー 制約なし 目標指向のテクノロジーが好まれる

チーム配置 分散型主体 連動型主体

チームサイズ 多くの場合で 10 人を超える 通常は 10 人以下

継続ラーニング あまり推奨されない 積極的に採用される

マネジメント文化 指揮統制型 対応型

チーム参加 必須でない 必須

プロジェクト・プラニング 管理職主導 継続的

フィードバックの仕組み 獲得困難 通常数多く存在

文書化 相当量 最小限

Page 110: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 110

プロセス・イノベーションに向けて

Copyright © 2010-2011 IPA, All Rights Reserved.

イノベーションは,複数の文化が交わるところに生まれる. それぞれの文化において強固な基盤が必要であり, 各文化のフロンティアにおけるコミュニケーションと協働により イノベーションがもたらされる.

<参考(意訳)> Innovate America: (通称“Palmisano Report”) チャレンジとチェンジの世界における繁栄-全米イノベー ションイニシアチブ報告書 http://homepage1.nifty.com/bicycletour/sci-rep.priv.InnovateAmerica.htm

イ ノベーションの意味は,仕組みや社会制度の革新も含まれる.

全く新しい技術や考え方を取り入れて新たな価値を生み出し,

社会的に大きな変化を起こすことである.

(1911年,経済学者・シュンペーター)

Page 111: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 111

プロセス・イノベーションでソフトウェア産業の活性化を

Copyright © 2010-2011 IPA, All Rights Reserved.

相互理解 優れた部分の採り入れ コラボレーション

(プロセス・インプルーブメント)

プロセス・イノベーション Process Innovation

Cross Culture

異文化

ウォーターフォール型開発 アジャイル型開発

Page 112: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 112

氏名 所属

主査 松本 吉弘 財団法人京都高度技術研究所 顧問

委員 稲村 直穂子 株式会社ディー・エヌ・エー システム統括本部 本部長

大槻 繁 株式会社一 コンサルティンググループ 副社長

合田 治彦 富士通株式会社 システム生産技術本部 本部長代理

田澤 久 楽天株式会社 開発ユニット 開発環境整備課 課長

戸村 元久株式会社NTTデータ 技術開発本部プロジェクトマネジメント・イノベーションセンタ センタ長

羽生田 栄一 株式会社豆蔵 取締役

平鍋 健児 株式会社永和システムマネジメント 副社長、株式会社チェンジビジョン 代表取締役

広瀬 敏久 日本電気株式会社 主席技術主幹

古川 正伸 株式会社東京証券取引所 品質管理部 課長

前川 徹 サイバー大学 IT総合学部 教授

馬嶋 宏 株式会社日立製作所 情報システム事業部 方式設計センタ

松島 桂樹 武蔵大学 経済学部 教授

南 悦郎 新日鉄ソリューションズ株式会社技術本部システム研究開発センター所長

和田 憲明 富士通株式会社 システム生産技術本部SI生産革新統括部 SDEM推進部

エキスパート 伊久美 功一 IPA/SEC専門委員/元IPA/SEC研究員

オブザーバ 鴨田 浩明 経済産業省

非ウォーターフォール型開発WG

非ウォーターフォール型開発に関する検討委員(1/4)

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 113: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 113

非ウォーターフォール型開発に関する検討委員(2/4)

Copyright © 2010-2011 IPA, All Rights Reserved.

開発モデルPT

氏名 所属

リーダ 平鍋 健児 株式会社永和システムマネジメント 副社長、株式会社チェンジビジョン 代表取締役

委員 合田 治彦 富士通株式会社 システム生産技術本部 本部長代理

戸村 元久株式会社NTTデータ 技術開発本部プロジェクトマネジメント・イノベーションセンタ センタ長

広瀬 敏久 日本電気株式会社 主席技術主幹

古川 正伸 株式会社東京証券取引所 品質管理部 課長

前川 徹 サイバー大学 IT総合学部 教授

松島 桂樹 武蔵大学 経済学部 教授

南 悦郎 新日鉄ソリューションズ株式会社技術本部システム研究開発センター所長

和田 憲明 富士通株式会社 システム生産技術本部SI生産革新統括部 SDEM推進部

エキスパート 伊久美 功一 IPA/SEC専門委員/元IPA/SEC研究員

Page 114: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 114

技術・スキルPT

氏名 所属

リーダ 松島 桂樹 武蔵大学 経済学部 教授

委員 天野 勝株式会社永和システムマネジメントコンサルティングセンター センター長

川端 光義 アジャイルウェア代表

児玉 公信 株式会社情報システム総研 取締役副社長/モデラー

田澤 久 楽天株式会社 開発ユニット 開発環境整備課 課長

馬嶋 宏 株式会社日立製作所 情報システム事業部 方式設計センタ

和田 憲明 富士通株式会社 システム生産技術本部SI生産革新統括部 SDEM推進部

非ウォーターフォール型開発に関する検討委員(3/4)

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 115: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 115

契約問題PT

氏名 所属

リーダ 前川 徹 サイバー大学 IT総合学部 教授

委員 飯塚 顕治新日鉄ソリューションズ株式会社法務・知財財産部 法務グループシニアマネージャー

高橋 雅宏 アジャイルプロセス協議会 見積・契約ワーキンググループ

板東 直樹 アップデートテクノロジー株式会社 代表取締役社長

平野 高志 ブレークモア法律事務所 弁護士

古川 正伸 株式会社東京証券取引所 品質管理部 課長

エキスパート 梅本 大祐 IPA/SEC専門委員/ブレークモア法律事務所 弁護士

オブザーバ 鴨田 浩明 経済産業省

葛山 弘揮 経済産業省

下田 裕和 経済産業省

柳橋 祥人 経済産業省

新保 康夫 日本コンピューター・システム株式会社 事業推進本部

鈴木 律郎 社団法人情報サービス産業協会 企画調査部

茂木 智美 社団法人情報サービス産業協会 企画調査部/審査業務部

非ウォーターフォール型開発に関する検討委員(4/4)

Copyright © 2010-2011 IPA, All Rights Reserved.

Page 116: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 116

ご清聴,ありがとう

ございました

IPA/SECホームページ: http://sec.ipa.go.jp/index.html

Copyright © 2010-2011 IPA, All Rights Reserved.

報告書公開中

http://sec.ipa.go.jp/reports/20110407.html

Page 117: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

117 Software Engineering Center

Information-technology Promotion Agency, Japan

Software Engineering Center

アジャイル開発にふさわしい 契約モデルの紹介

IPA/SEC専門委員

ブレークモア法律事務所

弁護士 梅本 大祐

2011.4.15 版

契約

Page 118: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 118

非ウォーターフォール型開発WG

主催: IPA / SEC (独立行政法人 情報処理推進機構 ソフトウェア・エンジニアリング・センター)

目的: 非WF型開発の適用に適した領域を見定め、その活用を促進

設置されたPT:

開発モデルPT(アジャイルの定義)

技術スキルPT(アジャイルの技術、人材等)

契約問題PT(アジャイルに適した契約)

Copyright © 2010-2011 IPA, All Rights Reserved.

契約

Page 119: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 119

WF型開発と比較したアジャイル開発の特徴(の一部)

ベンダとユーザの緊密な協力体制が必須 - 相手方の問い合わせへの迅速な応答 - 担当作業の迅速な実施

ユーザ要求の詳細が契約時点では白紙 - 何を作るか決まっていない(成果物未定) - 工数見積りが困難(コスト未定)

開発途中でのユーザ要求の変化を柔軟に受け入れる必要 - 決定した事項も変更されることがある

Copyright © 2010-2011 IPA, All Rights Reserved.

契約

Page 120: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 120

アジャイル開発と契約の対立

契約 合意内容を固定して、当事者を法的に拘束する

アジャイル開発 変化に対応すべく、合意内容の変更を柔軟に認め、当事者をなるべく拘束しない

⇒アジャイル開発にはふさわしい契約とは?

Copyright © 2010-2011 IPA, All Rights Reserved.

契約

Page 121: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 121

システム開発において主に使われる契約類型 - 請負契約と準委任契約

請負契約(民法632条~642条)

一方が仕事を完成させることを請負い、その相手方が完成した仕事に対して報酬を支払うことを約束する契約。

⇒契約時点で、ベンダが完成すべき仕事の内容を明確にしておく必要。

準委任契約(民法643条~656条)

事務処理を目的とする契約であり、仕事の完成を目的としない。ベンダは、善良な管理者の注意をもって、委任された事務を処理する義務(善良管理者注意義務)を負う。

⇒ベンダに完成義務がなく、ユーザにとって不安。

契約

Page 122: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 122

アジャイル開発には、どんな契約がふさわしいのか?

開発内容が決まっていない段階で、開発プロジェクト全体に

つき、一つの請負契約を結ぶのは適切ではない(何をいくら

で完成させるか不明)。

他方、開発プロジェクト全体を準委任契約にすることは、ベ

ンダが完成義務を負わない点で、ユーザ側に不安がある(た

とえ成果物が完成しなくても、ユーザは対価を支払う必要) 。

また、アジャイル開発の特徴であるユーザとベンダの協働関

係を、契約に取り入れる必要がある。

Copyright © 2010-2011 IPA, All Rights Reserved.

契約

Page 123: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 123

契約問題PTで検討された契約モデル案

基本/個別契約モデル:

プロジェクト全体に共通する事項につき、基本契約を締結し、

開発対象と費用がある程度確定したタイミングで個別契約

(請負/準委任)を締結する。

組合モデル:

ユーザとベンダが共同でジョイント・ベンチャーとしての組合を

組成し、協力してシステム開発(収益性のあるもの)を企画・

製作する(開発された成果から得られた収益は、ベンダと

ユーザに分配される)。

Copyright © 2010-2011 IPA, All Rights Reserved.

契約

Page 124: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 124

基本/個別契約モデルの構成

全体構成

プロジェクト全体に共通する事項を定めた基本契約を締結

した上で、個別の機能開発の内容について協議を行い、開

発対象が確定し次第、(例えばリリース単位の開発対象機

能群をまとめて)順次、個別契約(請負契約/準委任契約)

を締結する。

Copyright © 2010-2011 IPA, All Rights Reserved.

契約

Page 125: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 125

基本/個別契約モデルの概要(1)

企画

システム運用

• n=1のケースもあり。

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求・・・

第1リリース

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求・・・

第2リリース

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求・・・

第mリリース

基本契約

個別契約 個別契約 個別契約

企画

システム運用

• n=1のケースもあり。

第1反復

テスト

開発

要求

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求

第n反復

テスト

開発

要求・・・

第1リリース

第1反復

テスト

開発

要求

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求

第n反復

テスト

開発

要求・・・

第2リリース

第1反復

テスト

開発

要求

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求

第n反復

テスト

開発

要求・・・

第mリリース

基本契約

個別契約個別契約 個別契約個別契約 個別契約個別契約

Copyright © 2010-2011 IPA, All Rights Reserved.

契約

Page 126: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 126

基本/個別契約モデルの概要(2)

要件定義

設計

実装

テスト

導入

WF開発における 基本/個別契約モデル

開発対象機能群1 time

フェーズごとに

個別契約を締結

開発対象機能群2

開発対象機能群3

開発対象機能群4

開発対象機能群n

アジャイル開発における 基本/個別契約モデル

time

開発対象機能群ごとに 個別契約を締結

(経済産業省 情報システム・モデル取引契約書など)

Copyright © 2010-2011 IPA, All Rights Reserved.

契約

Page 127: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 127

基本/個別契約モデルのポイント(1)

ユーザとベンダの緊密な協力体制の確保

- 相互協力の義務付け(基本契約5条)

相手方への協力義務違反⇒法的責任

- 頻繁な連絡協議会の開催(基本契約6条)

開発機能の内容検討のほか、プロジェクト全体/個別開

発の進捗管理、リスク・問題点の検討を行い、必要事項

を決定

定期開催 + 一方当事者の要求では随時開催

連絡協議会外でも問い合わせには迅速に対応

Copyright © 2010-2011 IPA, All Rights Reserved.

契約

Page 128: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 128

基本/個別契約モデルのポイント(2)

スピーディーな意思決定の実現

- 個別契約における決定事項は別紙に集約(個別契約の別

紙参照)

別紙記載の項目を取り決めればよい

- 連絡協議会による決定(基本契約6条)

契約書に記載がない事項は連絡協議会で決定

連絡協議会での決定事項は、議事録に記載して証拠化

議事録のみなし承認

Copyright © 2010-2011 IPA, All Rights Reserved.

契約

Page 129: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 129

基本/個別契約モデルのポイント(3)

決定事項の事後的な変更を許す

- 変更協議による決定事項の事後的変更(基本契約4条)

一旦決定した事項(連絡協議会での決定、個別契約での

合意)を変更する必要があれば、変更協議で誠実に協議

する

一方当事者が変更協議を求めた場合、相手方は応じなけ

ればならない

変更協議が調わないまま一定期間が経過した場合には、

個別契約を終了できる

Copyright © 2010-2011 IPA, All Rights Reserved.

契約

Page 130: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 130

組合モデルの構成

全体構成

システム開発プロジェクトにおいて、ユーザは資金を、ベン

ダ(複数社も可)はプロマネ要員を出し、一つのシステムを

ユーザとベンダの企業が共同で企画・製作するための組織

-共同企業体-を作り、開発を行うモデル。スキームとし

ては,民法上の組合(任意組合)を用いている。

組合モデルでは、システム開発プロジェクトのコーディネート

とプロジェクトマネジメントのみを組合が担当し、具体的な

開発作業は、組合がベンダに委託して行う。

Copyright © 2010-2011 IPA, All Rights Reserved.

契約

Page 131: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 131

組合契約とは

民法第667条(組合契約)

1 組合契約は、各当事者が出資をして共同の事業を営むこ

とを約することによって、その効力を生ずる。

2 出資は、労務をその目的とすることができる。

Copyright © 2010-2011 IPA, All Rights Reserved.

契約

Page 132: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 132

組合モデルの概要

組合

組合契約 (製作管理と成果管理を規定する)

成果物の企画 スケジュール・予算管理

知的財産管理 成果物の収益分配

利害関係者との権利調整 組合員の倒産、脱退、

清算

ベンダ 業務執行組合員

ユーザ 製作に関わる資本出資

ベンダ

ユーザ 業務執行組合員

組合-ベンダ間の開発契約は 基本/個別契約モデルの 個別契約を利用する。

イテレーション単位で 成果物を納品

ベンダ 製作に関わる労務出資

(同一主体)

投資家 製作に関わる資本出資

投資家 組合員

Copyright © 2010-2011 IPA, All Rights Reserved.

契約

Page 133: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 133

組合モデルのポイント

組合契約による、共同事業のパートナーとしての協働体制

(契約1条)

ベンダは技術・知識を持ったスタッフの労務を、ユーザは資

金を、それぞれ出資(4条)

開発の成果から収益が得られた場合は、出資比率に応じて

分配(7条)

連絡協議会によるプロジェクト運営・管理(10条)、変更協

議(11条)

具体的な開発は、組合からベンダに委託(5条)

Copyright © 2010-2011 IPA, All Rights Reserved.

契約

Page 134: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 134

組合モデルの課題

組合モデルの契約は試案であり、改善の余地が大きい。例

えば下記の点などが、未検討事項として残されている。

組合を適切に運営するための組織体制(組合内部の運

営に関する規定等)

組合をスムーズに解散するための処理

税務・会計上の処理

開発の成果を事業化する場合の、他のスキーム(会社)

への移行処理

Copyright © 2010-2011 IPA, All Rights Reserved.

契約

Page 135: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 135

今後のさらなる改善に向けて

アジャイル開発の「自由さ」を損なわない契約

いまだ信頼関係が十分でない「初めての相手」とも安心して

アジャイル開発を行える契約、契約内容の運用ガイドライン

☆より使いやすい契約にするためには、現場からのフィードバッ

クが必須です!

Copyright © 2010-2011 IPA, All Rights Reserved.

契約

Page 136: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 136

契約書ひな型(MS-Word形式)のダウンロード

Copyright © 2010-2011 IPA, All Rights Reserved.

http://sec.ipa.go.jp/reports/20110407.html

MS-Word形式の契約書案のダウンロード可

Page 137: アジャイル型開発を適切に採り入れるために · アジャイル型開発を適切に採り入れるために ~ipa/sec「非ウォーターフォール型開発wg活動報告書」から~

SEC Software Engineering for Mo・No・Zu・Ku・Ri

Software Engineering Center 137

おわり

ご清聴ありがとうございました!

参考: IPA 非WF型開発WG報告書 (契約書モデルのMS Word版もDL可能) http://sec.ipa.go.jp/reports/20110407.html

Copyright © 2010-2011 IPA, All Rights Reserved.

契約