見出し画像

【自社開発アプリ:トラブルよろず日記#1】え? 納品しているCSVに変な箇所が!?

 自社開発アプリを運用していると、日々様々なトラブルが発生します。
 
プロダクトの品質を維持向上させていくには、これらのトラブルに真摯に向き合い、再発防止に努め、品質向上をさせていくしかありません。

 このシリーズは、IHで発生したトラブルに対して、どのように仕組み化をして再発防止策を講じたのか?を赤裸々に語る、トラブルブログです。
(情報管理のため、内容は一部フィクションとしています。)

今回発生したトラブル

 ある日の朝、営業部の佐藤さんがいつものようにメールをチェックしていると、お客さんからのメッセージが目に入りました。

 「CSVの中身を見たところ、途中で1列右にずれている行が1箇所あるんだけど…」

 という内容に、佐藤さんは「え!?」と驚きつつも、冷静に納品したCSVを確認しました。

 すると、やっぱり途中で1列右にずれている行が見つかりました。

 「これは一大事だ」と感じた佐藤さんは、すぐにプロダクト開発部に連絡をしました。

 連絡を受け、担当エンジニアの山田さんが調査を開始しました。

 数時間後に「佐藤さん、これ見つけたよ。特定の条件下でバグが発生してた。今すぐ修正するから少し待ってて」と山田さんから連絡が入りました。
 
 佐藤さんは「助かるよー」と感謝しつつ、修正版のCSVを待つことに。そして、無事に修正されたCSVを再納品することができました。

 もともとIHで納品するCSVの品質に関しては以下のような対策を講じていました。

  1. 要件定義時におけるCSVフォーマットの合意形成

    • CSV作成Scriptを実装する際は、要件定義時に顧客とCSVのフォーマットについて合意形成を取っています。それにより、開発途中や追加・変更要望が入ることが無くし「何が最新で正しい情報なのか?」といった不明瞭さを無くしています。

  2. QAによるテスト

    • ある程度の網羅性をもったデータを投入し、仕様に沿ったデータとなっているかを確認します。

  3. 手作業はNG

    • これは説明は不要かと思います。

 IHでは、CSV納品という業務が多数あるわけではないので、実際のところこれで運用が回ってしまっていました。

 今回の件を皆で話し合った結果、チェックの観点で弱い部分があると判断しました。

 そこで、以下の対策をCSVの品質管理に加えることにしました。

追加対策1)CSVのチェック用スクリプトの作成


 実装時には、ある程度の網羅性をもったデータを投入し、テストを実施しますが、実運用になると、データが大量になり、当初想定していなかったデータが投入されることがありえます。

 またデータの抽出仕様によっては、

  • 複数のカラムを一つにまとめる

  • AとBを足してからCに対する割合を計算し、%表記で小数点第二位で切り捨てる

 といった仕様も発生するため、生成されるデータパターンは複雑さを増します。

 そういったことに対応するため、カラム数や文字数、データ型などを自動でチェックするスクリプトを作り、大量のデータも確認できるようにしました。

追加対策2)営業部でのチェックシートの作成


 また、営業部でも納品前に最終チェックを行うため、チェック表を作成しました。「大丈夫かどうかざっと見る」ではなく、具体的に確認する項目をリストアップして、ちゃんと責任を持って確認できるようにしました。

 こうした対策を取り入れて、現在スムーズに運用が進んでいます。このトラブルを乗り越えて、また一つ品質が上がったと思います。

 まとめるとCSV納品における品質対策は以下ということになります。

CSV納品における品質対策まとめ

1)要件定義時におけるCSVフォーマットの合意形成
2)QAによるテスト
3)手作業はNG
4)CSVチェックScriptの作成と運用
5)納品担当用チェックシートの作成と運用

現場からは以上です。
今後も品質管理に注力し、より安定したサービス提供を目指します!

インテグリティ・ヘルスケア
プロダクト開発部


インテグリティ・ヘルスケアではキャリア採用を行っています。エントリーをお待ちしています!

▼採用情報はこちら!
https://hrmos.co/pages/integrityhealthcare

▼応援のフォローやいいね、お待ちしております!
公式X
https://twitter.com/integrity1030

公式Facebook
https://www.facebook.com/integrityhealthcareJP