とあるシステム開発現場の一日

2022/09/21
講演者:ESK株式会社 萩谷祥太 中本博之
とあるシステム開発現場の一日

本記事は、2022/8/27にESK株式会社がインターネット・アカデミーの受講生向けに講演されたセミナー「とあるシステム開発現場の一日」の一部を紹介したものです。本セミナーは、システム開発人材をテーマに3回に分けて開催されます。

  1. IT業界への転職に失敗しないために押さえておくべきIT業界地図
  2. とあるシステム開発現場の一日
  3. システム開発の現場で必要とされる人の3つの特徴

システム開発の流れ

前回のセミナーでは、架空のシステム開発プロジェクトを例にシステム開発に関わる職種やプロジェクトの流れを紹介しました。今回は、SIerの現場にいる人がどのような役割を果たしているのか、開発の工程別にどのような違いがでてくるのかを紹介します。

まずは、システム開発の流れについて確認しましょう。大まかな流れとしては、次の4つの工程に分けることができます。

  1. 要件定義
  2. 設計
  3. 開発
  4. テスト

要件定義

要件定義では、クライアントの要望をもとに開発するシステムの内容を決定していきます。それ以降の開発の軸になるもので、プロジェクトのゴールを示した地図を作らなければなりません。

この要件定義を間違えたり、あいまいなものにしてしまうと、クライアントが要望していたシステムを開発できず、プロジェクトは失敗に終わってしまいます。

よくあるSIerで語られる失敗談ですが、顧客が本当に望んでいるシステムについて、顧客がうまく説明できず異なった要件を伝えてしまう。さらに、プロジェクトリーダーの認識もプログラマーが書いたコードも、本来の要望からかけ離れたものになってしまうという失敗が起きることがあります。

要件定義でよくある失敗

要件定義の時点でしっかりとした地図を描いていないと、顧客が欲しかったシステムどころか、下手すれば使えるシステムにすらならないということもあります。実際、コンサルティングの案件では、「こんな状態になってしまったのですが何とかなりませんか」という相談もあったりします。

設計

要件定義の内容をもとに、コンテンツで使用するさまざまな機能などを設計書にまとめていきます。設計は、ユーザーが直接触れる画面などの外部設計と、プログラムの内部の処理をどうするかなどの内部設計に大きく分かれます。

最終的にプログラマーが迷うことなくプログラミングができるレベルでの設計が求められ、たとえばデータベースの構造やデータの受け渡し方、プログラムの具体的な処理などをまとめていきます。

開発

設計書の内容をもとにプログラミングを行います。JavaやPython、PHPなどのプログラミング言語を使ってプログラムを組んでいきます。

プログラムは、ただ動くものを書くのではなく、プ処理効率や、システムがリリースされた後の運用効率、保守のしやすさを考慮しながら書くことが大切です。実は、こうしたことを考えてプログラムが書ける人は多くなく、これができるプログラマーはかなりレベルが高いと言えます。

テスト

システム開発は人の手で行うのでどうしても不具合がでてきますので、テストを行う必要があります。システム開発におけるテストの役割は、開発したプログラム・システム が問題なく動作するか、不具合がないかをチェックして修正することにあります。

一言でテストといっても、実際には「単体テスト」「結合テスト」「総合テスト」と複数のフェーズに分かれます。テスターを集めて大人数でテストをすることもあります。

ここまで、要件定義からテストまでの流れを説明してきました。 要検定義や設計は、専門性と経験を兼ね備えた要員が少ない人数でシステム全体を体系的に設計するのに対し、開発テストは、多くの人員が細かい仕様をシステムとして実現するべく、専門性を生かして開発に取り組んでいくという傾向があります。

このセッションの講師

ESK株式会社
コンサル事業部 取締役部長 萩谷 祥太様

開発現場の一日

SIerがプロジェクトに関わるのは、前回のセミナーのプロジェクトの例でいうとコンサル会社やシステム開発会社の部分になります。今回は、要件定義フェーズと開発フェーズのPLとPGをピックアップして紹介します。

  • オーナー:プロジェクトの発注者
  • PM:プロジェクトマネージャ
  • PL:プロジェクトリーダー
  • SE:システムエンジニア
  • PG:プログラマー

要件定義フェーズでの一日(PL)

要件定義フェーズでの一日(PL)

まずは要件定義フェーズでのPLの動きを見ていきましょう。このスケジュールをみると、ほとんど打ち合わせですね。午前中に行っている「経営向け会議報告」では、プロジェクトが正しい方向に進んでいるか、予算に収まるかなどを報告する重要な会議です。

この会議で、システムについての追加要求や急な要求変更が発生することもあります。PLは、そうした要求に対して「このソフトウェアを使えば実現できる」などシステム目線での提案を行う必要があります。

次に、「担当者間打ち合わせ」があります。この打ち合わせでは、画面の見せ方はこうしてほしい、割引の対象者をどうするか、などのシステムに関する要件を担当者間で固めていきます。

この打ち合わせには、クライアント側の担当者はもちろん、システムを開発する側からも質問や提案をするため、開発担当者(今回はSE)にも参加してもらいます。

たとえば、複数のキャンペーンから選択できる仕様の場合、選択肢を同じ画面上で表示するのか、別のページとして表示するのか、などが設計として考えられます。このとき、すでに運用中のシステムや、他の機能とのバランスを考慮したときに、どちらのほうが効率が良いのかなどを説明し、要件を固めていきます。

こうした打ち合わせの前には、段取りを準備する時間が必要です。この準備を怠ると、打ち合わせのなかでヒアリングしたかったことや要望や提案を伝えられなくなってしまい、翌週持ち越しになってしまい、それが原因でスケジュールが遅れていってしまいます。そして、要件をまとめきれず、プロジェクトが失敗に終わってしまうこともあります。

そして、担当者の打ち合わせが終わったら議事録に記載し、参加者や関係者に情報を共有。打ち合わせで出てきた課題、宿題などを整理します。

なお、要件定義のフェーズではPGはまだ出番がありません。

開発フェーズでの一日(PL)

開発フェーズでの一日(PL)

こちらは、開発フェーズでのPLの一日です。要件定義と異なる点としては「進捗確認会」。通称、朝会と呼ばれている毎日行う会議があります。この会議では、SEから進捗状況を報告してもらい、予定通り進んでいないところの問題や対応などの認識共有をすします。この内容によって、SEやPGがその日に何をするかが決まってくるので、朝イチに行う必要があります。そして、この内容を踏まえてクライアントに開発の進捗報告をします。

PLは打ち合わせが多いですが、要件定義フェーズと開発フェーズでは動き方が変わってきます。要件定義フェーズでは、PLが主体となって進めていきますが、開発フェーズでは周りがうまくプロジェクトを進めているかを確認し、問題が生じたらそれに向けて解決に動くなどマネジメントの役割がメインになっていきます。

開発フェーズでの一日(PG)

開発フェーズでの一日(PG)

PGはプログラミングをしていくのがメインの仕事です。PLとSEが行っている朝会で決まったことをPGにフィードバックし、それをもとに開発を進めます。

レビューは、PGが作ったものが設計書通りにしっかり作られているかを確認します。プログラムに不備があった場合は、記録表などの資料に詳細を記録し、何をどのように修正する必要があるのかを理解します。

そして「進捗確認会」。通称、夕会とよばれる会議を毎日行います。この会議では、今日一日でどこまで開発が進んだのか、どのような問題が生じているのかを取りまとめます。この会議の内容をもとに、SEが翌日の朝会でPLに情報を伝えます。

今回は、PLやPGをピックアップして、仕事の流れを紹介してきました。このように、フェーズや職種によって、仕事内容や求められる役割が変わってくるのですが、どの職種、どの役割でも活躍している人には共通した特徴があります。次回のセミナーでは「の役割でも必要とされる人の共通となる3つの特徴」を紹介していきます。

このセッションの講師

ESK株式会社
民間事業部 取締役部長 中本 博之様

エンジニアを育成するIT研修

インターネット・アカデミーでは、多くの企業様からエンジニア育成についてのお問い合わせをいただいております。SEやプログラマーに求められるシステム開発の知識を習得するIT研修を提供しており、企業ごとの悩みや課題に合わせて研修カリキュラムを組むことができます。エンジニア育成にお悩みの方はお気軽にご相談ください。

エンジニア育成について相談する

デジタル人材育成・助成金のお役立ち資料をダウンロード

デジタル人材育成や助成金活用のお役立ち資料などをまとめてダウンロードしていただけます。コンサルタントへの無料相談をご希望の方はこちらからお問い合わせください。

たとえばこんな相談ができます
  • DX人材の育成&事例紹介 リスキリングのロードマップ付き
  • デジタル人材育成に使える助成金制度
  • デジタルスキル標準 役割別おすすめ講座
資料ダウンロードはこちら
会社名必須
部署名必須
お名前必須
電話番号必須
メールアドレス必須

個人情報の利用目的についてご同意いただいた場合のみ、「同意して進む」を押してください。

このページの上へ