Money Forward Developers Blog

株式会社マネーフォワード公式開発者向けブログです。技術や開発手法、イベント登壇などを発信します。サービスに関するご質問は、各サービス窓口までご連絡ください。

20230215130734

ソフトウェア・シンポジウム 2023 in 仙台で「レビューの基本に立ち返り、今とこれからのレビューを再考する」ワーキンググループをやるぞい!

株式会社マネーフォワード ビジネスカンパニーMFBC-CTO室 QA推進部 部長の亀井です!SaaS企業・DevOpsにおけるQAを追求しています!

このたび2023年6月12日 (月) ~ 14日 (水)で行われる、ソフトウェア・シンポジウム 2023 in 仙台にて、弊社原とワーキンググループを主催します!

テーマ:「レビューの基本に立ち返り、今とこれからのレビューを再考する」

ワーキンググループでは「レビューの基本に立ち返り、今とこれからのレビューを再考する」というタイトルで、現場で実施されているレビューをより効きのよいものにするためにできることを議論します。

初日はレビュー技法の中でも最初に考案されたフォーマル・インスペクションを参加者全員で実際に体験します。それによってレビューの基本を改めて確認した上で、各種レビュー技法の特徴や利点などを考察します。2日目は、現在そして今後のレビューの姿を探りながら、各自の現場でレビューを改善するヒントを検討、議論します。

ワーキンググループ主催の背景

MFBC-CTO室が抱えるプロダクトは、マネーフォワードの様々なサービスから連携される基盤プロダクトが多いです。

具体的にはクラウドBOXだったり、先日リリースされたクラウド人事管理のワークフロー部分です。

静的解析の結果も良好で、市場不具合もなく、申し分ないプロダクトですが、会社規模が拡大し、マイクロサービス化も進み、ドキュメントの重要性が増しています。

そんな中、フォーマル・インスペクションの権威Tom Gilb氏に直接指導を受け、実践していたエンジニアの原が在籍しており、改めて「ドキュメントレビューを学び直す機会ではないか?」と思い、お手伝いをすることになりました!

スケジュール

1日目 13時から18時

  • 自己紹介
  • フォーマル・インスペクション・ワークショップ
  • フォーマル・インスペクション・ワークショップのふりかえり
  • 各種レビュー技法について議論
  • 懇親会(自由参加)

2日目 9時から14時

  • 1日目のおさらい
  • 各自の現場におけるレビューの改善の検討・議論

フォーマル・インスペクションとは?

ソフトウェアインスペクションから引用

インスペクション技法はIBMのCarole L. Jones氏とRobert Maysによって構築され、IBMでは誤り修正中心のプロセスから、誤り予防のプロセスに転換しました。

IEEEでは下記のように定義しています。

「ソフトウェア要素の欠陥を検出し認知する。これは以下のことを行う厳格な正規の熟視テストである」

  • ソフトウェア要素がその仕様を満足していることの確認
  • ソフトウェア要素が適用標準に従っていることの確認
  • 標準および仕様からの逸脱の特定
  • ソフトウェア工学データの収集
  • 表現方法の善し悪しや文体に関する問題の検査は行わない

ドキュメントレビューうまくできていますか?

そもそもドキュメントレビューの目的はなんでしょうか?

本来は、プログラミングをしやすくしたり、仕様通りにプログラミングしたり、手戻りを減らすことではないでしょうか?

本当にドキュメントレビューによって生産性が向上しているのでしょうか?

正しく、フォーマル・インスペクションをできると下記のような効果があります。

ソフトウェアインスペクションから引用

  • 正味の生産性向上は30〜100%
  • 正味の開発期間の削減は10〜30%
  • 発見される欠陥がほとんどないため、テスト実施のコストと期間は5〜10分の1
  • 保守費用の低減(2/3は欠陥除去による)は1桁のオーダ
  • ソフトウェア関連作業の品質とその成果物の品質がほぼ「自動的」に改善
  • システムの早期あるいは納期通りの納入(ほとんどの欠陥が早い段階で処理されるため、システム結合時の欠陥修正による混乱がない)

驚きの統計結果です…

レビューを良いものにしましょう!

このワーキンググループに備えて、ソフトウェアインスペクションを読みました。

一方で、DevOpsを先進的に進めているMicrosoft社のGitHubは規模が大きくなるにつれて、ドキュメント文化になり、ドキュメントレビューの重要性が増したと聞きました。

自分が担当しているプロダクトでは規模・人数が拡大しながら、DevOps組織を目指しており、ドキュメントの重要性が高まっています。

「欠陥を予防する」フォーマル・インスペクションの技法を取り入れたいと考えています。

ワークショップを通して、基本に立ち戻ったフォーマル・インスペクションを体験し、各種レビュー技法の議論を通して、どうDevOpsに適用させるか模索したいです!

本当にそのレビューは想定通りに工数を減らすことができているのでしょうか?

このワーキンググループを通じて、レビューを見直してみませんか?

みなさんと一緒にレビューを再考できたら幸いです!

申し込みは今週金曜日までです。ぜひ参加お待ちしております。