「派生開発」を成功させるためには、変更箇所が局所的であり、追加しやすく、副作用が起こりづらいソフトウェアの構造になっている必要があります。すなわち、高凝集・疎結合のモジュール構成であることが求められます。
しかし、長年にわたって変更や追加が繰り返されたソフトウェアは、いつの間にか保守しづらい構成になってしまっていることが多くあります。それでは、「派生開発」の狙いを達成することができません。
とはいえ、やみくもに手をつけて「リファクタリング」してしまうと、かえって状況を悪化させてしまいます。
「リファクタリング」は、その製品のライフサイクルや、ソフトウェアの品質の状態などの要因により、やり方や手をつける範囲が異なります。その状況に合わせて、「リファクタリング」の範囲ややり方を決めないと、狙った効果を期待することはできません。
また、「派生開発」の問題を根っこから解決する良い機会と捉えることもできます。これまで手をつけられなかった問題を解決し、"効果的な"「派生開発」をしていくための基礎を作るために、適切な「リファクタリング」をしましょう。
品質が低下したレガシーコードの保守に頭を悩ませる開発現場のエンジニアは、みなさまざまな問題認識を持っています。問題を改善していくためには、現場での困りごとを発生させる要因となっているソフトウェア設計上の問題を、客観的事実による裏付けとともに明らかにしなければ、大きな改善効果は望めないのではないでしょうか。
「レガシーシステム」の可視化と改善のサービスでは、ソースコードの調査と現場エンジニアへのヒアリングを通し、設計の問題点を把握することからスタートし、ソフトウェア構造のあるべき姿を設計する支援や、「リファクタリング」を進めるためのプロセス設計・運用の支援まで、ソースコードの改善をトータルに支援いたします。
レガシーコードの品質にお困りの方は、ぜひ私たちにご相談ください。