はじめに
三菱総研DCS品質保証部の若林と申します。私は現在CMMIの推進役を担当しています。今回はDCSにおける CMMI活用の取り組みについてご紹介します。
これまで、この「DCSブログ」で扱ってきたテーマは技術的な話題が中心だったため、毛色の違う話に「おや?」と思われたかもしれませんが、DCSにおける様々な役割・仕事を知っていただく良い機会かと思いますので、最後までお付き合いいただけると幸いです。今回は「品質の守り人」が語ります。
目次
CMMI=良い発注先を選ぶための指標
皆さんはCMMIをご存知でしょうか?能力成熟度モデル統合(Capability Maturity Model Integration)の略で、組織におけるソフトウェア開発能力を客観的に判断するための国際的指標です。元々はアメリカの国防総省が、良い発注先に見られる取り組みを基に整理したのが始まりと言われています(この辺りの話を書き始めると長くなるので詳細は割愛します)。DCSもお客様から選ばれる発注先を目指してCMMIを用いた開発プロセスの改善に長年取り組んできました。
15年に及ぶ取り組み
DCSでは、今から15年前にCMMIを用いた自社の標準プロセスを策定し、開発の進め方に焦点を当てた上で改善に取り組んできました。CMMIでは「評定」と呼ばれる監査を行うことで、自分達の組織がCMMIの考え方に照らし合わせてどの段階にあるかをレベル1~5の5段階で評価を受けることができます。DCSでも定期的に「評定」を実施した結果、2008年にCMMIレベル3を達成したのを皮切りに、2017年と2020年には最高位であるレベル5を全社で達成しました(詳細はこちら)。現在は2023年の「評定」に向けて準備を進めています。
活用してこそのCMMI
しかしながら、レベル5を達成し続けることが最終目標ではありません。大事なのはCMMIを主体的に活用し、自分達の改善に結び付けることです。CMMIには約200件の要求事項(「プラクティス」と呼びます)があり、開発プロジェクトにおける開発プロセスや管理プロセスはもちろん、社員の研修教育に関する取り組み、私の所属する品質保証部で実施しているような標準プロセスの維持・改善プロセス等もチェックします。そのためCMMIの評定を行うことで、自分達が普段進めている業務に対して、精度の高いチェック結果が得られ、改善に結び付けることができるのです。実際、CMMIの最新バージョンであるV2.0からは、評定においてCMMIに取り組んだことで自分達の事業活動にどのような改善効果があったか「パフォーマンスレポート」という文書で提出することが求められるようになりました。
評定チームについて
次にCMMIの「評定」を実施する「評定チーム」についてご紹介します。ISO等の監査では、外部から来た専門の監査人が監査を実施しますが、CMMIの場合は社内のメンバーがメインとなります。評定チームのリーダーは「リードアプレイザ」という(CMMIの主催団体であるCMMI Instituteが認定する)資格を持つ外部の方にお願いしていますが、それ以外のメンバー(10名弱)のうち、半数は開発プロジェクトの中から、残り半分は品質保証部から参加します。また、経営層も評定スポンサー(責任者)として参加します。
ちなみに「評定チーム」のメンバーは、準備として3日間の研修を受講した後、3時間にわたるオンラインのテスト(英語で出題されます!)に合格する必要があります。
プラクティスを読んでみよう
では、CMMIのプラクティスがどのようなものか、少しだけご紹介します。以下のプラクティスを読み、充足できているかどうかをどのように判断すれば良いか少し考えてみてください。
TS 2.3 ソリューションの使用に関する手引きを提供する。
これはプロジェクトで開発するシステムの手引き、すなわち利用者向けのマニュアルを作成していることを確認するプラクティスです(プロジェクトでは、システムそのものの開発に集中するあまり、つい後回しにしたり忘れたりしがちなタスクです)。そのため、成果物として利用者向けのマニュアルを作成・提供していれば、その文書がエビデンスになります。マニュアルはプロジェクトではなくお客様側で作成する、という場合には、お客様がマニュアルを作成するための材料として提供した文書をエビデンスとします。
「プラクティス」は多くの場面で使用できるよう、かなり抽象化して書かれているため、評定メンバーは「モデル」という専用の文書を読み、プラクティスの意図を正しく解釈した上で、プロジェクトにおける実際の取り組みとの間を橋渡しする能力が求められます。ちなみにプラクティスの前にあるTSという記号は、プラクティスをまとめたグループ(「プラクティス領域」といいます)の1つ「Technical Solution(技術ソリューション)」の略で、次の2.3のうち2はCMMIのレベル番号、3は通し番号です。
お手を拝借
上記の例でわかる通り、一人の評定メンバーが1つのプラクティスについて出した結論は人によって解釈が異なる・・・すなわち賛否が分かれる場合があります。そのため、皆で意見を確認するために「サムボーティング(Thumb Voting)」という方法を使用します。評定メンバー全員が片手を握り親指を立てた状態で一斉に手を上げるのですが、その際に親指をどちらに向けるかによって以下の通りに意思表示します。
- 上に向ける・・・その結論に同意する。
- 横に向ける・・・納得した訳ではないが、周囲の人達の出した結論に従う。
- 下に向ける・・・その結論に同意できない。
一人でも下向きにした人が居た場合、結論を出すことはできず、評定メンバー全員で議論を続ける必要があります。このプロセスは「評定」の中でも一番最後の「実施フェーズ」というイベントで実施しますが、専用の部屋に集まって評定メンバーのみで行うため、「評定チーム」に参加しないと体験することができません(慣れるまでは少し恥ずかしいです)。
おわりに
以上、DCSにおけるCMMI活用の取り組みついて簡単にご紹介しましたが、いかがでしたでしょうか?これまで述べてきた通り、「評定」は準備に膨大な時間がかかるので、レベル評価の有効期限に合わせて3年に1度という長い間隔で実施していますが、業界のベストプラクティスと比較することで多くの気づきや教訓が得られることが一番のメリットです。今後もDCSにおけるCMMIの活用を進め、「品質の守り人」として価値を提供していきたいと思っています。