APITT
「開発手法」

content
目的
  1. 開発手法の種類を説明できるようになる。
  2. 開発手法の特徴を説明できるようになる。
  3. 各種開発案件に適した開発手法を選択できるようになる。

日程
  1. 1日目:座学、開発手法の種類と特徴
  2. 2日目:実習、作業リストを時系列で作成し、各作業をどの開発手法で進めるかを決定する

開発手法とは

開発を進める手順のこと。

「ウォーターフォールモデル」「プロトタイプモデル」「スパイラルモデル」「インクリメンタルモデル」「アジャイル」がある。

開発を取り巻く環境


開発手法の良し悪し

これから各種開発手法を見ていくが、どれが良くて、どれが悪いということではありません。 開発の内容、要求の確定具合、組織が持っているノウハウによって適した開発手法が異なってきます。 本講座では、各種開発手法の特徴を知り、特定の開発案件に対して適した開発手法を選択できるようになることが目的です。


共通フレーム2007

IPA 「共通フレーム2007 第2版」の発行

日本版のSLCP(ISO Software LifeCycle Process)。
 「共通フレーム2007」とは、ソフトウェア、システム、サービスへの従事者が、言葉の意味(範囲)の解釈の違いによるトラブルを予防する(誤解を招かぬようにする)ため“同じ言葉を話す“ことができるよう共通の枠組みを提供し、ソフトウェアの構想から開発、運用、保守、廃棄にいたるまでのライフサイクルを通して必要な作業内容を包括的に規定したものです。

ウォーターフォールモデル Water Fall

メリット

デメリット

課題は?


プロトタイプモデル Prototype

メリット

デメリット

課題は?


スパイラルモデル Spiral Spiral2

メリット

デメリット

課題は?


インクリメンタルモデル Incremental

メリット

デメリット

課題は?


アジャイル

システムの規模が拡大し、管理が難しくなったために考え出されたのがこれまでの開発モデル。 大規模なシステム開発が由来であるため「重量開発手法」と呼ばれることがある。

Webの普及により大規模なシステムよりも小規模なシステムを複数開発するという考え方が広まってきた。 小規模なシステムの方が管理がしやすく開発が容易だからである。 そういった小規模なシステムに対して重量開発手法は向かない。 そこで考え出されたのがアジャイルモデルである。 そのためアジャイルは「軽量開発手法」と呼ばれる。

「アジャイルソフトウェア開発宣言」

アジャイルソフトウェア開発手法とは、一群のソフトウェア開発手法の総体を意味する言葉であり、単一の開発手法を指す言葉ではない。 2001年に、アジャイルソフトウェア開発手法 (当時は軽量ソフトウェア開発手法と呼ばれていた) の分野において名声のある17人がアメリカ合衆国のユタ州のスノーバードというスキーリゾートに会し、彼らがそれぞれ別個に提唱していた開発手法の重要な部分を統合することについて議論した。 そして、彼らは「アジャイルソフトウェア開発宣言」(Manifesto for Agile Software Development) という文書にまとめた。

特徴

4つの価値

12の原則

メリット デメリット

課題は?

重量開発手法とアジャイルの比較
重量開発手法 アジャイル
重点事項 手続き 個人と相互作用
重点事項 計画 変化への対応
活用しやすい開発の種類 クリティカルなシステム 非クリティカルなシステム
活用しやすい開発の規模 大規模 小規模
開発チーム 誰でも参加できること前提 アジャイルの経験がある方が有利
マネジメント 従来のマネジメント手法がそのまま適応できる 従来のマネジメント手法をそのままでは適応できない
契約 従来の契約方法が適応できる 従来の契約方法をそのままでは適応できない


アジャイルに分類される開発手法(Scrum) アジャイルポスター

使用する技法

Scrumの方法論


アジャイルに分類される開発手法(XP)

5つの価値

各役割毎のプラクティス

共同のプラクティス

開発のプラクティス

管理者のプラクティス

顧客のプラクティス


開発手法の選定
まとめ
content
  1. 目的
  2. 日程
  3. 開発手法とは
  4. 開発手法の良し悪し
  5. 共通フレーム2007
  6. ウォーターフォールモデル
  7. プロトタイプモデル
  8. スパイラルモデル
  9. インクリメンタルモデル
  10. アジャイル
  11. アジャイルに分類される開発手法(Scrum)
  12. アジャイルに分類される開発手法(XP)
  13. 開発手法の選定
  14. まとめ