一部の環境では、アジャイルは規律のない言い訳として使用されていると思います。本当の問題は、なぜ方法論があるのか見失ってしまったことです。個人的には、この方法論は、システムのアーキテクチャが非機能的な品質属性に対処することになっているという意味でアーキテクチャ上の問題であり、方法論はそれらの同じ属性(保守性、開発生産性、知識移転、など)
方法論をプロセス属性のコントロールとして見ると、次の2つのことを意味します。1)メトリックがないと、ある方法論の有効性を別の方法論と比較できない、2)重要な属性(配信時間とコード)品質と知識の伝達)。
指標と具体的な目標の両方を持たずに、単に「魔法の羽根」として方法論を選択するだけで、しっかりと握ればソフトウェアを提供できます。
さて、アジャイル、XP、スクラムなどの反対意見は、方法論の特定のカテゴリーの脆弱性について語っています。論拠:規律を欠いている一人の個人がすべての規則に従うために妨害される可能性のある方法論を使用するのはなぜですか?質問は有効なものです。ただし、それは症状であり、原因ではありません。正確で意味のある(それが難しい部分である)プロセスメトリックのセットが定義され、テストされ、タイムリーなフィードバックが与えられた場合、特定の方法論が成功とはほとんど関係がないことがわかります。(逸話的に言えば、私は無数の方法論を使用して成功したプロジェクトを見てきましたが、同じ方法論を使用すると2倍多く失敗します)
それでは、メトリックは何ですか?それらはプロジェクトごと、チームごと、そして時々異なります。配送スケジュールが重要な場合に役立ちます。私が個人的に使用したのは、スキルと品質の見積もりです。ほとんどの開発者は、1週間以下のタスクを正確に見積もることができます。したがって、1つのアプローチは、プロジェクトを1週間の開発者が行うタスクに分割し、誰が見積もりを行ったかを追跡することです。プロジェクトが進むにつれて、彼らは見積もりを変えるかもしれません。タスクが完了した後、10%(1日1/2)を超えてオフになっている場合、これをバグと同様に扱います。推定がオフになった理由(つまり、データベーステーブルが考慮されなかった理由)を特定し、是正措置(つまり、推定にDBAを関与させる)を行い、次に進みます。この情報を使用して、週ごとの推定バグ数、開発者ごとのバグ数、
だから何?それが方法論の登場です-プロセス品質を満たさない予測モデルがある場合、方法論の一部を追加または削除して、それがモデルにどのように影響するかを選択できます。確かに、失敗を恐れて開発プロセスを試してみたい人は誰もいませんが、私たちはすでに一貫して高い予測可能なレートで失敗しています。個々の変更を行って結果を測定することで、アジャイルがチームにとって完璧な方法論であることがわかりますが、RUP、ウォーターフォール、またはベストプラクティスの寄せ集めを理想的なものとして簡単に見つけることができます。
したがって、私の提案では、プロセスと呼ぶものについて心配するのをやめ、開発プロセスの目標に関連するチェックを実施し、そのプロセスを改善するためのさまざまな手法を試すことができます。