運用中の業務システムをスムーズにバージョンアップ対応
Ruby on Rails業務システムバージョンアップ対応開発
MISSIONEOLを迎えた業務システムのソースコードのRuby on Railsを大きくアップグレード
医薬品・医療機器・再生医療等製品の開発におけるソリューションを提供されているクライアント企業様の業務システムのRuby on Railsアップデート開発を担当しました。
具体的には、プロジェクトごとにカスタマイズされた業務システムの元となるソースコードが、Ruby on Rails Ver5.2系で運用されていました。
そちらを「7.0系にアップデートすることが目標」と言うことでご相談を頂いた案件になります。
SOLUTION「RSpec」を導入してテスト自動化対応
バージョンアップにあたって、いきなり5.2系から7.0系へバージョンアップを行うのではなく、段階的にバージョンアップしていく手法を採用しました。
つまり、パッチバージョン → マイナーバージョン → メジャーバージョンの順番で進めていったと言うことです。
また、バージョンアップをスムーズに行うために、テスト自動化対応も行うことになり、先に自動テストコードを作成しました。
これには「RSpec」と言うツールを利用したのですが、これはRubyコードをテストするためにプログラミング言語Rubyで記述されたコンピュータードメイン固有の言語テストツールです。
「RSpec」を利用することで、クラスやメソッド単位でテストが出来ますし、バージョンアップした際に起こりうるエラーや非推奨とされるコードを検出しやすくなりました。
このように、バージョンアップ → 自動テスト(エラーがあれば修正) → 手動テスト(エラーがあれば修正)を繰り返しながら、目標バージョンまでRailsアップグレードしていきました。
POINT様々なRuby開発
Ruby Association Certified System Integrator Gold保持企業として、平素より、Ruby on Railsでのスクラッチ新規開発や、改修開発などのご相談を頂くことが多いのですが、このようなバージョンアップ対応をご相談いただいたのは2回目でした。
1回目は、出来るだけ過去資産を流用しながらも、ほぼリプレイス開発だったのですが、本案件では運用中のシステムに対するバージョンアップ対応が必要だったこともあり、クライアント様の業務に影響を来さないよう、定例会議など密なコミュニケーションを重ねながら、慎重にプロジェクトを進行しました。