管理画面に汎用的で便利すぎる機能追加はもしかすると危険かもしれない

 以前、PHPカンファレンスで運用しやすい気づける管理画面という発表*1しましたが、今もこの考え方を大事にしながら日々サービスの運用、開発をしています。 

 その中で、最近思ったことがあったのを社内kibelaにポエムってあったのですが、普通に公開できる内容だったのでここにちょっと加筆して投下しておきます。


 サービスに大きく影響与えるような大事な情報ってありますよね。たとえば広告配信サービスだと広告の単価設定です。そのような項目の設定作業を画面からぽちぽち1つずつ変更するのは大変なのでCSVで一括で変更できる機能をいい感じに開発すると喜ばれるという場面は管理画面を開発している人にはよくある話だと思います。そして、「この項目も設定できるようにしたい」という声がでてきて、CSVからいろんな項目が設定できる便利機能へと発展していったりすることも。

 しかし人間はミスをするものです。一括変更のため変更されるデータが多いので、もし設定を間違って設定してしまったときに気づくのが遅れる可能性もありますよね。そしてその結果サービスに大きな影響を与えることも。

 ただ欲しいと言われたから作るのではなく「その機能って本当に必要か?」をエンジニア自身が意識するのは普通に大事なことですが、「この機能って汎用すぎてなんでもできて事故につながるんじゃないか?」や「間違えて設定したら大きな事故になりそうだけど、そのときってどういう情報を後から知りたいか?」みたいな視点も大事かなと。そして安全に使える仕組みを考えて皆で作っていくことが大事かなと。

 このような意見はエンジニアだから言える部分もあると思う。エンジニアからどんどん提案していきましょう。そういうエンジニアがいるチームは強いと思う。