アジャイル開発は計画が大事
大企業におけるアジャイル開発の話になります。
◆アジャイル開発は計画が大事とは
アジャイル開発のメリットを端的に述べならば、下記だと思います。
・ビジネス面は、市場に合わせて軌道修正や機能追加ができる
・開発面は、物作り(設計〜開発〜テスト)に集中できる
この特徴が、VUCAと言われる現代にマッチしているということもあり、アジャイル開発が注目されています。
ガートナーによると、大企業も例外ではなく、多くの大企業がアジャイル開発の導入に関心があるという調査結果があります。
一方、合意形成(プロセス)を大事にする大企業と、柔軟性を大事にするアジャイル開発は相まみれないところがあります。
アジャイル開発に適さない合意形成については、ステークホルダーと合意しないことを合意する必要があり、スクラムチームが始動する前の、計画(環境)作りが大事になってきます。
・Q(品質)C(コスト)D(納期)S(スコープ)を決めない
QCDSの優先順位を付けることは重要です。
しかし、QCDSをはじめに全て定義するとアジャイル開発でなくなってしまいます。
ウォーターフォールが浸透している企業においては、プロジェクト予算を確保するために、QCDSを定義します。
これは、計画は不確かというアジャイル開発の根本に反しますし、このままアジャイル開発”風”を進めてもメリットは全くありません。
仮に、QCDSを定義したアジャイル開発を無理やり実行した場合、仕様変更はしてくれるものと認識するPOと、それを拒絶する開発チームの対立が予想されます。
開発チームが拒絶してくれれば課題が浮き彫りになるので良いのですが、拒絶出来ずに対応していくと、タスク過多による品質問題や、リリース前に遅延が判明など最悪の事態が発生します。
アジャイル開発では、納期、またはスコープを可変とする必要があります。
プロジェクト開始時は定義せず、スクラムチームが成熟した頃、または出荷するスコープを定義出来た頃に、リリースに向け、納期とスコープを確定していくことを、ステークホルダーと合意する必要があります。
#納期が延びればコストが膨らみますし、同じようにスコープが広がれば納期が延びコストが膨らみます。プロジェクトとして何を最重要視するのかを表現するために、可変とする要素を設定しています。
・従来の開発管理方法に合わせない
アジャイル開発で作成する資料やツールは、ウォーターフォールと異なる事が多いです。
そのため、進捗や品質の確認を従来と同じメトリクスに当てはめようとすると、本当は必要の無い社内向け資料を作成することとなります。
また、ウォーターフォールならば作成するはずの作成物が無いこともあります。
新しい管理指標でプロジェクトを進めることを、ステークホルダーに理解してもらい、合意する必要があります。
・ゲートレビューに頼らない
アジャイル開発では、品質も一緒に作っていくというのが主流です。
そのため、テスト駆動開発であったり、ペアプログラミングなどの手法がアジャイル開発時に取り入れられています。
理由は、上記の通りこれまでのメトリクスが参考にならないというのもあるのですが、アジャイル開発の場合、開発プロセスが悪いため品質問題が発生しているという立場を取ることが多いです。
開発チームのレベルが低いとかではなく、アジャイル開発の特徴が影響していると思われます。
・機能積み上げのためテストを網羅する難しさ
・受け入れ基準や完了定義の曖昧さ
ウォーターフォールでは、開発チームからの報告書確認に責任を持っていた品質管理部門やセキュリティ部門などに、開発プロセスに対しても責任を持ってもらい、一緒にプロダクトを作り上げていく必要があると思います。
◆まとめ
経験をもとに、大企業でアジャイル開発を導入した場合に、組織間レベルで起こりそうなことを上げてみました。
総じて言えば、アジャイル開発を理解し認める環境づくりというのが大事になってきます。
この記事が気に入ったらサポートをしてみませんか?