こんにちは。データウェアハウス開発部の新倉です。
基幹システムのプロジェクトマネージャーを担当しています。
今年、JMDCではアドベントカレンダーに参加しています。
本記事は、JMDC Advent Calendar 2024 3日目の記事です。
はじめに
JMDCの基幹システムはデータウェアハウス(以下、DWH)システムを含め、取込、加工など様々なシステムが存在し、保険者・医療機関・薬局など各所に由来する医療データをDWHとして構築しています。
これらはデータ提供や分析サービス、PHRサービスなどで幅広く活用されており、データビジネスの根幹となっています。
今回はそんな基幹システム開発でのプロジェクトマネジメントについてお話したいと思います。
開発プロセスについて
アジャイルのフレームワーク
- スクラム(Scrum)
- カンバン (Kanban)
- リーン (Lean)
など色々なフレームワークがありますが、基幹システムの開発ではほぼウォーターフォールモデルで開発を行っています。
toC向けのシステムを管理する部署ではスクラムを使った開発がほとんどですが、基幹システムではウォーターフォールモデル以外のアプローチがなかなか定着しません。
習熟度の問題などいくつか課題はありますが、DWHの開発においては、その特性上、ある程度決まったINPUTとOUTPUTのデータがあり計画的で明確なアプローチが求められるプロジェクトが多いため、どうしてもウォーターフォールモデルが主流となりがちです。
データフローや処理の順序がしっかりと定まっていることが多く、フレキシブルで反復的な開発モデルを採用するよりも、最初にしっかりと要件を定義し、段階的に進めていくウォーターフォール型が適していることが多いと感じています。
また、プロジェクトの申請前と申請時には定量定性といった効果と、人件費やインフラ費などの全体金額とを比較し、開発するに値するかどうかを検討を行います。
このため、早い段階で金額を見積もる必要があり、ウォーターフォールのように計画を詳細に立てるアプローチが、最初にしっかりとした予算を組む上でも重要な役割を果たしています。
開発の流れと役割分担
開発プロジェクトのフロー
開発プロジェクトではまず最初に予算を確保するケースが多いと思いますが、JMDCでも同様で、プロジェクトを始めるには予算や目的、効果などをしっかり説明し、承認を得るプロセスが必須となります。
そのため、まずは要件を確認し立案するところから始まり、見積もりやスケジュールの策定、アサイン可能なメンバーの調整など、プロジェクトをスタートさせるための準備から始めます。
プロジェクト開始後はウォーターフォールモデルの通り進めていき、リリース後に完了報告という流れになります。
プロジェクトでの役割分担
開発プロジェクトでは必ずPM(プロジェクトマネージャー)、PL(プロジェクトリーダー)の役割を配置しますが、
プロジェクトの規模や関連するシステム数によってはPM/PLが兼務であったり、PLが複数名となることがあります。
以前からPMやPLは配置していますが、役割の明確化ができておらず担当者を場当たり的に決めてしまうこともあり、結果としてどちらかに負担が偏ってしまうなど、良いマネジメントができていないことがありました。
そこで、改善策の一つとしてPMBOK(プロジェクトマネジメント知識体系ガイド)をベースにしたマネジメント手法を導入しました。
これにより、役割の分担や責任がより明確になり、より効率的なマネジメントを実現しています。具体的には、以下のような分担で進めています。
まだまだ改善の余地がありますが、自分たちに適したスタイルを模索しながら臨機応変に対応中です。
オンプレとクラウド
現在、プロジェクトマネジメントとともに、DWH周りの環境も大きく変化しています。
最も大きな変化は、オンプレミスのアプライアンス製品やOracleからクラウドサービスへの移行です。
すでに移行を完了したシステムや、現在移行中のシステム、そして今後移行予定のシステムがあり、数年以内にはオンプレミス環境から完全に脱却する予定です。
移行の主な理由は、スケーラビリティの課題を解決するためにクラウドサービスを選択したことにあります。
そのためリザーブドインスタンスではなく、On DemandやServerlessのサービスを多く利用するようになっています。
しかし、この選択に伴い、新たな課題として「見積もり」の問題が浮上しています。
開発工数の見積もりには大きな変化はありませんが、ハードウェアの見積もりが大きく変化し、利用するサービス、稼働時間、データ量の増加に伴うスペックの変化など、多くの要素を考慮して見積もりを行うのは非常に難易度が高くなっています。
精度を向上させるには時間がかかりますが、利用するサービスを一覧化してデータ量や想定稼働時間を元に過去の実績を参考にしながら算出し、精度向上と見積もり作業の時間短縮を図っています。
また、インフラの管理にも大きな変化があり、オンプレミス環境のネットワーク周りはインフラ部門が管理していましたが、クラウド環境ではシステム側が直接管理するようになりました。
このため、権限管理やログ監視などセキュリティ統括部門への相談や、ルーティング設定などでインフラ部門との調整が必要となる場面が増えました。
ただ、相談できる環境や窓口が整備されており、気軽に問い合わせることができるため、安全かつスムーズに対応できるため非常に助かっています。
昔と今
昔
この記事を書いていて、入社直後のプロジェクトを思い出しました。
要件定義、見積もり、設計から総合試験まで、一通りの工程を経験させてもらいましたが、苦い思い出が多いです。
特に厳しかったのが、同時進行している3つのシステムの各PLが「個人の力で何とかする」というスタンスだったため、各々がバラバラに進めていき、最後の最後ですごい苦労をするという、あまり好ましくないパターンになってしまいました。
今
今では事前に一定のルールを定めることで解決済みですが、さらに良くするため、データウェアハウス開発部ではさまざまな取り組みを行っています。
例えば、月に1回の研修や、所属部署での輪読会を実施し、チーム全体で知識を深め合うことでチーム力向上に繋げています。
またオンボーディング資料の充実や、個人学習のための補助制度も整備し、一人ひとりが自己研鑽に励むためのサポートをしています。
さらに、プロジェクトマネジメントに関しては定期的に勉強会を開催しています。
これにより、より効率的でスムーズなプロジェクト進行を実現するためのノウハウを共有し、チーム全体の能力向上を目指しています。
現在はPMBOKガイド第7版やUdemyの動画を活用し、PMの2名で実施していますが、今後は経験やポジションに関係なく興味のある方も気軽に参加していただき、最終的には関係者全員にプロジェクトマネジメントの知識を浸透させていきたいと考えています。
まとめ
- IN/OUTが明確なDWHはウォーターフォールモデルでの開発が向いていると思う
- プロジェクトマネジメントにおいての役割分担はあらかじめ明確にしておく
- クラウドサービスの費用の見積もりは難しい
- 以前に比べるとフォロー体制が整った
最後に
最後までご覧いただきありがとうございました。
明日4日目は、小邦さんによる「埋もれた知識を掘り起こせ!老舗プロダクトを支えるチームのナレッジ継承術」です。お楽しみに!
JMDCでは、ヘルスケア領域の課題解決に一緒に取り組んでいただける方を積極採用中です! フロントエンド /バックエンド/ データベースエンジニア等、様々なポジションで募集をしています。詳細は下記の募集一覧からご確認ください。 hrmos.co
まずはカジュアルにJMDCメンバーと話してみたい/経験が活かせそうなポジションの話を聞いてみたい等ございましたら、下記よりエントリーいただけますと幸いです。 hrmos.co
★最新記事のお知らせはぜひ X(Twitter)、またはBlueskyをご覧ください! Tweets by jmdc_tech twitter.com bsky.app