今回の記事では、実際に1次請けSIerで働いた時の1日を開発工程単位でどんな感じなのかを書いてみます。
一次請け(元請け)のSIerってどんなところがあるんだろう?を知りたいという方は、以下の記事を参考にしてみてください。
1次請けは大手SIerであることがほとんどです。そして、自分はSIerに行くのであれば1次請け企業への就職を絶対的に推奨しています。
その理由はこちらの記事で説明しています。
今回は、SIerの中でも開発する人の仕事内容になります。営業ではないのでご注意を。
SIerのキャリアパスについて全体的に知りたい人は以下の記事を参考にしてみてください。
開発のなかでもプロジェクトマネージャとしてのキャリアを目指す中堅社員の一日として見てみてください。
ということで、本題にうつっていきます。
SIerの開発工程を理解する
まずは、SIerが顧客のシステムを開発するときによく使われる「ウォーターフォール型」開発をベースにこの記事の説明を進めていきますので、知らない方は以下の記事をまずは読んでみてください。
上図のようにSIerが顧客のシステム開発を受託する場合には、
・要件定義
・基本設計
・詳細設計
・製造・単体テスト
・結合テスト
・総合テスト
というように順に開発していくことになります。
抑えておきたいウォーターフォール開発の特徴は、前の工程で決めたことに対して原則後戻りしないことを前提としてることです。
これを頭の片隅においてここからの文章を読んでいただければと思います。
要件定義
案件を受注したSIerは、まず要件定義の工程から顧客のシステム開発をスタートするのですが、そこで使用する情報は、提案活動時に顧客が作成しているRFP(request for proposal)です。
ここには、顧客がシステムを導入する前後の業務フローを始めとし、どういうことを実現したいかの情報が記載されています。
とはいえ、まだ大枠であったり、その業務フローが不十分であったりすることが多々あります。
設計に入る前に、どう実現するかをRFPの記載よりも詳細なレベルで、顧客と調整の上決めていく必要があります。
要件定義は少人数で行います。
1次請けSIerのメンバを中心に、後の工程で業務知識を備えつつ設計をリードしてもらうための経験者を2次請けSIer企業と契約することが多いです。
1次請けSIerの開発メンバは、要件定義で整理する内容を整理していく役割を担います。この工程で顧客と合意しなければならない事項は何で、どれくらいあるのか。
その進捗管理および、顧客都合で決定できない事項などの分類などをリードします。
また、2次請けSIerの方々と同じ役割で、1次請けSIerのメンバも、整理対象の事項について、資料作成なども行います。
ここらへんの役割はプロジェクトの規模によって変わってきますね。
小さいプロジェクトの場合は、進捗管理や未決定事項の整理は中堅社員がやることが多いですし、規模が大きくなると管理職の役割になります。
なので中堅社員の一日はこんな感じになります。(あくまでも例)
AM:振られている事項の資料作成
PM①:作成した資料を使って顧客との認識合わせ
PM②:資料修正&進捗報告
基本設計
要件定義で決定した内容を元に、機能設計を行っていきます。
中堅社員の場合、プロジェクトマネージャのようなキャリアを志向している人は、チームリーダにアサインされることが多いです。
ある程度の規模になると、システムの役割単位にチームを作ります。
例えば、料金を請求するようなシステムだと、顧客情報を登録する機能群と、料金を計算する機能群と、料金を請求する機能群とに分けたりすることがあります。(もちろんもっと複雑なのですが、今回は簡易に。)
あるチームのチームリーダになった中堅社員は、
・基本設計で実施する内容の計画作成
・その進捗管理・報告
・設計者が直面した課題や問題に対する解決策検討
・重要な仕様に関する顧客との仕様調整
・仕様追加が発覚・発見した場合の調整
・品質分析
こういったことを担当します。
マネジメントだけやってるから気楽で良いよねーなんて言われたりする人も世の中にはいるみたいですが、それは、計画作成と進捗管理しかやっていない人なのでしょうね。
ということで、中堅社員の基本設計工程の一日ってこんな感じになります。
AM①:顧客との仕様調整準備のためのチームミーティング
AM②:仕様追加に伴う工数増加を上司へ報告
PM①:設計者が直面した課題への解決策検討
PM②:進捗整理と報告資料作成
詳細設計
基本設計の内容を、今度は設計書通りにプログラミングに落とし込めるようにするための詳細設計を行います。
といっても、チームリーダがやることって基本設計のときと大枠は変わりません。
詳細設計では、基本設計の仕事内容に加えて、次工程である製造に向けた開発環境の整理と開発方法の整理を並行して進める必要があります。
これらをチームリーダ間でどうすべきかを考えつつ、整備していくことが多いですね。
中堅社員の詳細設計工程の一日の例は、
AM①:設計中に発覚した仕様不備に対する仕様追加のチームミーティング
AM②:上記を顧客と調整
PM①:開発環境の整理資料作成
PM②:品質分析
PM③:進捗整理と報告資料作成
製造・単体テスト
この工程でもまだまだ進捗管理が続きます。
と同時に、テストをしてバグは発生して…というループに入っていきますので、このサイクルを回していくことが中堅社員の仕事になります。
もちろん、バグは発生すべきなのですが、開発の期間が決まっていますので、バグの傾向を把握しつつ、大きな問題は潜在している場合には早急に手を打っていく必要があります。
バグが発生しまくって、開発期間内に終わりません…みたいな状態になっては困りますからね。
また、SIerでは、プログラミングは1次請けのメンバは行わず、アウトソーシングしていることがほとんどです。
そのため、アウトソーシング先の疑問点だったりをヒアリングして、開発を進めていくにあたってどこに弱みがあるのか、ということも同時に把握していくことが求められます。
また、顧客の環境で開発する際には、顧客側の開発ルールが存在していることが多いです。
この場合、責任を持って製造やテストをしていくにはどのようなルールにするのが最適なのか、詳細設計工程で検討していた内容をブラッシュアップしていくことも仕事の一つです。
ということで、製造・単体テストの一日の例はこんな感じになります。
AM①:前日のバグの内容確認
AM②:対応優先度の決定
PM①:アウトソーシング先の疑問点のケア・傾向把握
PM②:傾向把握の上、チームミーティング
PM③:進捗確認
結合テスト
結合テストでは、製造・単体テスト工程と大枠は同様ですが、以下の特徴があります。
・基本設計工程の内容のチェックに該当するため、大きな仕様変更の可能性が潜在している可能性が高い。
・結合テストのシナリオを検討する必要がある
中堅社員の役割は、結合テストの中で発見したバグが、仕様変更を必要とする場合、どう顧客や上司と調整していくかをひたすら考えていく必要があります。
この仕事が発生してしまうのは、冒頭に記載した、ウォーターフォールの開発の特徴(前の工程で決めたことに対して原則後戻りしないことを前提としてる)に依るからです。
仕様変更によって、設計内容の調整だけでなく、期限の調整や優先度の再設定など、調整事項は多岐に渡ります。
これをロジカルに整理していかなければなりません。
結合テストの一日の例はこんな感じになります。
AM①:前日のバグの内容確認
AM②:対応優先度の決定
PM①:仕様変更が必要なものへの設計検討でチームミーティング
PM②:検討内容を基に、スケジュール再設定と調整方法検討
PM③:上司と顧客調整
PM④:進捗確認
うーん、仕事多いですなぁ。
過去、新規開発してきたプロジェクトの中では、結合テスト中にだいたい忙しかったですね。
総合テスト
リリース前の最終確認ですね。
総合テストの工程では、顧客側が主導することが多いです。
顧客の実際の業務に基づいて、システムを動かしてみる。そこでバグを見つけた場合には、早急に対応していくことになります。
まあ、この工程で定時に帰れることはまずないですね。最終追い込みって感じです笑
また、顧客のシステムであれば24時間動作するシステムであることが多いので、夜中担当する人と朝担当する人、昼担当する人みたいに、シフトで対応することもしばしば。
ここでの一日、というのは、もはや顧客のテストを見守りつつ、バグが出たら優先度をつけて設計者や製造者に指示を出しまくる。
そんな感じになります笑
中堅社員はわりと忙しい
上記のスケジュール例を見てみると、やることたくさんあるんですよね…笑
難易度の低いプロジェクトや、リソース配分が適切なプロジェクトであれば、毎日定時で帰宅できたりしますが、
初めての顧客だったり、全くの新規開発だったりすると、ほぼほぼトラブルや仕様変更などが発生します。
その頻度が高くなればなるほど忙しくなり、逆に言うと、それをそれだけ抑制できるかが中堅社員のプロジェクトマネージャに求められることでもあるかなと思います。
基本的には開発が進むにつれて忙しさも比例して増していく印象があります。
あとは、各工程の終盤も割と忙しくなりがちで、逆に各工程の最初は定時で帰宅できる日がまあまああるかなと思います。
まったり系な社会人生活を謳歌したい人にとっては、もしかすると残念な情報だったかもしれません笑
一般的な開発はこんな感じで結構忙し目なところが多いのですが、まあ部署によってはまったりなところもありますね笑
さて、冒頭でも書きましたが、最後にもこのサイトの他に記事で参考になりそうなものを再掲して終わりたいと思います。
▼一次請け(元請け)のSIerってどんなところがあるんだろう?を知りたいという方
▼SIerに行くのであれば1次請けSIerへ
▼SIerのキャリアパスについて全体的に知りたい人
今回はこんなところで。それでは。
この記事へのコメントはありません。