レガシー救済プロジェクト
近年の組込みシステム開発では、数十年前に構築した「レガシーシステム」を元に製品を構築する開発(レガシー開発)が主流となっています。しかし、長年にわたり追加と修正をし続けた結果、設計は忘れ去られ、コードは疲弊しています。そして、チームに蔓延するマイナス思考...しかし、そんなプロジェクトにも救済の糸口があります。
悪しき習慣が組織文化となったレガシー開発をどのように救済するか?
十年以上前に構築されたシステムを元に、製品開発を続けている『レガシー開発』では、「大きな問題をかかえているものの当事者は何とも感じていない」というケースに陥りがちです。これはすなわち問題が常態化し、組織文化として根付いてしまっていることに他なりません。では、それをどのように救い出すか?ここでその概要について説明します。
救済が必要なレガシー開発とは?
度重なる変更・追加により、多くの人により修正が加えられた「つぎはぎ」のコードは、発生する問題が増え、それに合わせて収束するまでの時間も少しずつ長くなっていきます。また、古い開発環境は、新しい開発環境と比べると格段に生産性が低いのですが、それが普通になり、苦とは思わずに使い続けています。さらに、行き過ぎた個人主義により、問題があったとしても、なかなか表面化しません。新しく担当した人は、それを当たり前のこととして受け取るため、問題は常態化してしまいます。
そして、そのような状態が長期間放置されると、これが組織文化として定着してしまいます。
そんなレガシー開発を、我々は「救済が必要なレガシー開発」と位置付けています。その状態を改善するためには、常態化している悪しき習慣を断ち切り、良い習慣を定着させる必要があります。
救済の3点セット
組織文化として定着したものを変えるのは容易なことではありません。救済するためにすべきことは、下図にある通り「チーム再生」「自働化・システム化」「コード再生」の3つですが、全てを一気に進めるのではなく、状況を見ながら、段階的に進めることが重要です。
まずは「チーム再生」でチーム内の風通しを良くします。これがすべての ベースとなります。その後、「自働化・システム化」を行います。ここまで出来てようやく「コード再生」に手を付けることができるようになります。
コンサルタントが教える成功の秘訣
多くのレガシーコードは、ハードコーディング、グローバル変数、コメントなし、複雑な依存関係、巨大な関数やコンポーネントなど、様々なアンチパターンから形成されています。このようなコードは、開発費の増大、開発速度のスローダウン、出荷後のバグ多発など、多くの問題を頻発させます。
「そういったコードは、『リファクタリング』すればいいじゃないか」という声が聞こえてきそうです。その通り、「リファクタリング」すればいいのです。ただし、何年にもわたってアンチパターンが積み重なったコードの「リファクタリング」には、非常に高度な知識、経験と粘り強さが必要です。簡単に説明できる成功の秘訣などありません。それでもあえて言うとすれば、「リファクタリングのプロを探せ」です。
私と一緒に、レガシーコードを蘇らせましょう。
レガシー救済プロジェクトの関連サービス
適用支援
レガシーシステム開発救済診断
「レガシー開発」の良し悪しを、定量・定性の両面で、経験豊富なコンサルタントが診断し、救済への道筋を提示します。
適用支援
レガシーシステム開発
レスキュー隊派遣サービス
「レガシー開発」を救済するためのプロジェクトを主導していく、通称『レスキュー隊』を派遣します。経験豊富なコンサルタントが、救済プロジェクトを主導していくとともに、「見える化」・「自働化」・「リファクタリング」など、ソフトウェア開発技術の知見と経験を併せ持つレスキュー隊が、実際に手を動かして、「レガシー開発」を救済いたします。
「リファクタリング」による品質改善についての理論を学び、問題発見・コードの変更・CIフレームワークを使ってのテストまでを実践する本格的トレーニングです。テスト自動化ツール「Google Test」とCIフレームワーク「Jenkins」を使用します。
EurekaBoxは、オンラインで学べる総合学習&実践プラットフォームです。このコースでは、これからリファクタリングを学んでいきたいという人から、実践している人に向けて、コンテンツを用意しています。リファクタリングの基礎から応用までをわかりやすく解説します。
頑張ってるけど、ちっとも楽にならない…何で?
すぐに成果を出すために頑張ってるけど、自前ではもう限界
効果的だろうけど高額なコンサルには手がでない…
あなたに合う一番最適な解決方法を
エクスモーションがご提案いたします。
レガシー救済プロジェクトに関する記事を見る
他のソリューションを見る
モデリング プロダクトライン開発
最新コラム
CASE時代に不可欠なサイバーセキュリティ& 機能安全
自動車産業における「CASE」は、便利さや効率性を向上させる一方で、セキュリティや安全上の問題を引き...
新しい事業の未来を左右するソフトウェア人財への実践的リスキリングとは
車載分野では自動運転やEV化などの技術革新やビジネスモデルの変化に対応するために従来のハード・メカ開...
プロダクトライン開発をアップグレードさせた『新たなプロダクトライン開発』でソフトウェアファースト時代に備える!
ソフトウェアを共通化する方法として、プロダクトライン開発がありますが、OTAを考慮するとプロダクトラ...
ソフトウェアファースト時代に不可欠な新たなプロダクトライン開発とは
自動車業界を中心に「ソフトウェアファースト」という言葉がもてはやされています。それは、目指すべき方向...