メルマガ
バックナンバー

第154号:CMMIでアジャイル開発のパフォーマンスを改善するガイド

2017年01月25日

  • CMMIでアジャイル開発のパフォーマンスを改善するガイド

    皆さんの組織ではアジャイル開発は取り入れていますか?
    うまくいっていますか?

    「ウチの会社はアジャイル開発が中心だけど、なかなかうまくいかないので、CMMIも参考にしてやり方を強化したいんだよねー」とか、「アジャイルをやっている組織でCMMIを使ったプロセス改善やアプレイザルをやることになったけど、アジャイルとCMMIの活動をどう紐付けたらいいかわからないんだよねー」、といった人には、おそらく参考になるであろうガイドがCMMI研究所からリリースされました。

    ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥
    A Guide to Scrum and CMMI:Improving Agile Performance with CMMI
    スクラムとCMMIに関するガイド:CMMIでアジャイル開発のパフォーマンスを改善
    ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥

    下記から無料でダウンロードできます。
    http://cmmiinstitute.com/cmmi-and-agile

    このガイドを読むことで以下が学べるようです。
    ・アジャイル環境にどのようにCMMIを実装するかを理解すること
    ・CMMIにてアジャイルの作法、技術、価値を強化すること
    ・企業のアジャイルのパフォーマンスを拡張し、改善するためのCMMI利用について
    ・スクラムを利用している組織でCMMIアプレイザルを実施することについて

    全132スライドと、なかなかのボリュームです。

    アジャイルとCMMIの活動を紐付けることについては、以前からCMMI関連のカンファレンスやネット上の記事などで様々な研究成果が発表されていたり、そもそもCMMIモデル内にもアジャイル環境における解釈について参考記述があったりしますが、今回はより詳細にまとめられた内容となっています。

    全文英語ですし、内容が盛り沢山な分、読んでいくのも苦労するかと思いますので、どこから読むと良いか、どんなことが書かれているのかを簡単にご紹介します。
    読み進めるヒントになれば幸いです。

    ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥・d‥‥‥‥‥‥‥‥‥‥
    ガイドは以下のような章構成となっております。気になるところから読み進めるといいでしょう。

    1.Introduction
    2.Background
    3.What is CMMI?
    4.Understanding CMMI
    5.What is Agile?
    6.How can Agile & CMMI work together to help produce better software?
    7.Elements of a Successful Agile Process Improvement Program
    8.Using CMMI Generic Practices to Institutionalize Agile
    9.Integrating CMMI with Agile Ceremonies & Techniques
    10.Using CMMI to Enhance Agile Results
    11~.Backlog Grooming、Continuous Build / Concinous Integration、Daily Standup / Daily Scrum、~Velocity

    1~5章までは、導入や背景、CMMIやアジャイルの簡単な説明ですので、軽く読み飛ばしてもいいでしょう。
    6章以降で、アジャイルとCMMIを共に実施していくことの詳細な解説がなされています。

    6章では、よくあるビジネス上の問題と関連するアジャイルの作法や手法、そしてその問題解決のために参考にすべきCMMIのプロセス領域を紐付けたものが18例ほど紹介されています。

    たとえば、「プロジェクトがスケジュール通りにいかない」という問題については、アジャイルの手法として、デイリースタンドアップ(朝会など)/デイリースクラムやバーンダウンなどが対応し、CMMIはプロジェクトの監視と制御(PMC)、測定と分析(MA)が紐付けられていますので、PMCやMAの記述を参考に、アジャイルの活動を見直す、といった具合です。

    すでに自分たちの組織に該当する問題がある場合には、参考にするといいでしょう。

    7章では、成功するアジャイルプロセス改善プログラムの要素として、組織的な改善を行うために有効な体制やCMMIのプロセス領域が紹介されています。

    アジャイルでは、振り返り(レトロスペクティブ)という強力な改善手法がありますが、主眼はチームのパフォーマンスを改善することにあります。
    組織にフォーカスした改善を行うには、SEPGやPATといった体制を持って改善を進めることや、組織プロセス定義(OPD)で標準プロセスを備えること、組織プロセス重視(OPF)で組織的な改善ニーズを収集し、改善サイクルを回すこと、統合プロジェクト管理(IPM)でプロジェクトに合ったプロセスを適用するとよいとのこと。
    ※SEPG=Software Engineering Process Group
    ※PAT=Process Action Team

    8章では、アジャイル環境での共通プラクティス(GP)の解釈について紹介されています。

    9章、10章、およびそれ以降の章では、代表的なアジャイルの作法や技術が20個ほどピックアップされ、それぞれとCMMIとの紐付けや、CMMIのプラクティスがどのようにアジャイル活動を強化するのかが紹介されています。

    例えば、スプリント計画(Sprint Planning)では、関連するCMMIのプロセス領域として、プロジェクト計画策定(PP)や要件管理(REQM)が割り当てられ、それらのプラクティスがどのようにアジャイル活動を強化するかの解説がなされています。

    現在行っている、またはこれから取り組むアジャイルの活動について、CMMIの観点でどのように強化するかについて知りたい場合は、ここを読んでいくと良いでしょう。

    また、ガイド内には、LEAD APPRAISER PERSPECTIVEという見出しで、リードアプレイザ向けにCMMI適用上の注意書きがところどころに登場しますので、よりCMMIの観点を詳しく知りたい人は、ここも読んでいくといいでしょう。
    ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥

    以上、簡単ですがガイドのご紹介でした。

    読んだ人は、是非ガイドから学んだことについて誰かと話をして、少しずつでも実践してみましょう。

    プロセスやツールよりも個人と対話を。
    包括的なドキュメントよりも動くソフトウェアを。

    皆さんのアジャイルライフに役立つことをお祈りします。