見出し画像

【JaSST Review'19 レポート】【セッション1】文書校正におけるReviewと活用するための分類およびルール化

先日JaSST reviewというイベントに行ってきましたので、そのレポートです。

公演概要

スピーカー:津田 和彦さん(筑波大学大学院)
セッションの内容:

ソフトウェアは多種多様であるため,各工程の成果物は組織やプロジェクトによって様々に表現されている.また,レビューするソフトウェア関係者の背景知識やスキルもばらばらなため、指摘事項も一定ではない.そのため,ソフトウェアレビューに関するノウハウには規則性が乏しく,ルール化が困難であり,多くは個人の経験と勘という暗黙知として蓄積されている.
そこで本講演では,規則性に乏しくルール化が困難な人間の文章作成における"間違い"をルール化することで,文書校正支援システムを実現したプロセスを紹介する.このプロセスで実現した仕組みは,Microsoft Wordなどの中でスペルチェックシステムのベースとなっている.この開発における最大の課題は,"間違い"という偶発的であり意図としない事象を形式化することであった.このノウハウを紹介することが,ソフトウェアレビューの知識化の一助となれば幸いである.

最初に持っていた疑問

「間違い」を形式化する事は確かにあるといいなと思います。新人レビュアーは特に、どういった点に気をつけるべきなのかを知識としてインプットしておく事は必要でしょう。

一方で、形式化された観点だけで本当に良いのか? という事も気になります。ソフトウェアテストの7原則の1つ「殺虫剤のパラドックス」(同じテストを何度も繰り返していると、そのテストでは新しい欠陥が見つからなくなる)を思い出します。

「"間違い"という偶発的であり意図としない事象」を捕まえるためには、形式に沿わない観点も必要となるように思います。形式化したツールがどのように克服できるかにも興味があります。

セッションの内容

スピーカーの津田先生は、Microsoft Wordに搭載されている日本語の校正ツールの実装を主導されてきた方です。

セッションの最初の方で、校正ツールとしてはむしろソフトウェアの方が作りやすいのではないか? と仰られていました。

実際、ソフトウェアと文書校正を比較すると、規則性に乏しいのは自然言語で書かれた文書の方であることが分かりました。文書には感情が乗っているものなので、同じ事を伝えるにもニュアンスの違いによって文面が変わります。それを機械で解釈する事は、考えるまでもなく難しいでしょう。

特に日本語はかなり異色の言語であることは間違いなく、その日本語の校正ツールを実用レベルまで押し上げた人の言うことなので、無視できない重みがあります。

日本語の校正ツールでは、まずメインの利用ユーザーを想定、そのユーザーの校正ルールを次々に組み込んでいくことで現在の形になりました。ソフトウェア向けの校正ツールでも同様にすべきだと仰られていました。全体通して、「100点をいきなり目指すのではなく、80点を目指すべき」と仰られていたのが印象的でした。

疑問に対する答え

これはセッション中ではなく、最後のパネルディスカッションの時に回答を得ました。

「ソフトウェアの問題を、本当に形式知にできるのか?」という質問に対して、津田先生が話してくださった内容がとても印象的でした。

曰く、「誰がどこまでやるのか」の決めの問題と、「100点でないものを使ってくれる市場」が大事で、そこから始まれば多分できるのではないのかな? ということでした。

津田さんが校正ツールをリリースした時は、最初クレームの嵐を覚悟したそうですが、実際はそうではありませんでした。市場が「『間違いかもしれない』ものを言ってくれてるんでしょ」というスタンスで製品を見ていたというのです。

形式知以外を用いる人力レビューは無くならないでしょうが、形式知を反映させたコードの校正ツールは、徐々に広がっている所なのかもしれないと思いました。

感想

ソフトウェアの校正ツールというと、自動テストツールや静的解析ツール、古いライブラリを利用している場合にGithubから警告が来るなど、様々な形ですでに開発現場に組み込まれているものもあります。

そういうもので形式化された間違いが取り除かれていれば、人間のレビュアーは未だ形式知化していない問題を捕まえる事に集中できます。そうして捕まえた問題を更に形式化していけば、より優れたループが回るでしょう。

80点を目指すのは、そういう当たり前の好循環を当たり前に回していくために必要なことなのかもしれません。

この記事が気に入ったらサポートをしてみませんか?