HOME > 活動報告 > イベント報告 > JaSST'12 Hokkaido
2012年10月26日(金) 於 札幌市教育文化会館
紅葉が深まり冬の足音も聞こえる北海道で今年もJaSSTは開催された。
JaSST北海道の今回のテーマは「発見伝!」。「有識者が発見した技術を参加者に伝え、知識と知見と人脈を広げて新たな"発見"をしていただきたい。」という実行委員会のメッセージが込められ、シンポジウムも基調講演・事例発表・ワークショップ・チュートリアル、更に新機軸のビブリオバトルと盛り沢山の内容であった。
以下、筆者が受講したセッションに沿って報告を行う。
事前質問への回答から基調講演が始まったが、途中から質問も回答もどんどん笑える物となっていき少々驚いた。これは森崎氏とJaSST実行委員会が例年極度の緊張状態になる会場の雰囲気をなんとか和ませたいという気遣いで、周到に用意されたものであった。
この「笑い」は会場を和ませるのに大いに成功したと思う。
講演では森崎氏自身の経験に基づき品質向上活動を「4レベル+1」に分解し、それぞれのレベルの詳細と改善に向けた施策について事例を挟みながら説明が行われた。
品質向上活動のレベルは次のように分けられる。
各レベル改善に向けた施策と注意点
品質向上活動は常に抵抗に合うのは仕方が無いとし、活動を定期的に見直し本当に品質向上に繋がっているか振り返ることが重要とまとめられた。
講演内容からは、「顧客が価値を認めて対価を払ってくれる=ビジネス」として品質向上活動もビジネスと直結させて意識していく必要があることが伝わってきた。
現場ではついつい忘れてしまいがちであるが、今自分(達)の品質向上活動を測る上での指標として大変参考になる内容であった。
Mobile FeliCa ICチップのファームウェア開発で、入力の組合せによる想定テストケース数を計算すると8585216通りとなり全ケースのテストが不可能。そこで2因子間の組合せをAll-Pair法で実施し、多因子間網羅のテストにランダムテストを導入した。ランダムテストではコマンド選択比率の制御と要素ごとの同値分割を導入し、重複や偏りを無くし複雑な条件で評価を行った。形式仕様記述言語VDM++で開発した期待値エンジンを作成しテスト結果と比較して確認した。
発表後の質疑応答で、Ruby言語で約70000ステップのテスト専用のツールを別途開発していると話されていた。テストは4883094通り行われており、ランダムテストのテストケースよりも期待値エンジンによるテスト結果比較が大きく貢献しているように思えた。テスト専用ツールの効果の大きさを実感できる内容であった。
開発時の品質向上と納期短縮の為に、上流工程の時点で後工程の問題を取り除き、要求のトレーサビリティの確保を行う。要件定義・外部設計・内部設計・コーディングと続く開発の流れで、要件定義書と外部設計書に機能ブロックが入り、内部設計書に擬似コードとテストデータが入る。テストはxUnitを用いたユニットテストを定着させた。
要求仕様書で要求を仕様化する際に具体的な変更方法を記述する話に似ていると感じたが、上流工程(要求側)の視点なので、擬似コードでプログラマと認識を一致させる点など工夫を感じられる内容であった。
テスト駆動開発とは、テストコードをプロダクトのコードより先に記述するテストファーストを実践しインクリメンタルに開発する開発手法。ペアプログラミングとは、ペアで1つの作業を行うプラクティスで、コードとを書くドライバーとサポートするナビゲータの役割を定期的に交代するやり方。5、6人で3ヶ月程度の規模の開発に、テスト駆動開発とペアプログラミングを行った。
開発の流れ
作業時間
品質は不具合の質が変化しシステムテスト時の不注意的な欠陥が激減し、プロジェクト中盤でも安定して動作した。テスト駆動開発とペアプログラミングの効果として、効果的なユニットテストを強制、考えたことを相手に伝えるプロセスがある、プロジェクトナレッジの共有、プログラマのスキルアップがある。テスト駆動開発におけるテストは主にデバッグ/単体テストレベルの物であって、品質保証的なテストは該当しない。欠陥を見つけることよるりソースコードの品質向上が目的であることを改めて実感できる内容であった。
ビブリオバトルは、長年全国で開催されているJaSSTの中で初の試みで、今まで行っていたライトニングトークスに替わり新機軸として取り込まれた。
紹介された本は以下の通り。
「知的書評合戦」とも言われるビブリオバトルは読んで面白いと思った本を順番に一人五分間で本を紹介するという物で、ソフトウェア関連の書籍は高価であり、普段なかなか本の中身を知ることが出来ないが、ビブリオバトルを通じて未知の書籍を知るのにとても参考になる場だったと感じた。特に島根氏の紹介した「ラピッドデベロップメント」は価格だけ見ると高価であり敬遠しがちな本ではあるが、氏の紹介では「内容が非常に豊富であり大変お買い得である」と紹介され、大いに購入意欲が湧いた。
講演者 原 佑貴子氏は、前年のJaSST北海道で「品質エンジニアの思考回路 -コードインスペクション編-」と題して日本IBMで開発されたインスペクション法「Quality Inspection」の実演を行っている。今回はその内容の一部を実体験できるものであった。前年は5000ファイルものソースコードが使われていたが、今年も数十ページに及ぶ生のソースコードが印刷物として用意される驚愕の内容であった。やはりレビューはコーディング熟練者の方が素早く且つ正確に指摘することが出来ていたが、「Todoが残っている(仕様が決まっていない)」、「例外無視(作り込み不足)」といった、欠陥予測をポイントに見ることで比較的効率良くレビューができることを体感した。
クロージングにて、シンポジウム7回目で初めて参加者が100名を超えたと発表された。
ビブリオバトルのような新しいことへ挑戦する姿勢や、前年反響の大きかった原 佑貴子氏の発表をフォローし、さらに一歩踏み込んだ発表として手配する等、参加者が楽しめる工夫が随所に見られ、シンポジウム全体の姿勢と工夫が参加者増加に繋がっていると感じた。
クロージングでJaSST北海道は終わりであるが、情報交換会に特色があるのでここで紹介したい。
情報交換会は参加者がより多くの情報を持ち帰って貰うことに焦点が当てられ、食事は軽食、参加費は無料で、参加者が講演者に直接疑問や意見を話せて更にその情報を共有できる場になるよう工夫されている。
全員参加可能なパネルディスカッションに似ているが、堅苦しさは無く、より深いコミュニケーションが行える場となっている。
最後まで多くの情報を持ち帰ることのできる、大変有意義なシンポジウムであった。
(記:藤田 将志)