株式会社KMC / ソフトウェアエンジニア
ワークフロー機能の新規開発
## チーム構成 - プロダクトマネージャー(PdM):1 名(主に指示‧監督) - 開発者:1 名(私) ## 技術環境 - 使用技術:Java, JavaEE, VB.NET, JavaScript, jQuery, MySQL, JPA, Linux, AWS - 業界:製造業 ## プロジェクトの背景 - 既存コードの品質低下により、機能追加が困難な状況 - 単独での開発と設計責任 ## 課題と解決策 - 新規機能や追加機能の開発に際し、既存コードの改善が必要となったため、あまり一般的には良くないが、既存コー ドのリファクタリングと新機能開発を並行して進めた。 - 既存の処理に同様の処理がある場合でも、その質が良くないことが多かったため、ゼロベースでコード品質を評価 し、劣ったコードから学ばないよう注意しながらコーディングを行った。 - 既存の機能では、エラーメッセージの数を減らすために共通のエラーメッセージが使い回され、エラーメッセージが 具体的でない場合や、ユーザーが操作しても反応しないように無効化されている箇所が多かった。そのため、ユーザー フレンドリーなバリデーションエラーメッセージを実装し、エラー発生時にユーザーが取るべき次のアクションを示す ような設計に努めた。 - 標準的でない方法を取っている処理に対するコメントが少なかったため、その処理内容がなぜ書かれたのかを示す意 図コメントを残し、後でコードを見ても理解しやすくした。 - 既存のコードではコピー&ペーストが頻繁に行われ、同じ処理が多くの場所に散在しており、保守性と可読性が低下 していました。これを解決するため、コードの共通化を進め、メソッドを適切に分割しました。 - Backlog の運用方針が定まっておらず、本番環境での障害発生時に問題の原因となった修正を特定するのに多くの時 間を要していた。これを解決するため、課題とコミットログを関連付け、ステータスなどを Backlog で適切に管理する 運用方法を文書化し、プロジェクトに適用した。 ## 成果 - 予定よりも大幅に早い開発進捗 - 予定されていた 4 名の開発チームにも関わらず、単独での開発を成功させる - コードの共通化により開発速度の向上 - 同様の処理の重複を減らし、効率的な開発を実現