この記事でわかる事


IT業界で働いている方は『アジャイルソフトウェア開発』と言う言葉は聞いたことがあると思います。
このブログでは複数回にわたってアジャイルソフトウェア開発とは何か、向き不向き、代表的な手法のスクラムの説明等アジャイルソフトウェア開発に関する内容を紹介予定です。
アジャイルソフトウェア開発に興味ある方へ少しでも有意義な情報を発信出来ればと思います。

第1回は『アジャイルソフトウェア開発』って何?を紹介したいと思います。

目次

  • アジャイルソフトウェア開発のイメージ
  • アジャイルソフトウェア開発とは?
  • アジャイルソフトウェア開発宣言
  • アジャイルソフトウェア開発宣言の見解

アジャイルソフトウェア開発のイメージ

ウォーターフォール開発って何ですか?と聞かれると大体の人がV字モデルの工程を思い浮かべる人が多いのではないでしょうか?
ITシステム開発経験者でウォーターフォール開発を経験していない人はいないと言っても過言じゃない位、一般的で定着している開発手法だと思います。

では、皆さんアジャイルソフトウェア開発と聞くとどういった事を想像しますか?

  • ウォーターフォールに代わる開発手法
  • 顧客の要求に応える為、何度も仕様変更を受け入れる
  • スクラムチームを作って、バックログをスプリントでグルグル回す
  • カンバン方式でホワイトボードにタスクをペタペタ張ってタスク管理を行う
  • XP(エクストリームプログラミング)でリファクタリングやペアプログラミングを行う

上記に限らず様々なイメージを持っている方は多いのではないでしょうか?

それは何故でしょうか?

まだまだアジャイルソフトウェア開発が定着していない事や「アジャイルといえばスクラムやカンバン!」といったイメージ等様々な要因があると思います。
まずはアジャイルソフトウェア開発って何?を考えてみたいと思います。

アジャイルソフトウェア開発とは?

ではアジャイルソフトウェア開発とは何なのでしょうか?
困った時のWikipediaでは下記の様に説明されています。

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

ここで気になる表現がありますね。

一群のソフトウェア開発手法の総体を意味する言葉であり、単一の開発手法を指す言葉ではない

ここで書かれている通り、アジャイルソフトウェア開発は単一の手法ではありません。
アジャイル開発のイメージあるようなスクラムやカンバンやXPはアジャイルソフトウェア開発を実行する手法の一つであり、アジャイルソフトウェア開発そのものではありません。

では、アジャイルソフトウェア開発って何でしょうか?

それを解決するヒントとして、『アジャイルソフトウェア開発宣言』との言葉が出てきました。
次に『アジャイルソフトウェア開発宣言』を見てみましょう

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

アジャイル開発宣言とは2001年、アメリカ・ユタ州に集まった17名の技術者・プログラマーによって提唱されたのが始まり。彼らがより良い開発手法について議論するなかでまとめられたのが「アジャイルソフトウェア開発宣言」です。
開発宣言は4つの 価値とその価値に由来する明確な12の原則から成り立っています。
日本語にも訳されており、下記内容となります。http://agilemanifesto.org/iso/ja/manifesto.htmlより

【4つの価値】

  【12の原則】

アジャイルソフトウェア開発宣言の見解

皆さんお気づきとは思いますが、アジャイル開発宣言を見るとスクラムカンバンXPと言ったキーワードは出て来ません。
アジャイルソフトウェア開発宣言は基本的にはマインドセットであり、具体的な開発手法ではなく理念やルールです。
開発宣言に準拠する事がアジャイルソフトウェア開発であり、アジャイルソフトウェア開発を遂行する手法として、スクラムやカンバンやXP等が存在する事になります。
よって、『一群のソフトウェア開発手法の総体を意味する言葉であり、単一の開発手法を指す言葉ではない』との表現は開発宣言が具体的な手法を記述していない事から、単一の手法ではないと言った表現になっているのでしょう。

今回はアジャイル開発宣言までご紹介しました。
引き続きアジャイル開発手法についてアップ出来ればと思います。

次回はアジャイルソフトウェア開発を様々な視点からのから向き不向きを紹介したいと思います。