PMのお仕事

PMのお仕事に関するメモ

156 views

アジャイル開発は「早い」「安い」ではない
 そもそも、アジャイル開発とは何か。片山氏は「正解がわからない状態で、正解に近づくためのアプローチであり、手法としてはインクリメンタル(徐々に増加する)とイテレーティブ(反復)、つまり、少しずつ繰り返しながらビジネス価値を上げて提供するアプリケーションを開発する点が特徴です。その考え方は複雑だったり、難しかったりするわけではありません」と説明する。

また、ウォーターフォール型開発との違いについて、片山氏は「ウォーターフォール型開発では決められたゴールを目指して直線的に進んでいくのに対して、アジャイル開発では試行錯誤を繰り返しながらゴールに近づくことを目指します」と解説する。

「ある程度の規模を持つシステムを開発する場合、アジャイル開発のほうが工数もかかることがあります。アジャイル開発の特徴が決して『早い』『安い』ではないと理解しておくことが非常に重要です」(片山氏)

片山氏によると、実際のアジャイル開発の手法は大きく4種類に分けられるという。1つ目が、小さく動くものをどんどん作っていく「リーン開発」だ。2つ目が「上流工程を少しずつ繰り返すパターン」。つまり、要件定義の部分を繰り返して議論を重ね、開発工程をウォーターフォール型で進める手法だ。

3つ目が、要件定義・設計までやった後にプロトタイプを作成し、ユーザーが試したフィードバックを受けつつ改善を繰り返す手法だ。4つ目が、最初に全体的な要件・グランドデザインを決めた後、機能単位や稼働単位で五月雨式に開発する手法だ。

片山氏は「この手法が正解というものはありません。案件の特性に応じて、どの方法が一番合理的かを考えて選んでいただきたい」とアドバイスする。

アジャイル開発案件を始めるときに押さえておくべき6つのポイント
 さらにアジャイル開発を始める際には、見落とされがちな問題がたくさん出てくる。その中でも、「できれば事前に手を打って問題を克服したほうがよいポイントがある」(片山氏)という。それが、アジャイル開発案件を始めるときに押さえておくべきポイントとしての以下の6点だ。

《アジャイル開発案件を始めるときに押さえておくべき6つのポイント》
・(1)「なぜ、アジャイル開発であるか」について共通認識を持つ
・(2)ソフトウェアの品質を疎かにしてはいけない
・(3)迅速な意思決定の仕組みを整える
・(4)案件の外部・周辺にある阻害要因を克服する
・(5)ウォーターフォール型で開発するチームとの調整を図る
・(6)未経験者の育成の仕組みを整える

それぞれについて詳しく見ていこう。

■(1)「なぜ、アジャイル開発であるか」について共通認識を持つ
 まず、「なぜアジャイル開発するかについて共通認識を持つ」こと。アジャイル開発をやる理由としては、先述したような「早い」「安い」に加え、「要件変更が自由」「期限がいつまでも延ばせる」などの声が多く上がるという。

片山氏は「間違いではないが、アジャイル開発する第一の目的にそれらを据えてしまうと上手くいかずに失敗します」と警鐘を鳴らす。アジャイル開発によって合理化が図れることが重要であり、早い・安いなどの理由だけでアジャイル開発を選ばないでほしいというのだ。

■(2)ソフトウェアの品質を疎かにしてはいけない
 2つ目が「ソフトウェアの品質を疎かにしてはいけない」点だ。片山氏は「試行錯誤を繰り返す場合、多少の失敗は許される風潮があるかもしれない」と指摘する。

ただ、「アウトプットされるソフトウェアはちゃんと動かなければいけないし、バグがたくさんある状態でリリースしてはいけません。短い時間で品質を管理する必要があるため、ウォーターフォール型開発以上に品質管理は難しいと言われています」と説明する。

その上で「品質とアジリティのバランスを取ることは、アジャイル開発をやる上での共通課題です。ガチガチな品質管理ではアジリティが損なわれるので、テスト範囲を明確にしたり、優先順位の調整なども必要になってきます」と述べる。

アジャイル開発の品質管理における具体的な対策方法として、片山氏は「Done(完了)判定やリリース判定の明確化」「テストの自動化の採用」「品質保証メンバー体制やベンダー管理、ドキュメント管理の最適化」などに取り組むことを推奨した。

■(3)迅速な意思決定の仕組みを整える
 3点目が「迅速な意思決定の仕組みを整える」だ。片山氏は「アジャイル開発に限らないが、基本的にシステム開発の意思決定者は大きく3種類存在します」と語る。具体的には「上位管理者(ビジネス/IT部門)」「意思決定権者(ビジネス側)」「開発側リーダー(自社/外部)」だという。

ただ、3者の関係性については「現場と経営層には意思決定の間に境界があり、それがネックになりやすいです」と指摘する。たとえば、開発現場がアジリティを意識して一生懸命に日々取り組む中で出てきた課題をすぐに解決しようとする。その際、現場で解決できないことを偉い人に相談すると、数週間後の会議で結論を出すみたいなことがあるという。

こうした現場が必要とする意思決定のアジリティのずれを解消するためには、現場の課題をリアルタイムに共有したり、上層部の意思決定がすぐ得られるような環境を構築していく必要があると述べた。

■(4)案件の外部・周辺にある阻害要因を克服する
 4点目が「案件の外部・周辺にある阻害要因を克服する」だ。片山氏によると、案件の外部・周辺には、アジャイル開発の推進を阻害する要因が多く存在するという。主な阻害要因は以下の5点だ。

・「請負以外は契約できない」など「調達」に関すること

「要件変更を認められない」という「予算」に関すること

「既存の開発ルール以外は受け入れられない」など「標準」に関すること

「資産 or 費用」など「会計」に関すること

「既存の評価体系・研修、キャリアパスがアジャイルに合わない」など人事に関すること

片山氏は「開発部門やリーダーだけでは手に負えないことも多いので、上層部を巻き込みながら既存のこうした阻害要因を克服してもらいたいです」と語る。

■(5)ウォーターフォール型で開発するチームとの調整を図る
 5点目が「ウォーターフォール型で開発するチームとの調整を図る」だ。片山氏は、スピードや流動性を重視する案件をアジャイル開発チームだけで完結するときはいいが、システム開発プロジェクトは往々にしてフロントエンドとバックエンドシステムが対象範囲になることが多いと指摘。その際、お互いの価値観とかやり方が違うために、協力できなかったり、お互いをよく思わなかったりすることがあるという。

この違いについて、ガートナーでは「モード1」「モード2」という表現を用いている。コスト削減や効率化を重視するモード1ではウォーターフォール型の開発手法が多く取られ、軟性や俊敏性が求められるモード2では、アジャイル開発が採用されることが多い。

「お互いの価値観とかやり方が違うために、協力できなかったり、お互いをよく思わなかったりすることが起き、両方を統括できるチームリーダーというまとめ役すらいないこともあります。下手をすると案件が頓挫して、本来のアジリティを発揮できないことにもつながりかねません」(片山氏)

そうした課題を克服する方法として「両者にものが言えるリーダーを立てる」「両方のチームメンバーがお互いのやり方を認め、リスペクトして相手のやり方も受け入れる」ことを挙げた。さらに「モード1の進め方をベースに、そこにアジャイルの要素を盛り込むと調整しやすい」と語る。

■(6)未経験者の育成の仕組みを整える
 6点目が「未経験者の育成の仕組みを整える」だ。片山氏によると「初めてアジャイルに取り組む場合、開発チーム内に経験者がいない状態になります。短期間でパフォーマンスを高めながら、未経験者を育てていかないといけないこともあります。ただ、未経験者の存在が、開発パフォーマンスに対してはネガティブに働くことも考えられます」という。

未経験者を誰が育成するかについては、社内開発チーム、または外部のメンバーのどちらかがコーチングするパターンが考えられる。「唯一の正解はありません。メンバー内に未経験者がいる場合、ベンダーのアサイン要員に未経験者がいる場合も同様で、その案件における育成方針については、開発リーダーは考える必要があります」(片山氏)

アジャイル開発の全社定着は「丸投げ体質」脱却が鍵
 ここまで、初めてアジャイル開発に取り組む際のポイントを解説してきた。最後に、片山氏はアジャイル開発を組織で推進する際に知っておくべきポイントについて触れた。

同氏によると、アジャイル開発を組織で展開するためには「開始」「横展開」「全社定着」の3段階を経る必要があるという。開始とはパイロット案件を進める段階で、横展開とは案件の成功・失敗体験を知識として積み重ね、案件の数や経験者を広げていく段階を指す。最後に、アジャイル開発が当たり前になっている状態になって全社定着が図れるのだ。

その過程を通じて、アジャイル開発を案件レベルで実行する「Do Agile」から、IT部門ビジネス部門を合わせてさまざまな課題に臨機応変に対応できる組織になる「Be Agile」へと変革できるという。

ただ、いわば「アジャイル・トランスフォーメーション(AX)」を実現するためには、「企業文化の問題」が壁となると同氏は説明。特に、ユーザーからIT部門へ、IT部門からベンダーへの姿勢に見られる「丸投げ体質」から脱却する必要があるという。

片山氏は「従来のやり方に固執する人が多い中で、AXを実現すること非常に難しいです。それでも、丸投げ体質の考え方自体を変えつつ、全社定着を目指しながら少しずつ取り組んでいく必要があります」との考え方を示した。

本記事は2023年6月13日、6月14日に開催された「ガートナー アプリケーション・イノベーション & ビジネス・ソリューション サミット」の講演内容をもとに再構成したものです。

Page 2 of 2.

前のページ



[添付ファイル]


お問い合わせ

プロフィール

マッスル

自己紹介

本サイトの作成者。
趣味:プログラム/水耕栽培/仮想通貨/激辛好き
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
仮想通貨はNEMが好き。
水耕栽培は激辛好きが高じて、キャロライナ・リーパーの栽培にチャレンジ中。

サイト/ブログ

https://www.osumoi-stdio.com/pyarticle/

ツイッター

@darkimpact0626