フリーランス会計士向け会計システム リニューアル開発

概要

フリーランス会計士向け会計システムの運用保守とリニューアル開発。

  • 開発期間:2021年10月〜2022年12月
  • システム形態:Webシステム
  • 使用技術
    • フロントエンド
      • 言語:JavaScript → TypeScript
      • フレームワーク:Vue2 → Vue3
    • バックエンド
      • 言語:JavaScript → TypeScript
      • 環境:Lambda
    • フレームワーク:AWS Amplify
    • テストフレームワーク:jest
    • DB:DynamoDB

PJ体制と担当業務

  • 担当領域:フロントエンド、バックエンド
  • 役割:技術リーダー (私以外にデザイナー1名、若手エンジニア1名)

リニューアルの経緯

前任者が顧客とやり取りしながら初期開発を行っていた。私と入れ替わる形で前任者が離職し、当該システムを引き継ぐことになったが、以下状況だった。

  • フロントエンド処理内で金額計算がハードコーディングされており、金額改竄のセキュリティリスクが存在
  • 仕様を明記した設計書が存在せず、どういうルールや理由で各種金額を算出しているのか不明
  • 前任者と顧客側の担当者が密接に連携しながら、必要に応じて機能を随時追加する形で開発が進められていたため、この2名以外には画面の使い方が理解しづらい状態となっていた。
  • 前任者がVueを初めて使用して開発を試みたため、Vueのフレームワークの特性を十分に活用できておらず、保守性が低い状態だった。

引継ぎ当初は、段階的にリファクタリングを進めてコードの品質向上を図っていたが、会社がシステムをパッケージ化して顧客拡大することを目指していたため、現状のままではリスクが高いと判断した。そこで、システムの基本設計から見直し、再構築することを提案した。

やったこと

  • 仕様を整理して設計書作成
  • 金額計算処理をバックエンドに移行
  • 金額計算などの重要処理については、テストコードを用意してデグレ対策
  • JavaScriptをTypeScriptに移行して、型チェックの効く形にして保守性向上
  • 参入先の若手エンジニアに対してソースコードレビュー等を通じて技術伝授