連載
» 2021年09月30日 05時00分 公開

ドメイン知識の習得は、個人のタスクじゃない――開発チーム全体で取り組むオンボーディングとその知見ドメイン知識と開発(2)

ITエンジニアは「ドメイン知識」の習得を求められることがあるが、技術知識の取得と比べると優先度は低くなりがちだ。制度改正の多い介護・医療分野のドメイン知識習得に取り組むエス・エム・エスの事例から、ドメイン知識習得の重要性とそれを開発に生かすためのポイントを解説する。第2回は、開発チームがドメイン知識習得のために実施した取り組みと、それによって得られた知見について。

[株式会社エス・エム・エス,@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 前回は、開発チーム(開発者)がドメイン知識(業務知識)を習得することの重要性を説明しました。今回はドメイン知識を習得するためにそれぞれの開発チームで行っている取り組みとそれによって得られた知見について、クラウド型の介護事業者向け経営支援サービス「カイポケ」の開発チームを例に説明します。

「カイポケ」の開発には、介護・医療分野のドメイン知識が欠かせない

開発チームにおける取り組みと得られた知見

キャッチアップを個人のタスクにしない

 既存のシステムを運用・開発しているチームでは、新規に参画するメンバーと比べると知識量に差があります。新規に参画する開発者の多くは介護・医療の報酬制度に詳しくありません。コードレビューや普段の会話などでも、知識量に差があると会話が成立しないこともあります。素早く開発に入ってもらうために、ドメイン知識のキャッチアップを個人のタスクとするのではなくチームとして取り組んでいます。

新規に参画するメンバー向けのオンボーディング

 未経験の領域についての知識を習得するのは大きな労力が必要です。新規メンバーが参画した際には、ドメイン知識を習得するための足掛かりとなることを目的として、開発者が主体的に勉強会を実施しています。講師役は最近参画したメンバーが中心に行うことで、理解が曖昧な箇所の発見にもつながります。

 オンボーディングにおいては、できる限りの時間を共有して説明などに充てることが望ましいですが、既存メンバーはそれぞれのタスクもあるため全ての時間を共有することは容易ではありません。ドキュメントなどを用いて各自で知識を習得する時間も重要です。システムの「教科書」として機能や運用面などを網羅的にドキュメント化して残す取り組みや開発時に得られた知見のドキュメント化など、これらを使って知識の習得に役立てています。

 ほとんどのドキュメントはツールを統一して作成しています。また、新しい記事が作成、更新されるとチャットツールに通知されるようにしています。必要な情報を取得するには検索が最も有効な手段ですが、検索をする場合は適切なキーワードを知っておく必要があります。チャットツールの通知情報などからキーワードや他のチームが取り組んでいる内容を把握できるため、後になって情報収集に役に立つこともあります。

 なお、最近はオンラインホワイトボードのようなツールの利用も増えています。オンラインホワイトボードは会議の際のコミュニケーションに非常に役に立ちますが、ドキュメントツールから独立して存在していると、上記のような利点が損なわれてしまいます。概要はドキュメントツールに記述し、オンラインホワイトボードを埋め込んだり、リンクを貼ったりすることでドキュメントツールの検索に引っ掛かりやすくなるよう工夫しています。

新機能開発・報酬改定

 新しい機能を開発する際はユーザーストーリーマッピングを活用することが増えています。法改正や標準仕様への対応は、限られた時間の中で行う必要があります。ユーザーストーリーマッピングを行うことで、その要求が整理され、開発の優先度付けにも役立ちます。

モブプログラミング・コードレビューの実施

 メンバー間のコンテキストをそろえるためにモブプログラミングや、コードレビューを同期的に実施しました。例えば変数名や関数名の付け方などをとっても、ドメイン知識や技術的知見に差がある場合、テキストベースでやりとりすると想定以上に時間がかかってしまうことがあります。会話しながら進める時間を用意することでお互いの知識の差を埋め、コンテキストをそろえることに役立ちます。コンテキストがそろえばテキストベースでもレビューを行うコストが下がります。

マイクロサービス化チームにおける取り組みと得られた知見

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。