ログインしてより便利に! 閉じる
いまお持ちのアカウントで簡単登録
ログイン
ログインするとより便利に!
お持ちのアカウントでログイン
会員登録がお済みでない方はこちらから
ログイン
友達にメッセージを送ろう
メッセージ
  1. トップ
  2. 就活コラム
  3. 業界・企業研究
  4. 【IT業界研究】SEの仕事のプロセス
業界研究
就活コラム
2015年5月11日

【IT業界研究】SEの仕事のプロセス

IT業界は、ソフトウェア、ハードウェア、通信インフラ、インターネットなどが密接に関連し合って構成されています。

IT業界という「森」を遠くから眺めるだけでは、業界の理解は深まりません。IT業界を構成するそれぞれの「木」を一つ一つ見ていくことで、業界理解を深めていきましょう。

今回はSEの仕事のプロセスについて。


◆ウォーターフォール型開発モデルとは?

一言でシステム構築といっても様々なパターンがあるが、特に企業の基幹業務を担うような大規模なシステムについては、一般的に「ウォーターフォール型」と呼ばれる開発モデルが適用されている。

システム構築の全体作業を、大きく「要件定義」→「基本設計」→「詳細設計(システム設計)」→「システム開発」→「実装・テスト」→「運用・保守」といったプロセスに細かく分けて、順を追って進めていくというスタイルだ。

各プロセスが完了する際に、前のプロセスへの手戻りが起こらないように、あらかじめ定められたアウトプットの要件や品質を満たしているか、綿密なチェックを行う。水路の途中にあるタンクを満たしながら水が上から下へと流れ落ちていくように開発が進んでいくことから、ウォーターフォール型と呼ばれるようになった。

なお、先に挙げたプロセスのうち要件定義から基本設計までのプロセスは、商談の過程で行われることも多い。システムの仕様が決まらないことには、価格も納期も決まらないからだ。そして、一般的にこの基本設計までの工程を「上流工程」、詳細設計からあとの工程を「下流工程」と呼んでいる。

また、こうした上流から下流までの工程をスムーズかつ確実に進めていくため、システム構築を請け負う会社は、プロジェクトチームを編成する。プロジェクト全体を統括管理するプロジェクトマネージャー、その補佐役として開発現場で指揮を取るサブリーダー、実際の開発作業にあたるSEやプログラマーなどで構成されるもので、システムの規模が大きくなればなるほどプロジェクトチームも大所帯になる。

場合によっては、SEだけでも数十人といった体制になることもある。


◆ウォーターフォール型システム構築の各プロセス

ウォーターフォール型システム構築の各プロセスで、実際にどんな仕事が行われるのかを見てみよう。

①要件定義
まず、新規システムの発注側であるクライアント企業の担当者と、システム開発を請け負う側の上級SEの共同作業によって、実現すべきコンピューターシステムの企画・立案作業に入る。クライアント企業の業務内容について詳細に聞き取りするのはもちろん、構築するシステム概要がその時点での市場動向や技術動向にも左右される点を相互に確認する。また、クライアント企業の要望をただ受け入れるだけでなく、独自の判断で先方企業に潜在するシステムニーズを探り当て、新たに提案するプロフェッショナルとしての視点が必要だ。ソフトウェア、ハードウェアともに競合する各社製品を調査・分析・比較し、付加価値の高いシステムを立案する。

②基本設計
システムの仕様を決定する重要なステップである。より詳細な業務内容の調査・分析を行い、ユーザー企業の課題解決を具体化するシステム仕様を作成する。この段階で明確にしておくべき事柄は「システム構築の目的」「システムの性能設定」「ソフト・ハードの機器構成」「ネットワーク構成」「異常時、故障時のバックアップ」などである。また、この段階で先方が要求するシステム性能と予算とのすり合せをきちんと行い、コストを管理することもプロジェクトマネージャーの重要な仕事である。

③詳細設計(システム設計)
策定されたシステム仕様を実現するためのシステム構成(基本的な構造およびそれを実現するハードウェア、ソフトウェアなど)を決定し、具体的な要求仕様、実現方式についても最終結論を下す。そのうえで、システム設計書を制作する。

④システム開発
システム設計書に基づいてソフトウェア開発を行う。この段階では多くのプログラマーが、多数に分割されたモジュール単位でソフトウェア開発に従事するため、工程全体の人的・時間的・コスト的マネージメントを行うプロジェクトマネージャーの力量が問われる。

⑤実装・テスト
完成したシステムをユーザー企業のデータセンターやマシンルーム、あるいは契約しているクラウド環境に実装し、仕様どおりに動作するかテストを行う。この結果をもって、クライアント企業に対するシステムの品質証明とするためとくに重要だ。個々の部品レベルから、システム全体レベルに至るまで、ユーザー企業の要求仕様を満たしているか入念にチェックする。

⑥運用・保守
完成したシステムを引き渡してからも、その運用や保守に関する業務全般をSIベンダーが一貫してサポートすることもよくある。大手金融機関や通信キャリアなどでは、システム構築にあたったSIベンダーのエンジニアがそのままユーザー企業に常駐し、運用・保守を担当するケースも多い。

現在の多くのシステムには、グローバル化やインターネット化に対応するため二四時間三六五日のノンストップ稼働が要求されている。裏を返せば、トラブルや故障などによってシステムが停止することは、ビジネスや顧客に対するサービスが停止し、甚大な被害を招いてしまうことを意味するのだ。また、仮想化やクラウドといった新しい技術の普及により、従来システムとのハイブリッド化や新システムへの移行など、運用最適化に向けた課題はますます高度化している。

こうしたことからSIベンダーが運用設計、運用支援、予防保守、ヘルプデスクといった総合的なサービスメニューを提供し、システムの運用管理を支えるのである。近年ではITの領域にとどまらず、システムを使って行われる実業務のオペレーションまで領域を拡大して丸ごと受託し、システムの安定稼働や高度利用をサポートするケースも増えている。さらに、SIベンダーはこうしたユーザー企業との長期的な取引を通じて、ユーザー企業のビジネスの現状やニーズをより深く理解し、新たな機能の追加や性能改善などの提案を行う。


◆システム構築における若手SEの役割

入社してからまだ数年といった若手SEは理系や文系の出身に関係なく、ほとんどの場合システム開発や運用・保守といった下流工程の担当になる。

先輩SEとともに要件定義や基本設計などの上流工程に加わって、システム構築の最初のステップから活躍したいのに、こんなことを続けていて自分は本当にSEになれるのだろうかと、悩みを抱える若手SEは少なくない。

結論から言うと、一人前のSEに育て上げるために必要なことだからこそ、会社は新人SEにシステム開発や運用・保守の仕事を経験させている。本当はプログラマーが欲しかったところをSEとだまして採用したわけではなく、人手が足りないからといった理由で運用・保守を任せているわけでもない。

絶対条件とまでは言わないが、「プログラマーや運用・保守の経験を積んでSEになる」というのは、ステップアップにおける自然な道筋なのだ。そもそも、なぜSEにプログラミングや運用・保守の経験が必要なのだろうか。

例えば、システム構築のスケジュールを立てることを考えてみよう。

システムの処理内容や規模は様々であるため、的確なスケジュールを立てることは非常に難しい。しかし、実際にプログラミングに携わってきたSEならば、基本設計書に示された仕様からシステムの難易度や課題を経験的に判断し、プロジェクトに必要なメンバーの人数やスキル、期間などを見積もることができる。

顧客先でパッチ(修正プログラム)のインストールやメンテナンス作業など、運用・保守の補助ばかりやらされているといったケースも同様だ。会社は、構築したシステムが実際にどのように使われるのかを覚えさせるために、新人SEに現場を経験させているのである。

また、システムはいったん構築したらそれで終わりというわけではない。新たなニーズや課題に対応するために、機能の改善や拡張を繰り返しながらより良いシステムへと発展させていく。顧客先のシステム運用を担当するということは、言い換えれば、そうしたビジネスの場面に関わっていくことでもある。

当然、様々なトラブルに直面したり、ユーザー企業の担当者からクレームを突きつけられたりといったこともあるだろう。だが、これこそがシステム構築の生の姿である。先輩SEがこれらの問題にどのように対処し、新たなシステムの提案に生かすのかをしっかり見て学びとってほしい。


◆ニーズが高まるアジャイル型システム構築

ここまで主に焦点を置いてきたウォーターフォール型システム構築の基本的な考え方は、「要件定義で策定された仕様は漏れがなく、その後のプロセスが正しく進んでいく」ことを前提とする。

もちろん、実際にはこの理想のようには上手くいかず、手戻りが発生することも多々あるのだが、とりあえずはこの前提を忠実に守ることで、システムはプロジェクトの開始時点で策定した要求仕様を実装し、その仕様をすべて満たした時点で完成とすることができる。

しかしながら近年、ウォーターフォール型では対応しきれないシステム構築が増えてきている。

かつてのIT投資の多くは既存業務を効率化することを目的としていたが、現在では新しいビジネスを開拓するためにITを活用したいといった方向にユーザー企業のニーズがシフトしているのである。

そうした中では定義すべき要件そのものが手探りとなる。また、ビジネスを取り巻く状況や市場はどんどん変化していくため、それにあわせてシステムの仕様も柔軟に見直していかなければならない。ようするに〝試行錯誤〟を前提としたシステム構築が求められるのである。

そこで注目されているのが、「アジャイル型」と呼ばれるシステム構築の新しいスタイルだ。アジャイルには「素早い」「俊敏な」といった意味があり、短期間のうちに計画、設計、実装、テストのサイクルを繰り返す「イテレーション」(反復)を重ね、システムをブラッシュアップしていく。

このようなシステム構築の進め方を採用することで、実際に「動くソフトウェア」を用いてビジネス現場から操作面に関するフィードバックを得たり、性能面などの問題を評価したりすることができる。すなわち、ビジネスニーズに即したソフトウェアをより低リスクで開発することを目指した開発手法である。

基本的な考え方としては、様々な経営施策の管理手法として日本企業でもよく用いられているPDCA(計画、実行、評価、改善)サイクルとも類似している。具体的には、次のようなステップを通じてシステム構築が進められケースが多い。

ステップ①:
ユーザー企業とSIベンダー(またはソフトウェア開発会社)の双方から少数精鋭のメンバーを選抜し、共同開発チームを作る。なお、構築するシステムの規模によっては同時に複数のチームを立ち上げることもある。

ステップ②:
システムの開発範囲をいくつもの小さな機能やサービスのブロックに区分する。各ブロックは、2週間程度で開発できることを目安とする。そしてビジネス上の優先度を考慮し、どのブロックから開発に着手するかを決める。

ステップ③:
2週間程度の期間内で、開発する機能やサービスの要求仕様の決定、プログラミング、実装、テスト、修正、リリース(ユーザーへの公開)をスピーディーに行う。

ステップ④:
リリースした機能やサービスの実業務での効果を評価するほか、残っている業務プロセスの範囲を検討し、次に優先して着手すべきブロックを決める。


前記の②から④のステップを何度も繰り返しながら開発や改善を進め、システム全体の成熟度を高めていくわけだ。

例えばウェブビジネスにおいては、市場の変化に柔軟に対応しながら販売サイトやソーシャルメディアなどのシステムやサービスを迅速に提供していく必要があり、アジャイル型システム構築は、ますます高い割合で採用されていくようになると考えられる。

ただ、現状ではそのノウハウはSIベンダーやソフトウェア開発会社の中にもまだ十分には蓄積されておらず、ソフトウェア技術者の「独学」に頼っているのが実情だ。体系立てた研修や人材育成の体制を確立することが急がれる。


【就活の業界研究】IT業界まとめに戻る方はこちら

ご案内

本コンテンツの多くは、産学社の協力の元、産業と会社研究シリーズ「IT・ソフトウェア」という書籍の一部を掲載する形で作成しています。

産業と会社研究シリーズ_IT

◆産業と会社研究シリーズについて
就職戦線を戦い抜き、内定の栄冠を勝ち得るには「業界研究」と「企業研究」が欠かせません。本シリーズは業界研究書のトップブランド。

創刊以来、常に就職学生の皆さんに業界のしくみ・最新事情をわかりやすく解説し、しかも各企業の人事部から発信される「採用データ」「欲しい学生のタイプ」などホンネに迫る情報を提供してきました。

各巻の巻末に掲載する「企業データ」は各社の人事部に直接回答してもらっているもの。 初任給・賞与等の待遇その他も一目で比較することができます。

全国の主要書店・大学生協で販売中。
Amazonで注文される方はこちら


ジョブウェブお勧めコンテンツのご紹介

◆1. コラムまとめページ
ジョブウェブ社員が作成しているコラム全てをまとめたページです。全てのコラムは3分もあれば読める分量となっています。通学時やお昼休みなど、ちょっとした空き時間に気軽にご覧ください。

◆2. 【就活の業界研究】IT業界編
IT業界の業界研究に関するコラムだけをまとめたページです。

◆3. 就活攻略
博報堂、P&G、三菱商事、マッキンゼー、リクルート、トヨタなどの人気企業200社以上の内定者による内定獲得までのストーリーを公開しています。インターン選考情報から、エントリーシート情報、選考情報までが網羅されています。「就活攻略」は会員限定 の情報が多く含まれるため、事前の会員登録をお勧めします。

人がいいね!と言っています。
コメント
コメントはまだありません。
ログインすると、コメントを入力できます
Jobwebに会員登録すると、コメントを入力できます。
関連する記事