「派生開発」で肥大化・複雑化したシステムを救済するために欠かせない「リファクタリング」の失敗しないためのポイントと進め方

「派生開発」で肥大化・複雑化したシステムを救済するために欠かせない「リファクタリング」の失敗しないためのポイントと進め方|solution of eXmotion

「派生開発」で肥大化・複雑化したシステムを救済するために欠かせない「リファクタリング」の失敗しないためのポイントと進め方

問題だらけのレガシー開発を救済する上で欠かせない技術が一つが、この『リファクタリング』です。しかし、ポイントを押さえずに「リファクタリング」してしまうと、実施したこと がすべて無駄に終わってしまいます。ここでは、失敗しない「リファクタリング」のポイントと進め方について説明します。

「派生開発」で肥大化・複雑化したシステムを救済するために欠かせない「リファクタリング」の失敗しないためのポイントと進め方|長期間にわたる保守により劣化したコード...分かっているけど手が出せない

現在の組込みソフトウェア開発の現場は、多くの製品バリエーションと短い周期でのバージョンアップに追われています。長期間、保守されてきたコードは、多くの人が追加修正し、今では「なぜこうなっているのか?」誰も説明できないコードも数多くあります。今のコードを使い続けるべきか、一度捨てて再構築するのか...グローバルに競争が激化した今の経営環境では、再構築を選ぶ余地はなく、大規模あるいは小規模な「リファクタリング」を続けながら、少しずつコードを改善し、状況も改善していく...それが唯一残された道と言えます。

しかし、「リファクタリング」への一歩を踏み出すのは、容易なことではありません。その理由としては、次の3つがあげられます。

  • 開発に忙しく、時間が取れない
  • 「リファクタリング」するためのノウハウがない
  • 検証に不安がある

確かに、これらの問題を解決しないと、改善のつもりが逆に大やけどを負ってしまう可能性も捨てきれません。

ここでは、上記のような問題を解決するための、「リファクタリング」のポイントについて説明します。

「派生開発」で肥大化・複雑化したシステムを救済するために欠かせない「リファクタリング」の失敗しないためのポイントと進め方|「リファクタリング」の進め方のポイント

「リファクタリング」は、通常の開発とは進め方が異なります。具体的には、下図にあるような進め方になります。ポイントとしては次の4点です。

  • 問題の発見と評価は客観的な解析方法を用いる
  • 経年劣化を防ぐものなので、抜本的な 原因分析は行わずに、解決策の立案を行う
  • コード変更の前後で振舞いが変わっていないことを保証する
  • 日常的な活動として「リファクタリング」を実施できるよう効率化する
「派生開発」で肥大化・複雑化したシステムを救済するために欠かせない「リファクタリング」の失敗しないためのポイントと進め方|問題の発見:問題の発見と評価は客観的な解析方法を用いる
「派生開発」で肥大化・複雑化したシステムを救済するために欠かせない「リファクタリング」の失敗しないためのポイントと進め方|解決策の立案:経年劣化を防ぐものなので、抜本的な 原因分析は行わずに、解決策の立案を行う
「派生開発」で肥大化・複雑化したシステムを救済するために欠かせない「リファクタリング」の失敗しないためのポイントと進め方|変更前のテスト:コード変更の前後で振舞いが変わっていないことを保証する
「派生開発」で肥大化・複雑化したシステムを救済するために欠かせない「リファクタリング」の失敗しないためのポイントと進め方|振舞いと結果の自働評価:日常的な活動として「リファクタリング」を実施できるよう効率化する

具体的な方法については、それぞれの番号をクリックしてください。

「派生開発」で肥大化・複雑化したシステムを救済するために欠かせない「リファクタリング」の失敗しないためのポイントと進め方|コンサルタントが教える成功の秘訣

「派生開発」で肥大化・複雑化したシステムを救済するために欠かせない「リファクタリング」の失敗しないためのポイントと進め方|スペシャリスト・玉木 淳治【専門分野】コード解析、ソフトウェア品質診断、ツール開発、レガシーシステムの可視化と改善、リファクタリング

品質が低下したレガシーコードの保守に頭を悩ませる開発現場のエンジニアは、みなさまざまな問題認識を持っています。問題を改善していくためには、現場での困りごとを発生させる要因となっているソフトウェア設計上の問題を、客観的事実による裏付けとともに明らかにしなければ、大きな改善効果は望めないのではないでしょうか。

レガシーリファクタリングのサービスでは、ソースコードの調査と現場エンジニアへのヒアリングを通し、設計の問題点を把握することからスタートし、ソフトウェア構造のあるべき姿を設計する支援や、「リファクタリング」を進めるためのプロセス設計・運用の支援まで、ソースコードの改善をトータルに支援いたします。

レガシーコードの品質にお困りの方は、ぜひ私たちにご相談ください。

「派生開発」で肥大化・複雑化したシステムを救済するために欠かせない「リファクタリング」の失敗しないためのポイントと進め方|関連サービス

「派生開発」で肥大化・複雑化したシステムを救済するために欠かせない「リファクタリング」の失敗しないためのポイントと進め方|実開発への適用支援

「派生開発」で肥大化・複雑化したシステムを救済するために欠かせない「リファクタリング」の失敗しないためのポイントと進め方|「レガシーシステム」[リファクタリング]実施支援サービス

ソースコード診断による問題の把握から、あるべき姿への改善まで、設計技術支援とプロセス設計によって、レガシーコードの改善を総合的に支援します。

「派生開発」で肥大化・複雑化したシステムを救済するために欠かせない「リファクタリング」の失敗しないためのポイントと進め方|要求仕様書作成サービス

「要求仕様書」を作成したいのに作成する工数が取れないといったお客様に向けて、エクスモーションが制御仕様書や機能仕様書などの既存資料の調査や開発者へのヒアリングを行って「要求仕様書」を作成します。

「派生開発」で肥大化・複雑化したシステムを救済するために欠かせない「リファクタリング」の失敗しないためのポイントと進め方
「派生開発」で肥大化・複雑化したシステムを救済するために欠かせない「リファクタリング」の失敗しないためのポイントと進め方|人材育成

「派生開発」で肥大化・複雑化したシステムを救済するために欠かせない「リファクタリング」の失敗しないためのポイントと進め方|テスト駆動による「リファクタリング」実践トレーニング

「リファクタリング」による品質改善についての理論を学び、問題発見・コードの変更・CIフレームワークを使ってのテストまでを実践する本格的トレーニングです。テスト自動化ツール「Google Test」とCIフレームワーク「Jenkins」を使用します。

「派生開発」で肥大化・複雑化したシステムを救済するために欠かせない「リファクタリング」の失敗しないためのポイントと進め方|サービスに関するお問い合わせ

「派生開発」で肥大化・複雑化したシステムを救済するために欠かせない「リファクタリング」の失敗しないためのポイントと進め方|pagetop