クリティカルなシステム開発案件においては、リリース日よりテストを優先するべき
昨今、セキュリティ関連の事故は年々増えているように思います。皆様もニュースで事例は耳にしているかと思います。
直近での事例としては、セブンイレブンジャパンがリリースした「7pay」が不正利用されて、多額の損失が出たというニュース。もっとも悪用する者が一番悪いのですが、開発チームに大きな負担を掛けてリリースしてしまったことが最大の原因ではないかと推察します。開発現場を知る側からすると、リリース日ありきの開発であったことは想像に難くなく、リリース日が決まっているにも関わらずサービス仕様が固まらず、直前の1~2カ月で突貫工事をしたのではないでしょうか。
当然ビジネスなので利益に繋がるようにサービスを考案する必要はありますが、同時にシステムのテストを十分に行う必要があることも、上流工程にいるリーダー、経営陣は理解しておく必要があります。 技術のことなど全く興味が無い?競合他社が先にリリースしてしまう?どれも言い訳にはなりません。リリースを判断した責任者の意識の問題です。
どれだけ利用者の操作を想定し、シナリオを作れるか?特に本件のような決済が絡むシステム開発においては、根幹となるフローのテストは一番時間を掛けるべき工程です。 本件の現場を知っているわけではありませんが、決済を行うモバイルアプリケーションにおいて二段階認証は定石となっており、事象は多少異なりますが、昨年リリース直後のPayPayのトラブルも勘案すれば、もっと慎重に時間を掛けて実装する機能だと判断出来るはずです。テストを軽く見て、正常フローで問題なく動けばGoと判断してしまったのでしょう。 見た目優先でデザインにばかり時間をかける、有っても無くても利用者に伝わりにくい細かい機能など、やるならやるで構いませんが、システムの幹が完璧になった後で時間を取るべきです。