エンジニアと要件定義の役割分担|SE・社内SE・発注側は何をする?

エンジニアと発注側の要件定義の役割分担を紹介する記事のアイキャッチ

当サイトの記事は編集部がIPAなど公的機関の公開資料と読者の声を調べて独自に執筆しています。

「要件定義って、エンジニアがやるもの?それとも発注した側が決めるもの?」と迷っていませんか。

結論から言うと、要件定義は発注側と開発側のエンジニアが一緒に進めるもので、どちらか一方だけでは完成しません。

この記事では、SIer・社内SE・Webエンジニア・発注側の立場ごとに、誰が何を担うのかを分担表で紹介します。

目次

要件定義は誰がやる?結論は「発注側とエンジニアの共同作業」

先に結論

要件定義の中身を「決める」のは、業務に責任を持つ発注側です。
エンジニアは、その要望を引き出し、実現できる形に整えて書き残す役を担います。

要件定義(RD:Requirements Definition)は、システムで何を実現するかを関係者で決める工程です。

『要件定義はSEの仕事でしょ』と思っている方も多いはずです。

たしかに、要件定義書を書く作業はエンジニアが担うことが多いです。

ただ、「どの業務をどう変えたいか」は、その業務をしている人にしか決められません。

IPAが2019年に公開した「ユーザのための要件定義ガイド 第2版」も、システムを使って業務に責任を持つユーザ、つまり発注側に向けて書かれています。

発注側が主体的に要件定義に関わる必要が増している、という問題意識からなんです。

「決める人」と「まとめる人」を分けて考える

要件定義の役割は、大きく二つに分けると見通しがよくなります。

役割主に担う人やること
決める人発注側の責任者、業務部門目的、範囲、業務のルール、優先順位を決める
引き出してまとめる人エンジニア(SE、社内SEなど)要望を聞き出し、実現できるかを確かめ、要件として書く
確かめる人発注側の利用部門、開発側のメンバー書かれた要件を読み、ずれや抜けを指摘する

エンジニアは、決める人の代わりに決めてしまわないことが大事です。

一方で、聞いたことをそのまま書くだけでは、実現できない要件や矛盾した要件が残ってしまいます。

要件定義そのものの意味をおさらいしたい方は、要件定義とはもあわせてどうぞ。

SEにとって要件定義とは?エンジニアが担う仕事

ここが大事なところです

SE(システムエンジニア)にとって要件定義とは、「業務の言葉」を「システムの言葉」に置き換える仕事です。
聞く、確かめる、書く、合意を取る、の四つが中心になります。

SEは、システムの設計や開発の全体を見るエンジニアのことです。

システムエンジニアが要件定義で担う仕事を、順番に見てみましょう。

エンジニアが要件定義で担う主な仕事
  1. 業務部門に今の業務と困りごとを聞く
  2. 業務の流れを図にして、聞いた内容が合っているか確かめる
  3. 要望を、機能要件と非機能要件に分けて書く
  4. 予算・期間・技術の面から、実現できるかを確かめる
  5. 決まっていないことを課題として一覧にする
  6. 関係者のレビューを経て、承認をもらう

要望をそのまま書かず、「なぜ」を聞く

例えば、店舗スタッフのシフトをシステムで作る案件を考えてみます。

「シフト表を自動で作ってほしい」と言われた時、そのまま要件にすると、何をもって完成かが分かりません。

「自動で作ってほしいのは、作る時間を減らしたいからですか、それとも不公平をなくしたいからですか」
「どちらかというと、毎月の調整の手間を減らしたいんです」

こう聞き返すと、本当に必要なのは「希望の集め方と調整の手間を減らすこと」だと見えてきます。

エンジニアの腕の見せどころは、こういう問いかけなんですね。

実現できるかを、早めに伝える

発注側の要望の中には、予算や期間に合わないものもあります。

その時は、「できません」で終わらせず、代わりの案を出すのがエンジニアの役目です。

補足

要求は「こうしたい」という希望、要件は予算・期間・技術を踏まえて「システムで実現すると合意したこと」です。
要求から要件へ絞り込むところに、エンジニアの知識が役立ちます。

例えば、シフト作成の案件で「希望を出した全員の希望を、全部かなえる表を自動で作りたい」という要望が出たとします。

人数が足りない日がある限り、全員の希望をかなえるのは難しいですよね。

そこでエンジニアは、こんな代わりの案を出します。

「全員の希望をそのまま反映するのは難しいので、人数が足りない日を一覧で出して、店長が調整しやすくする形ではどうでしょう」
「それなら今の調整の手間はかなり減りそうです。その形で進めてください」

このように、実現できる形に言い換えて合意を取るところまでが、エンジニアの役割なんです。

エンジニアが作る主な成果物

要件定義の中で、エンジニアが手を動かして作ることの多い資料も押さえておきましょう。

成果物エンジニアが担うこと
業務フロー図聞き取った業務の流れを、部署ごとのレーンに分けて描く
機能一覧システムが持つ機能に番号を振り、使う人と中身を並べる
非機能要件一覧性能・可用性・セキュリティなどの目標を、発注側と決めて書く
課題管理表決まっていないことに、担当者と期限をつけて追いかける
要件定義書ここまでの内容を一冊にまとめ、承認をもらう

それぞれの中身は、要件定義の成果物一覧で詳しく紹介しています。

立場で変わる役割:受託開発・社内SE・発注側の分担表

先に結論

同じ「要件定義をするエンジニア」でも、受託開発のSE、社内SE、Webエンジニアでは立ち位置がかなり違います。
自分がどの立場なのかを先に確かめると、やるべきことがはっきりします。

ここが、この記事でいちばん伝えたいところです。

『求人には要件定義と書いてあったけど、実際に何をするの?』と感じたことはありませんか。

実は、どの立場が要件定義を担うかは、契約の形や会社によって変わります。

立ち位置別の役割分担表(例)

架空の「店舗スタッフのシフト作成をシステム化する場合」で、立場ごとの分担を並べると次のようになります。

立場要件定義での主な役割シフト作成の例でやること
発注側の業務部門業務の困りごとと、変えたいことを伝える希望の集め方や、人数が足りない日の決め方を説明する
発注側の責任者目的・範囲・優先順位を決め、承認する「今回は希望の受付と調整まで、給与計算との連携は対象外」と決める
社内SE業務部門と開発会社の間に立ち、要件をまとめる店舗の声を集めて要件の案を作り、開発会社との打ち合わせを進める
SIerのSE(受託開発)要件を引き出し、要件定義書にまとめるヒアリング、業務フロー図、機能一覧、非機能要件一覧を作る
SIerのPM進め方と体制を決め、合意形成を進める会議の段取り、課題の期限管理、承認の取り付け
Webエンジニア(自社サービス)企画担当と一緒に、作る機能を決める利用者の声から、希望入力の画面の機能を小さく分けて提案する

この表はあくまで例です。

社内SEがいない会社では、業務部門の担当者がSIerと直接やり取りすることもあります。

SIerのSEが要件定義をする場合

SIer(システムインテグレーター)は、企業からシステム開発を請け負う会社です。

SIerで要件定義をするSEは、発注側の業務を聞き取り、要件定義書という形にまとめる役を担います。

受託開発では、要件定義を準委任契約、設計以降を請負契約に分けて契約する例もあります。

その場合、要件定義の段階は「一緒に決める」作業で、成果物の完成責任は設計以降とは扱いが変わることがあります。

社内SEが要件定義をする場合

社内SEは、自社の情報システムを担当するエンジニアです。

社内SEの要件定義は、発注側の立場に立って、開発会社に「何を作ってほしいか」を伝える仕事が中心になります。

業務部門の言葉を、開発会社に伝わる言葉へ通訳する役、とイメージすると分かりやすいですよ。

人数の少ない会社では、要件定義から導入まで一人で担当することもあります。

Webエンジニアが要件定義をする場合

自社サービスを作るWebエンジニアは、発注側と開発側が同じ社内にいることが多いです。

そのため、要件定義書を一冊作るより、企画担当と話しながら機能を小さく決めて、作っては確かめる進め方になりやすいです。

アジャイル開発では、要件をプロダクトバックログに並べ、ユーザーストーリーで書くことがよくあります。

「店長として、人数が足りない日をすぐに見つけるために、日ごとの不足人数を一覧で見たい」のような書き方です。

発注側の担当者が知っておきたいこと

ここまで読んで、『じゃあ発注側は何を準備すればいいの?』と思った方もいるかもしれませんね。

発注側の担当者がエンジニアに任せきりにしないために、準備しておきたいことを並べてみます。

発注側が用意しておきたいこと
  • 今の業務の流れと、困っている場面を書き出しておく
  • 「今回やること」と「今回はやらないこと」を決めておく
  • 業務のルールを決められる人を、打ち合わせに呼んでおく
  • 迷った時に最終的に決める責任者を決めておく

この四つがそろっていると、エンジニアは「何を決めてもらえばいいか」が分かり、打ち合わせがぐっと短くなりますよ。

受託開発のSE、社内SE、Webエンジニア、発注側の立ち位置と役割の違いを示した図解

何年目から任される?要件定義に入るまでの道のり

先に結論

要件定義を任される時期は、会社や配属で大きく違います。
年数より、「議事録」「要件の一覧」「業務フロー図」を任されて書けるかどうかが入り口になります。

『何年目になったら要件定義ができるんだろう』と気になる方も多いですよね。

ただ、これは会社の規模や体制で本当にばらばらです。

1年目から打ち合わせに同席する会社もあれば、プログラムやテストの経験を積んでから上流の工程に入る会社もあります。

任される前にできる準備

要件定義は、ある日いきなり全部を任されるものではありません。

先輩の打ち合わせに同席して、少しずつ担当を広げていくのが一般的です。

要件定義に入る前に試したいこと
  • 打ち合わせの議事録を書いて、先輩に見てもらう
  • 決まったことと決まっていないことを分けて書く
  • 小さな機能の要件を一つ書いてレビューを受ける
  • 業務の流れを、部署ごとのレーンに分けて図にしてみる
  • 分からない業務用語を、自分用の用語集にまとめる

未経験から少しずつ身につける練習の順番は、要件定義のスキルを未経験から身につける方法で詳しく紹介しています。

下流工程の経験は、要件定義に生きる

プログラムやテストの経験は、要件定義で「実現できるか」を判断する時の土台になります。

例えば、テストを経験した人は、「この要件だと合否を判断できない」と気づきやすいんです。

一方で、下流工程の経験がなくても、業務をよく知っていれば聞く力や書く力で十分に活躍できます。

これまでの経験要件定義で生きる場面
プログラミング実現できるか、どのくらい手間がかかるかの見当をつける
テスト要件が検証できる書き方になっているかを見抜く
運用・保守障害の時の対応や、運用で困る点を先回りして要件にする
業務部門での仕事業務の言葉や例外の流れを、利用部門の目線で聞き取る

エンジニアが要件定義でつまずきやすい場面

ここが大事なところです

要件定義のつまずきは、技術の知識より「決める人がはっきりしない」ことから起きやすいです。
自分が決めていいことと、決めてもらうことを分けておきましょう。

要件定義を任されたばかりの頃は、いろいろな場面で迷いますよね。

よくある場面と、その時の動き方を並べてみます。

よくある場面起きやすいことエンジニアの動き方
利用部門の意見が割れるどちらに合わせるか、エンジニアが決めてしまう目的に照らして判断材料を並べ、責任者に決めてもらう
要件定義で設計や実装レベルの資料まで求められる工程の境目があいまいになり、作業が膨らむ要件定義で決めることと、設計で決めることを分けて合意する
発注側から「お任せ」と言われるエンジニアの想像で要件が埋まる案を作って見せ、「この内容で合っているか」を確かめてもらう
打ち合わせで決まったことが残らない後で「言った、言わない」になる議事録と課題管理表で、決めたことと宿題を残す

「お任せ」と言われた時こそ、確認を増やす

発注側から「詳しくないので、お任せします」と言われることもあります。

『任されたなら自分で決めていいのかな』と思いがちですが、ここは注意が必要です。

案を作って見せるところまではエンジニアの仕事で、それを採用するかを決めるのは発注側です。

「この二つの案のうち、どちらが店舗の運用に合いそうですか」と、選んでもらう形にすると進めやすくなりますよ。

打ち合わせで使える聞き方の例

聞き方を少し変えるだけで、決める人に判断してもらいやすくなります。

避けたい聞き方言い換えの例
「どうしたいですか?」「今いちばん手間がかかっているのは、どの作業ですか?」
「これで大丈夫ですよね?」「この中で、店舗の運用に合わない点はありますか?」
「全部できます」「この範囲なら期間内にできます。残りは次の段階でどうでしょう」
「あとで決めましょう」「この点は、誰がいつまでに決めますか?」

どれも、相手が答えやすく、決めたことが残る聞き方なんです。

よくある失敗

エンジニアが善意で要件を「決めてあげた」結果、受入テストで「思っていたのと違う」となるケースです。
決めた人と決めた理由を、議事録に残しておきましょう。

要件定義がなぜ難しいと言われるのかは、要件定義が難しい理由とつまずきポイントでまとめています。

要件定義でエンジニアが決めてよいことと、発注側に決めてもらうことを分けた図解

要件定義ガイド

まずは型をそろえよう|要件定義書のテンプレートと記入例

章立て・各章に書くこと・1行の記入例をひとつの表にまとめました。白紙から書き始める前に、型を手元に置いておきましょう。

無料要件定義書のテンプレートを見る

当サイトの記事ページに移動します。

よくある相談に答えます

エンジニアと要件定義について、よく寄せられる相談を要約してお答えします。

相談1:要件定義の工程なのに、設計や実装レベルの資料まで求められる

SEとして要件定義を担当しているが、設計どころか実装に近い細かさの資料作成を求められる。これは普通なのか、という相談です。

現場によっては、要件定義と基本設計の境目があいまいなまま進むことがあります。

ただ、細かい設計まで要件定義の段階で決めると、後で変えにくくなる面もあるんです。

まずは「要件定義で決めること」と「設計で決めること」を一覧にして、チームで合意を取ってみてください。

境目の考え方は、要件定義と基本設計の違いが参考になります。

相談2:社内SEとして、要件定義から導入まで一人で担当している

社内SEの人数が少なく、要件定義から導入までを一人で担当している。これでいいのか不安、という相談です。

小さな会社では、よくある体制です。

一人で担当する時ほど、「決める人」を業務部門の責任者にしておくことが大事になります。

要件を自分だけで決めず、要件の一覧を見せて承認をもらう流れにしておくと、後で困りにくくなりますよ。

相談3:下請けの会社にいるSEは、要件定義をしないの?

上流の会社のSEが要件定義をして、下請けの会社はその後の工程だけを担うのか、という相談です。

結論から言うと、そういう分担になる案件は多いです。

ただ、下請けの会社でも、要件定義の打ち合わせに同席したり、一部の要件の検討を任されたりすることはあります。

要件定義に関わりたい場合は、まず要件定義書を読み込んで、気になる点を質問するところから始めてみましょう。

よくある質問

SEの要件定義とは、具体的に何をすることですか?

業務部門から要望を聞き出し、実現できるかを確かめながら、機能要件や非機能要件として書き残す仕事です。最後は関係者のレビューを経て承認をもらいます。

社内SEと、SIerのSEの要件定義はどう違いますか?

社内SEは発注側の立場で「何を作ってほしいか」をまとめ、SIerのSEは開発側の立場で「どう実現するか」を踏まえて要件定義書にまとめることが多いです。会社によって分担は変わります。

Webエンジニアも要件定義をしますか?

します。自社サービスでは、企画担当と話しながら機能を小さく決めて、作っては確かめる進め方になることが多いです。

要件定義に役立つ資格はありますか?

IPAの情報処理技術者試験には、システムアーキテクト試験やプロジェクトマネージャ試験があります。ただ、資格よりも議事録や要件の一覧を書く経験のほうが、現場ではすぐに役立ちます。

エンジニアだけで要件定義を進めてもいいですか?

おすすめしません。業務のルールや優先順位は、業務に責任を持つ発注側でないと決められないからです。エンジニアは案を作り、決めてもらう形にしましょう。

まとめ

この記事の要点
  • 要件定義は、発注側が決め、エンジニアが引き出してまとめる共同作業
  • SIerのSE、社内SE、Webエンジニアで、要件定義の立ち位置は大きく違う
  • 任される時期は会社で違うので、議事録や要件の一覧から少しずつ慣れる
  • 「お任せ」と言われても、決めるのは発注側。案を作って選んでもらう

要件定義を実際にどう進めるかは、要件定義の進め方・手順で順番に紹介しています。

要件定義ガイド

要件定義ガイド 編集部

システム開発の要件定義について、意味・進め方・要件定義書の書き方とテンプレート・必要なスキルを実務目線でまとめている情報サイトです。 公式サイト

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次