家studyをつづって

IT技術やセキュリティで勉強したことをつづっています。

ア‌ジャ‌イ‌ル‌開‌発‌宣‌言‌と‌は‌ ‌

ア‌ジャ‌イ‌ル‌ソ‌フ‌ト‌ウェ‌ア‌開‌発‌宣‌言‌の‌読‌み‌と‌き‌方‌ ‌
発‌行‌機‌関‌:‌情‌報‌処‌理‌推‌進‌機‌構‌(‌IPA‌)‌ ‌
発‌行‌年‌月‌日‌:‌2018‌年‌4‌月‌ ‌

https://www.ipa.go.jp/files/000065601.pdf‌

 

アジャイル開発とは
アジャイル(agile)は「素早い」や「機敏」という意味があります。
アジャイル開発で使われるアジャイルとは、ソフトウェアの軽量な開発、ソフトウェアを早く、かつ継続的に提供するという意味があります。
ソフトウェア開発に「アジャイル」という概念が取り入れられた背景には、顧客の要望に答えるシステムをできるだけ短い時間でリリースすることによって、顧客のビジネスのスタートを早めようという考え方があります。


アジャイル開発宣言とは

「アジャイル」という概念が誕生するきっかけとなったとなったのは、2001年にアジャイルソフトウェア開発の分野において専門性の高いメンバーが集い行った「アジャイルソフトウェア開発宣言」です。

 

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

私たちは、ソフトウェア開発の実践あるいは実践を手助けをする活動を通じて、よりよい開発方法を見つけだそうとしている。
この活動を通して、私たちは以下の価値に至った。

プロセスやツールよりも個人と対話を、包括的なドキュメントよりも動くソフトウェアを、契約交渉よりも顧客との協調を、計画に従うことよりも変化への対応を、価値とする。すなわち、左記のことがらに価値があることを認めながらも、私たちは右記のことがらにより価値をおく。

 

agilemanifesto.org


「アジャイルソフトウェア開発宣言」はその背後に、「アジャイル宣言の背後にある原則」というものがあります。これは、「アジャイルソフトウェア開発宣言」で表明されているマインドセットを実現するために従うことが望ましい原則、取り組み姿勢が書かれています。

「アジャイルソフトウェア開発宣言の読みとき方」は、「アジャイルソフトウェア開発宣言」および「アジャイル宣言の背後にある原則」の解釈についてまとめた資料です。

補足:マインドセット
マインドセット
mind set
マインドセットとは、経験、教育、先入観などから形成される思考様式、心理状態。暗黙の了解事項、思い込み(パラダイム)、価値観、信念などがこれに含まれる。 

mba.globis.ac.jp

 

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

IPAの解釈 原文
顧客の満足を求め続ける

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

“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”

要求の本質を見抜き、変更を前向きに

「要求の変更はたとえ開発の後期であっても歓迎します。変化を味方につけることによって、お客様の競争力を引き上げます。」

“Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.”

成果物を2-3週間で、リリースし続ける

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

“Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.”

全員で共通の目標に向かおう

「ビジネス側の人と開発者は、プロジェクトを通して日々一緒に働かなければなりません。」

“Business people and developers must work together daily throughout the project.”

人の意欲は信頼から

「意欲に満ちた人々を集めてプロジェクトを構成します。環境と支援を与え仕事が無事終わるまで彼らを信頼します。」

“Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.”

顧客も開発チームも直接対話で

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

“The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.”

進捗も品質も現物で

「動くソフトウェアこそが進捗の最も重要な尺度です。」

“Working software is the primary measure of progress.”

一定のペースでプロジェクトにリズムを

「アジャイル・プロセスは持続可能な開発を促進します。一定のペースを継続的に維持できるようにしなければなりません。」

“Agile process promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.”

よい技術、よい設計、よい品質の追求

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

“Continuous attention to technical excellence and good design enhances agility.”

ムダ=価値を生まない、を探してヤメる

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

“Simplicity--the art of maximizing the amount of work not done--is essential.”

よいモノはよいチームから

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

“The best architectures, requirements, and designs emerge from self-organizing teams.”

自分たちのやり方を毎週、調整する

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

“At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.”