ラクビュンCheckは、CrowdWorksで仕事を効率よく探すためのツールです。
CrowdWorksで仕事を探している人が使うことを前提にしています。
開発では、案件を見る人の参考になる情報と、自動で判定結果を変える条件を分けて扱うつもりでした。
ところが仕上げ確認の段階で、参考表示だけのつもりだった情報が、残っていた古い処理を通じて自動判定まで変えていることが分かりました。
■参考表示と自動判定は同じ役割ではない
今回扱っていたのは、作業量や責任範囲に関する情報です。
こうした情報は、案件を確認するときの参考にはなります。
一方で、その情報が含まれているだけで、自動的に判定結果まで変えるとは限りません。
そのため、参考として見せる診断情報と、自動判定を変える条件は分ける設計にしていました。
業務ツールでは、利用者に見せたい情報がそのまま自動判断の条件になるとは限りません。
ここを同じものとして扱うと、表示を少し増やしただけでも判定結果まで変わる可能性があります。
■古い判定処理が別の経路に残っていた
仕上げ確認で内部を見直すと、古い判定処理が別の経路に残っていました。
その処理では、責任範囲が重そうな情報があると、黄色判定へ影響する状態でした。
新しい設計では参考表示と自動判定を分けていても、古い処理が残っていたため、別の場所から再びつながっていたことになります。
問題だったのは、注意情報を表示することではありません。
参考情報として見せるだけのはずの条件が、自動判定を変える条件としても働いていたことでした。
■表示は残し、判定への接続だけを外した
修正では、作業量や責任範囲に関する診断情報そのものは残しました。
変更したのは、その情報が自動判定へ影響する経路です。
古い判定処理を外し、責任範囲を示す情報だけでは黄色判定へ変わらないようにしました。
今回の修正で大事だったのは、警告を減らすことではありません。
人が確認するための情報と、自動で結果を変える条件を、別の役割として戻すことでした。
■修正後は18件のテストで確認した
修正後はsynthetic testsを18件実行しました。
その中には、責任範囲に関する情報があっても、それだけでは黄色判定にならないケースも含めました。
結果は18件すべてPASSでした。
今回修正した範囲では、参考表示用の情報だけで判定色が変わらないことを確認できました。
その修正版をv0.13.1として採用しています。
ただし、この18件だけで、あらゆる実案件に問題がないと確認できたわけではありません。
確認できたのは、設定したテスト条件の範囲で意図した分離が機能していることまでです。
■業務ツールでは「見せる情報」と「決める情報」を分けて考える
今回の修正から残ったのは、表示と判定を一度分ければ終わりではないという点です。
新しい処理では分離できていても、古い処理が残っていれば、別の経路から意図せず判定へ影響することがあります。
そのため、業務で使う自動判定ツールでは、画面に正しく表示されるかだけではなく、その表示用情報が判定結果まで変えていないかも確認する必要があります。
参考として見せる情報と、結果を変える条件を別に設計し、その分離が古い処理によって崩れていないかまでテストする。
今回のラクビュンCheckでは、その考え方に沿って修正と確認を行いました。
時間拘束や責任範囲のうち、どこからを参考表示だけにし、どこからを自動注意や強制除外に使うかは、まだ調整中です。