ソフトウェア開発の現場では、作業成果物が適切かどうかを検証する「レビュー」が欠かせない。付け焼き刃の対処に終わらず、「組織としてのプロセス改善」に結実させるにはどのような取り組みやツール活用が有用なのか─。2013年4月17日、都内で開催された「レビュー支援ツール紹介セミナー」のトピックを紹介する。
レビューはソフトウェア開発における慣習として“やらなければならないもの”…そんな後ろ向きの発想ではなく、組織のプロセス改善のフレームワークととらえることが今の時代には必要だ─。こうしたメッセージが込められた今回の「レビュー支援ツール紹介セミナー」。会場となった株式会社大和コンピューター・東京本部のセミナールームには、最新情報を収集しようとする約30人の来場者が駆けつけた。
当日のプログラムは2部構成。前半は株式会社クライムでソリューションビジネス本部担当部長を務める八木基氏が登壇し、レビュー支援ツール「C-Review Support」の狙いや機能を解説した。それに続く後半で壇上に立ったのが、株式会社大和コンピューターのCMMIコンサルタント、大久保智通氏。「プロセス改善モデル」の視点から、その取り組みの意義や、ツール活用の実効性について講演を行った。以下、その概要を紹介する。
品質向上とコスト削減を実現するレビュー支援ツール「C-Review Support」
ソリューションビジネス本部
担当部長 八木 基 氏
平成元年に設立したクライムは、ソフトウェアの受託開発およびSEの派遣サービスをビジネスの主軸に据えて、この25年間を歩んできた。「当社は、どのプロジェクトにも付きもののレビューにあえて着目した。レビューのあり方を変えると、品質が大幅に高まることを身をもって痛感してきたからだ。独自開発のレビュー支援ツール『C-Review Support』(CRS)は、私ども25年の帰結である」と、八木氏は口火を切った。
CRSを簡単に説明すると、ドキュメントやソースコードなどに対するレビューの過程(改善の指摘など)をデジタル化し、専用サーバーを介してレビューア全員で共有、一元管理するソリューションだ。レビュー支援ツールと銘打っている製品にはソースコードを主な対象としているケースが少なくないが、CRSはドキュメントも重要な対象として視野にいれている点が特徴である。
いわば、レビュー情報を共有するグループウェアのような存在だが、その意義はどこにあるのか。それは、一般的に実践されているレビューの実情と照らしてみると分かりやすい。例えば、日々は個人単位のセルフレビューを積み重ね、定期的に関係者が一堂に集ってチームレビューをするようなケース。ここでは、紙に打ち出したドキュメントなどに各自が気付いたことを赤字で書き入れるスタイルがよく採用されているが、アナログ方式では情報を一元的に集約するのはなかなか難しく、生産性は高まらない。
レビューはそもそも、重大な欠陥を早期の段階で見つけて改善していくことに意味がある。個人の「気付き」が有効に共有できぬままチームレビューに臨むと、複数の人間が集まって知恵を出し合う場でのシナジー効果を十分に発揮できないまま、ドキュメントの誤字脱字の指摘が中心になり、「本筋から脱線したまま、いたずらに時間だけがとられることにつながってしまう」と八木氏は指摘する。
こうした問題を抜本から解決するのがCRSだ。ただでさえ忙しい開発エンジニアが、ちょっとした時間を活かしてレビューにあたれる。各人が書いた内容は即座に共有され、全体の見える化が図られる。いちいちレビューのための資料を作る手間はなく、CRSにアクセスすれば、常に最新のレビュー情報が集約されているのである。
レビュー作業が段取りよく進むというだけの話ではない。情報共有が促進されれば、「他のメンバーが書き込んだ内容にインスパイアされて新たな気付きを生むという価値連鎖も期待できる」と八木氏。形式張った会議から開放される故、皆が気構えることなく情報を発信できるし、それはまた“自分は真剣にレビュー作業にあたっている”という意思表示の場にもなり得る。自然のうちにメンバーの意識アップが諮られれば、それは全体の品質向上にフィードバックされ、そこに良いサイクルが生まれるわけだ。
八木氏はCRS活用のメリットを以下のように総括した。
- レビューの計画、実施状況、結果が見える化されるため、取りこぼしが無くなる
- 統計/レポートが即時に出力可能なため、担当者の動機づけにつながる
- 限られた時間をレビューに集中して活用できるので、参加意識が高まる
- チェックポイントを登録できるので、目的の指摘件数が増加する
- 全体の見える化で連想力や発想力が刺激され、指摘件数が増加する
- 会議形式のレビューに参加できない人とも情報を共有でき、知見の集約につながる
- 結果が自動的に報告書にまとまるため、主催者、参加者の負荷が軽減される
会場では八木氏はCRSのデモも披露。ソフトウェア開発の業務品質をスパイラルアップさせる数々の機能に、来場者が熱心に見入っていたのが印象的だった。
ツールを利用したプロセス改善の推進〜レビュー支援ツールがCMMI実装を加速する
CMMIコンサルタント
大久保 智通 氏
CMMI(Capability Maturity Model Integration、能力成熟度モデル統合)。Wikipediaによれば「組織がプロセスをより適切に管理できるようになることを目的として遵守するべき指針を体系化したもの」とある。
元々は米カーネギーメロン大学ソフトウェアエンジニアリング研究所が開発したプロセス改善モデルである。for Development、for Service、for Acquisitionと大きく3種類あり、いずれもグローバルスタンダードとして定着している。すでに日本語化されているという理由もあって、国内でCMMIといえば(ソフトウェア)開発の領域のものを指すことが一般的だ。
「CMMIは5段階の成熟度レベルで示すことができ、成熟度レベルが上がることは、品質向上、コスト削減、サイクルタイムの短縮などの効果をもたらすといった発表が世界各国でなされている」と大久保氏は説明する。大和コンピューターは早期からCMMIについてのノウハウを蓄積してきており、顧客に対して“本当に活用できる仕組み作り”を支援。初期段階の教育から、計画や実装の支援、正式な成熟度レベルの評定まで、一貫したサポートを提供している。
セッションの前半、大久保氏はまずプロセス改善の必要性を会場に訴えかけた。短期間での開発、価格の抑制、一定水準の品質維持、新技術の台頭など「市場からの要求の高まり」は厳しさを増している。一方で「組織内部の課題」に目を向ければ、納期やコストの超過、つぶしきれないバグ、モチベーションの低下など次々に問題が浮上する。こうした状況下、多くの企業が「改善を続けない企業は生き残れないという厳然たる事実に直面している」(大久保氏)。
しかし、「改善する」を具体的なアクションに落とし込むのは簡単な話ではない。そこでは「課題やビジネスゴールの明確化」「現状の把握」「実績のある手法を利用する」というステップを踏むのが実効性のある現実解となり、その意味でこそCMMIに注目すべき理由が際立ってくる。大久保氏は「レベルという概念が目標として分かりやすく、適用領域が広いことでもCMMIは期待されている」と説明する。
CMMIをめぐる国内外の企業の取り組み状況や具体事例などに言及したあとの後半では、CRSなどのレビュー支援ツールがCMMIをどうサポートするかというテーマで話を展開した。
レビューに関する課題として、大久保氏があらためて挙げたのは以下の項目である。
- レビューの準備に手間と時間がかかる
- 記録の保存、情報共有、品質分析が難しい
- 人やプロジェクトによって実施方法や記録の残し方がバラバラ
これらの抜本的解決を図るのがレビュー支援ツールである。レビュー過程における書式や測定リポジトリを補完し、しっかりしたフレームワークの下で活動を推進することを下支えする。一連の作業をプロセスとして分解し、常に“見える化”を図ることで成熟度が把握できる環境を整える。サイクルとして組織に根付かせることで定量的な分析ができるようになり、よりレベルアップしていくための方策を検討できるようになる。こうした効果が見込めるのである。
大久保氏はサマリーとして次の2つのポイントを整理した。
- レビュー文化の醸成、レビュー作業の効率化、将来的な統計品質分析の基盤として支援ツールの活用は有効である
- CMMIプラクティスのうち、レビューの環境準備、レビューの実施、データの測定や分析を行う関連プラクティスの実装に、支援ツールを役立てることができる。
レビュー作業と組織のプロセス改善をどう結び付けるか。そこには、ビジネス価値を考える大局観と、最新ソリューションを巧みに使うセンスが欠かせないことを強く印象づけるセミナーとなった。