SQuBOKガイドの改訂に向けた活動について(途中報告)
(株)NTTデータ 技術開発本部
プロジェクトマネジメント・イノベーションセンタ
町田 欣史
前号でもお伝えした通り、現在SQuBOK®策定部会では、SQuBOK®ガイドの改訂作業を実施中です。読者の皆様に最新かつ洗練された情報をお届けするべく執筆、レビューを繰り返しています。
前号で改訂のポイントをいくつかご紹介しましたが、今回はその中でも改訂の目玉の一つになる設計領域について、どのような解説が記述されるのか、ほんの一部だけ先行してお知らせしたいと思います。
SQuBOK®ガイド第1版では、レビューやテストなどの品質保証技術や、プロジェクトマネジメント的要素に関する解説が充実していましたが、設計や実装などの品質を作り込む技術に関する解説はありませんでした。今回の改訂ではそれらの解説が追加される予定ですが、SQuBOK®ガイドですから、あくまで「品質」という視点を切り口にして設計や実装を語っています。
世の中一般にある書籍などでは、設計であればUMLを使った設計書の書き方、実装であればプログラミング言語の入門書のようなものがあります。ただ、これらは設計や実装をする上での手段を解説しているにすぎず、それらをマスターしたからといって品質の高い設計、バグのない実装ができるわけではありません。そこで、SQuBOK®ガイドでは、設計や実装において品質を作り込むための基本概念や技法を取り上げています。
たとえば設計においては、複雑さをできる限り下げることで、信頼性や保守性、移植性といった品質特性を向上させることができます。従って、設計の複雑さを低減させるための基本概念や技法が、品質の視点からは重要になってきます。その例としては、オブジェクト指向でおなじみの「抽象化」や、構造化設計の「モジュール化」といった概念があります。あまり書きすぎるとネタばれしてしまいますので、今回はここまでにしておきますが、このようにアーキテクトの方にも興味を持っていただけるような内容が含まれています。
また、実装においても、プログラマが好き勝手に実装してバグを埋め込んだり、保守性の低い(読みにくい)コードを書いたりしないようにするための技法として、コーディング規約を活用することを取り上げています。それによって、プログラマのスキルに依存しがちな品質を向上、もしくは均一化することが実現できます。他にも、プログラマの方にも有益な技法を取り上げていますので、こちらも改訂版の公開をお待ちいただければと思います。
さらに、設計、実装に関しては、技法だけではなく、「ソフトウェア品質マネジメント」カテゴリで、それらのマネジメントに関する知識領域も追加しています。こちらでは、設計や実装の作業の計画、方針決定から、作業プロセスや成果物の評価について解説していますので、マネージャの方や開発リーダクラスの方に参考にしていただけることと思います。また、マネジメントについては、設計の前の要求分析に関する知識領域が第1版では未執筆となっていました。こちらについても今回の改訂で追加されることになりますので、楽しみにしていてください。
公開前ということもあって、なかなか情報が出せなくて申し訳ありません。今回紹介できるのはここまでとなります。改訂版については、現在改訂の検討・作業を進めているところであります。出版した際には、また皆様からのご意見をいただき、皆様にご活用いただけるSQuBOK®ガイドへと発展させていきたいと考えております。