見出し画像

#ビジネスにちょっとだけ役立つかもしれないこと 『アジャイル開発の概念整理』

PMBOK 7th Edition が発表されました。

そして、世の中は右を見ればDX、左を見ればDX、後を見てもDXです。
DXを推進していく上で、重要視されるのが、マイクロサービスであり、クラウドシフトであり、アジャイル開発です。

社会がデジタル化していく流れの中で、デジタルテクノロジーの進歩ははやいです。その中で、環境の変化、テクノジーの進化に対応するために、DXの推進もアジャイルで進めなかれば、環境の変化についていけないということです。

ここで、アジャイル開発を実施していく上で必要だと考える価値観を、あらためて考えてみます。

「アジャイル開発の目的」
アジャイ開発の目的とはなんだろうか。。。。
アジャイル開発とは、ビジネス価値の最大化に向けて、顧客に価値のあるソフトウェアを早く、継続的に提供するためのアプローチです。
これを実現するためにアジャイル開発で重要となる事項について考えていきたいと思います。
そもそも、環境の変化がこれだけ早い環境の中で、その変化に対応するべき開発手法です。

「アジャイル開発の本質」
アジャイル開発での最終的な目標は、ビジネスの価値の最大化です。開発者も常に顧客と同じ目線で、顧客にとっての価値が最大となるよう取り組む姿勢が必要でなのです。
これが、アジャイルの一番重要なことで、「同じゴールを共有する」です。
一方で、アジャイル開発を作業効率の1つの手法として考えている人もいるかもしれないが、開発者としてなるべく無駄な作業を行わないことは、アジャイル開発では基本的な考え方ではあるが、いくら作業を効率化したとしても価値あるものを創出できなければ意味がありません。
というより、アジャイル開発でなくても作業の効率化はしていくべきであり、実施しているでしょう。

「顧客にとっての価値を知る」
顧客にとっての価値とは何かを知るために、実際に作ったものを使ってもらって、顧客が満足しているかどうか確認します。
ゴールを共有した上で、共有したゴールとずれていませんか?ということです。

「常に状況は変化すると考える」
昨今のビジネス環境は、絶えず変化しています。従って、ベストな課題解決にたどり着くのは正直難しいです。それに俊敏に対応するために、ベストではないものの、ベターなビジネス解を徐々に改善していく傾向が強くなっています。
こうした状況から生み出されるシステム要求も、ビジネス解の継続的な変化に対応して、価値あるソフトウェアを早く、継続的に提供していくことが求められます。
世の中に不変なものがあるとすならば、それは変化するということです。

「変化に柔軟に対応するためには」
顧客の要求も絶えず変化します。顧客からんフィードバックを短いサイクルで得ながら、提供したものに価値があるかどうかを継続的に確認します。
これも重要な要素ではありますが、顧客の言ったことが全て正しいとは限りません。少し先の未来を先取りし、よりベターなビジネス解を提案していく必要があります。要件を定義するというより、要求提案という考え方が求められます。
その先にあるものが、目的を共有するというゴールシェアです。

「ビジネス価値のある動くソフトウェアとは」
アジャイル開発では、動くソフトウェアを提供することを重視するため、タイムボックスを使用した反復型のアプローチをとります。顧客が評価できるソフトウェアを提示し、顧客かなおフィードバックを短いサイクルで得ながら、提供したものに価値があるかどうかを確認します。
現場・現物・現実主義の高速仮説検証のサイクルが必要とされる。(OODAループのように)

「顧客とWin Winの関係を構築する」
顧客からのフィードバックを効率的、効果的に得るためには開発者と顧客は直接対話しながら、WinWinの関係を築けていることが肝心です。
そのためには、全てをオープンにする事が求められます。
品質、スケジュール、課題、コスト、要件等、プロジェクトのゴールを実現するために必要なこと全てです。

「自律的なチームで、人の能力を最大限に発揮する」
アジャイル開発に限った話ではありませんが、組織やプロジェクトにおいて一番大切なものは”人”です。自動化が進んでも、やはり人間でなければできないことはたくさんあります。特にアジャイル開発では、無駄な作業を極力減らし、空いた時間で人間の能力を最大限に活用できるようにすることが求められます。
開発チームは、開発プロセスのライフサイクル全体を通して完全に自律している(自己完結している)必要があるのです。そのため、チームは顧客とエンドツーエンドでコミュニケーションするとともに、開発プロセス全体を遂行するために必要な全ての専門知識やスキルをチームとして備えている必要があります。
これにより、要員アサインや承認のための待ちなどを排除してムダをなくすことができます。

「技術・プログラミングの重要性」
人間の能力を最大限に活用するために、開発者は何を身につけておくべきか?アジャイルソフトウェア開発宣言の背後にある原則の1つにあるように、「技術的卓越性と優れた設計に対する不断の注意が機敏さを高める」ため、常に最新の技術を身につける努力が必要になる。アジャイル開発では動くソフトウェアに価値を求めるため、とりわけプログラミングに関する知識やスキルは必須と言えるだろう。

【アジャイル開発の活動を支える大原則】
アジャイル開発の活動を支える柱(大原則)として、「人間中心」「技術の尊重」が上げることできる。

「人間中心」
人間中心とは、従来の顧客起点ではなく、社会を構成する一人一人(顧客だけでなく、経営者も従業員も)の生きる意味を考えることが社会の価値につながるということを示しています。
また、提供する人間の能力を最大限に活かすことが重要です。個人個人の能力が社会の中で創造的かつ健全に開花し、多様なチーム、組織、コミュニティに価値を提供し、その中で生きがいを持って協働できる働きやすい社会を目指すことが重要になります。テクノロジーはそれをエンパワーするものであるべきです。

「技術の尊重」
技術力をもって生産性と品質・信頼性を担保するとともに、常に適切な技術とスキルを学習し、それを社会に還元し、次世代に継承する努力を怠らず、学習する組織・社会を目指すことも重要になります。
技術活用は、プログラミング的思考、よい技術、よい設計に、より良い品質を追求すること、できるだけ自動化し、人の無用な負担を排除することなどが該当します。

「人間中心と技術の尊重のバランスが重要」
人間中心と技術活用という2本の柱のバランスが重要です。2本の柱でイノベーティブな社会変革を人間中心で仮説・検証を繰り返しながら進めていきます。
単に与えられた課題に対して、実行するだけでは十分ではありません。
自ら、課題や問題をつくりだし、その課題についての仮説・検証を行う必要があります。
特に技術中心で考えてきた日本の企業に対して人間中心なイノベーションを個人・組織に植え付けることが必要です。
本質を理解せずに形だけを真似しても成果を創出することはできません。

「継続的な改善、視聴を目指すマインドセット」
決められたプロセスに沿って作業を進めることも重要だが、アジャイル開発では状況の変化に応じてプロセスも柔軟に変更して対応するが求められます。
同じやり方を続けていては、そこに改善や成長は生まれません。
例え期待した効果が得られなかったとしても、その経験から学べることもたくさんあります。
早く実践(あるいは失敗)すれば、その分早く改善することも可能になります。
また改善は、開発プロセスに限った話ではありません。
アジャイル開発では、自分自身も常に成長を求め続けるマインドセットを持つことが重要です。

「あるべき姿にむけて改善し続ける人材に」
アジャイル開発は一度やりかたを決めたらそのままやり続けることを良しとはしません。常にあるべき姿に向けて改善しつづけるには、どうしたら良いかを考えます。
例えば、過去の技術が足かせにならないように、常に技術動向を追い続け、ソフトウェアの提供を、より早く行うにはどうしたら良いかを常に考えます。

アジャイル開発の実践の場は、継続的に改善し続ける人材になるための学びの場とも言えます。

こちらも参考にしてみてください。



この記事が気に入ったらサポートをしてみませんか?