システム開発を学びたい!ビジネススキルを身につけたい

2-2 システム開発の全体の流れ・工程の理解で手探り感を解消しよう

システム開発を学びたい!

システム開発の一連の流れを把握したい

自分がどの工程やってるのかわからない

つぎはぎの仕事している感がして疲れる

と言った不満に答えます。

この記事を読むことで、システム開発の全体プロセスを理解できシステム開発プロジェクト全体感を養うことができます。(以下図)

システム開発のプロセス全体感を理解することで、
・あなたが担当するプロセスと次工程の関係性
・自分のやっている工程がシステム開発の全体のどこなのか
を理解する事が出来ます。

この理解で、業務の手探り感が解消されストレスを抑制できます。又、今の工程を理解できる=今やるべきことも理解できる為(作業の絞りと時間の集中により)、業務の質の向上にもつなげることが可能です。

✔記事の信ぴょう性

kato
kato

SE+社内SE歴15年以上。現大手EC運営企業の管理職 兼 社内SE講師。

グローバル(15か国以上導入)へ大規模ERPシステム開発・導入を実施。

2018年よりSE講師として100名弱の部下・生徒の教育を実施。


※当ページのリンクには広告が含まれる場合があります。

システム開発の全体工程(プロセス)とは?

システム開発のプロセスは、基本はシンプルに以下です。
・業務要件を洗い出し、
・システムを開発し、
・テストを実施し、
・運用を開始する
です。

この一連の流れを頭の片隅に入れつつ以下の具体的な詳細プロセスのピースを理解していきましょう。

システム開発の工程(プロセス)を体系化

情報処理機構のIPAでは共通フレームワークを使い開発プロセスを以下のように定義・分類しています。

システム開発の主要プロセス
・主ライフサイクル 8プロセス
・支援ライフサイクル 9プロセス
・組織に関するライフサイクルプロセス
 7プロセス
その他プロセス 2プロセス

しかし、正直分かりずらいです。参考までにどのようなプロセスなのか解説します。

出所 独立行政法人 情報処理推進機構

様々なプロセスが乱立し大変そうと思うかもしれません。

本記事では、このプロセスを実際に社内SEが担当する場合に使われるシステム開発のプロセスにし変換し分かり易く解説していきます。もちろん、IPAの定義するプロセスも学びたいというのであれば止めはしませんが、まずは本記事で解説するハイレベルなプロセスからの学びをお勧めします。

システム開発の主要ライフサイクルプロセスとは?

IPAの定義する主ライフサイクルは以下です。

この要素を分かり易くかみ砕くと、左から右に時間軸が流れていると仮定し、下段の企画、開発、運用の流れと並行し、契約や契約変更のプロセスが流れていますよと言っています。

もーと分かり易く図解すると以下です。(以下の図では、そのIPAのプロセス図を本記事で解説する独自の区分けにしています。独自と言っても、どちらかたというと社内SEの現場では下段のプロセスの方がかなり一般的によく見かけます。それに、使っています。

このシステム開発のプロセスだと大分なじみのある工程名称や並びでピンとくるのではないでしょうか。

システム開発の各工程(プロセス)の概要

以下図を元にそれぞれのプロセスは、どんなプロセスなのかを解説していきます。

企画プロセス

事業施策・戦略に基づき事業・システムの企画を実施します。この工程では、業務が主役となり、システム開発に必要な業務改善やビジネスプランを検討する段階です。

社内SEの場合、基本はビジネスユーザーからの企画を受け取る側になります。しかし、近年はITのビジネス貢献度の拡大により、業務ユーザーしか企画しないという働き方ではなくなってきており、社内SEがどんどん企画にチャレンジする時代に突入していると感じます。

要求定義プロセス

事業企画に基づき、システム要求を整理していきます。この際に、ポイントは、システム要求のみならず、業務改善・ビジネス変更に必要なシステムに関係のない要件も一旦洗い出す点です。

良くある失敗に、システム開発のプロジェクトはシステムを作れば全て解決すると間違えて理解されるケースがあります。

あくまでシステムは、業務改善・ビジネス施策の一部分を担うものです。

契約プロセス

システム化の検討と並行し、必要ベンダーと秘密保持契約や基本契約の準備をします。契約に関しては、【システム開発の契約3種3形態を正しく把握しよう】の記事で詳しく解説しています。

契約変更管理プロセス

取り決められた契約もプロジェクトの状況により変更が必要です。その場合には、契約変更を実施するプロセスが必要になります。

要件定義プロセス

業務要件に基づき、システム化の要件を洗い出すフェーズです。ここがシステム開発でもっとも重要なプロセスになります。

このプロセスでは、業務から頂いた要件を実際のシステム化の要件に固めるだけではなく、システム開発プロジェクト全体のプランニングする工程としても重要です。

以下の記事で要件定義の進め方を解説していきます。

開発プロセス

社内SE・情シスにとって、システム開発プロセスは、ベンダーの作成する成果物のレビューやスケジュール・進捗管理を行います。要件定義で定めた要件次項に基づき、その機能を基本設計→詳細設計とすすめ、ベンダー(内制の場合もあり)に実際にコーディングをしていただきます。

テストプロセス

ベンダー・社内SE・業務それぞれの観点で定められた要件に基づきテストを実施し品質を確認します。

一言にテストと言っても、実際には、テストも様々な種類が存在します。

・単体テスト(UT:Unit Test)
・内部結合テスト
・外部結合テスト(CT:Combined Test)
・システムテスト(ST:System Test)
・インフラテスト
・性能テスト
・運用テスト
・受入テスト(UAT: User Acceptance Test)

それぞれの、テストで目的が違います。それぞれのテストで担保すべき観点を理解し進める必要があります。各テストの詳細は以下の記事で詳しく解説しています。

保守・運用プロセス

出来上がったシステムを業務で活用するために、日々のメンテや障害時の対応等を役割を決め実施します。

システム開発工程(プロセス)を事例で解説

プロセスの定義は分かったけど、まだそれぞれの工程で具体的に何をするのかいまいちわからないなーという方の為に、【ごみ収集】業者がシステム開発をする場合を例に更に詳しく各プロセスでどんな活動や議論が行われるのかを解説します。

例は、【ごみ収集手配をネットで予約できるシステム構築】です。

企画プロセス

ビジネス・業務視点でお客様の課題、解決したい事を洗い出します。

ここでは、起案部門により、解決したい課題の特定をします。ここでの解決したい課題は、
夏場のごみ問題:
家庭からゴミ回収地点に置かれるごみの回収がすぐに出来ない場合、夏の暑さで不快なにおいを発生させ地域住民にも改修する作業員にも衛生上よくない
とします。

要求プロセス

ビジネスで解決したい課題を特定出来たら、具体的にその課題をどう解決したいか、要求を整理します。

要求事項の例は
・家庭で主婦の方が、手軽にスマホからごみ回収を予約してゴミ回収に来てもらえるようにしたい。(このサンプルでは、コスト・売上度外視とします)
・ごみ回収担当が、リアルタイムにごみ回収依頼をナビで受け取り回収できるようにしたい。

と仮定します。

要件定義プロセス

要件定義プロセスでは、上記の要求をどうシステム要件に落とし込んでいくかを検討します。

要求を元に検討した要件は以下です。

ユーザー目線:  ①スマホでごみ回収を予約・確認・キャンセルできるアプリ開発
ごみ回収業務目線:②ごみ回収車のナビに予約ルートが連動するナビ
         ③ごみ回収に向かう事を通知する端末・仕組み
         ④ごみ回収のTATや生産性を管理・レポート機能

契約プロセス

どの時点からSIerに依頼しプロジェクト支援をしてもらうのか?は企業文化やプロジェクトのサイズ、社内リソースの状況により様々です。

この例では、要件定義まで自社で実施し、システムの構築からSIerに依頼する例とします。上記で決定されたシステム要件ををSierに提示し、見積と契約書を入手します。その後社内でしかるべき承認プロセスを経て契約しSierとのシステム開発に移ります。

開発プロセス

上記システム要件に基づき①~④の開発を実施します。パッケージ導入であればその導入を行います。

契約変更プロセス

開発期間中やテスト期間中に、契約変更が必要な状況に陥る場合があります。この例では、テストを実施している際に③ごみ回収に向かう事を通知する端末・仕組みの機能で当初は清掃員運転する車のナビに通知する仕様のみ検討していました。

しかし、テストの過程で清掃員のスマホにも通知してもらった方が利便性が高いことがわかりました。清掃員は、2名体制で活動をしており、場合によっては2名とも運転席を離れ積み込みを実施している場合があり、その際でも通知を感知する為です(全て妄想です)。

テストプロセス

出来上がった仕組をシステム目線と業務の目線(ユーザー含む)でそれぞれテストしていきます。システム開発のテストには、以下の様に様々な目的のテストが存在し、それぞれの目的に沿った内容をテストを実施していきます。

運用保守プロセス

一連のテストが完了後、システムをリリースし実際の業務でシステムを活用していきます。システム開発期間中はプロジェクトチームで企画~テストを実施しますが、リリースが運用が安定次第既存の運用保守チームに運用保守を引き継ぎます。

2-2 システム開発の全体の流れ・工程の理解で手探り感を解消しようまとめ

本記事で登場したシステム開発の工程(プロセス)は以下です。

・企画プロセス
・要求定義プロセス
・要件定義プロセス
・開発プロセス
・テストプロセス
・保守・運用プロセス
・契約プロセス
・変更合意プロセス

上記のプロセスの概要をまずは理解し、その上で本サイトで解説する各プロセスの具体的な説明に移行しましょう。

システム開発の進め方は以下の一覧

システム開発基礎ガイド 全体像
2-1 システム開発とは何か?
2-2 システム開発の工程全体像
2-3 Sier SE/社内SEの違い
2-4 必ず理解したい契約のイロハ
2-5 面倒な見積もりの時短方法
システム要件定義の進め方とは?【完全初心者ガイド】社内SE必見
2-6 要件定義の進め方
2-7システム開発の落とし穴
2-8 システム開発の成果物
2-9 WBSを上手く書こう
Poc無茶ぶりすぎる。PoC(概念検証)プロセスの進め方とは?
2-10 PoCとは何か?
2-11 PoC死の回避方法
FacebookのPoC(Proof of Concept)失敗事例で学ぶ本質とは?
2-12 PoCの失敗事例
2-13 便利なPoCチェックリスト
2-14 システム開発テスト全体像
2-15 テスト観点の考え方
2-16 移行計画の立て方
2-17 おすすめ書籍22冊

タイトルとURLをコピーしました