実務ガイド · R・Shiny・個別ソフトウェア
既存のR・Shinyアプリケーションを引き継ぐ
R・Shinyアプリケーションの引き継ぎは、再現可能な基準と分析目的の理解から始まります。システムを棚卸しし、代表的な出力を再現し、差異を調べ、支援範囲を合意してから変更に進みます。全面的な書き直しは選択肢の一つであり、出発点の前提ではありません。
Leap Dynamics GmbH更新日:
1. アプリと責任分担を棚卸しする
許可されたソースコードへのアクセス、パッケージ依存、Rの版、データ接続、定期ジョブ、認証、配置設定、既存の文書を集めます。出力を業務上理解している人と、インフラの責任者を特定します。
既知の不具合と改善要望を分けて記録します。文書化されていない動作は、意図されたもの、古くなった前提、不具合のいずれかであり、現在の出力だけでは判断できません。
2. 代表的な基準出力を再現する
承認された入力例を分離した環境で実行し、表、ファイル、重要なアプリの動作を保存します。再現を妨げる依存関係や外部サービスの不足も記録します。
renvなどのツールはRパッケージの依存を記録できます。ただしロックファイルだけでは、データベース、システムライブラリ、認証情報、OSの動作までは再現できません。これらも文書化します。
3. 重要な動作をテストする
testthatなどによる焦点を絞った自動テストと、分野の専門家による出力レビューを組み合わせます。出力が変わったときは原因を調べ、意図した修正か回帰不具合かを記録します。
| 層 | 有用なチェック |
|---|---|
| 分析ロジック | 既知の例、境界条件、欠測、合意した数値比較。 |
| データ接続 | スキーマ変更、空の結果、障害、期待する変換。 |
| Shinyの操作 | 重要な利用経路、リアクティブな依存、レポートのダウンロード。 |
| 配置 | 反復可能な起動、設定、復旧、実用的なロールバック。 |
4. 保守・刷新・再構築を選ぶ
対象を絞った修正と文書化で、当面の課題を解決できる場合があります。リファクタリング、依存の更新、性能改善は保守性を段階的に高めます。移行や書き直しには、出力への信頼を再確認する費用も含め、技術面と業務面の根拠が必要です。
アプリの責任者と改善項目の優先順位を決めます。対象コンポーネント、応答条件、変更承認、リリース責任を定義します。ソフトウェア保守と継続的なインフラ運用は異なる責任として、明示的に合意します。
5. 実用的な引き継ぎ記録を納める
Leap Dynamicsはこの評価を独立した作業として定め、その結果から具体的な保守・開発の支援内容を合意できます。
- コードと依存関係の一覧、文書化された基準出力。
- 既知の問題、テスト結果、出力の比較。
- 優先順位を付けた改善、責任分担、保守範囲。
- 配置、復旧、引き継ぎの手順。
