サプライチェーンのリスク可視化サービスの開発
自動車製造業向けのサプライチェーンのリスク可視化サービスの開発を行いました。このシステムはクライアントの直接の仕入情報だけでなく、さらにその先の小さなパーツの情報を取り込んで、データをリストやツリー状に可視化してリスクを管理することができます。また、地震の情報をリアルタイムに取り込み、Google Mapに各生産工場と震度情報を表示することで影響を分析できます。 プロトタイプの開発から参加し、最初の3週間でC#・SliverlightでGoogle Map上に部品の生産拠点とリスク情報を表示するデモ版の機能の開発を行いました。 プロトタイプ開発後の本格対応の際、技術スタックの選定やチームの開発プロセスの構築に貢献しました。Play frameworkやnginx、Bootstrapなどの将来性があり、学習コストが低く、開発効率の良い技術スタックの提案をしました。また、Git・Redmineによるチケット駆動開発の開発プロセスの整備をしました。 プロジェクトでは主に大規模データのデータモデル設計を担当しました。サプライチェーン全体は再帰的なデータであり、数万〜数十万件になることもあり、データ保存方法やパフォーマンスの確保が難しい点でした。それを解決するために、入れ子集合モデルによるデータモデルの設計、データキャッシングの実装、SQLのパフォーマンスチューニングなどプロダクトの基礎部分を作成しました。 また、ユーザーがIE8を使っていたおり、画面表示を高速にレンダリングするためには既存のライブラリでは難しかったため、レンダリングアルゴリズムを0から設計・実装をしました。 アクセスログ解析基盤の構築を行いました。fluentd・elasticsearch・kibanaによるアクセスデータ分析の結果からクライアントへの開発の提案を行いました。ユーザーの利用頻度の高い機能で、検索やExcel帳票の生成が遅くなっていることがわかったので、パフォーマンスチューニングの提案を行い、改善開発を行いました。 2015/8からサブリーダーとして、クライアントとの打ち合わせ、要件定義や進捗の管理、チームメンバーの成果物の品質チェックなども行いました。この頃には追加開発の規模が縮小していたこともあり、まだ固まっていない要件からプロトタイプを作成して要件を詰めたり、見積もりの精度を上げるなどアジャイルな開発方法をとりました。