SEについて
Profile
つまり
ITコンサルでもあり SEでもある
みたいなポジションの人間が話します。
そもそもSEとは
SE(システムエンジニア)
お客さんから
「こんなシステムを作って欲しいんだけど!」
と言われてシステムを作る人
SEの仕事概要 - 建築と比較してみる
-
建築
-
どんな家が欲しいかオーダーを受ける
お客さんからどんな家が欲しいかヒアリングしてまとめる。
-
設計図を作る
オーダーをもとに設計図を作る。
-
建築する
設計図をもとに実際に家を建てる。
SEの仕事詳細 - もう少し掘り下げてみる
SEの仕事詳細 - 「要件定義」
すること
どんなシステムを作るかヒアリング、スコープ(システム化範囲/作成機能など)を明確に
- 平たく言うと、「何を作るか明確にする」フェーズです。
- RFPがあればそれを基にすればよし。無ければお客さんと詰める。(要求定義/RFPはお客さん側の仕事, SEは要件定義をする)
- このフェーズでは、打合せが主です。
- なので上流SEには、「コミュニケーション能力」「リーディング能力」「業務知識」が必要ですマジで
- その業界/業務の知識がある程度無いと、お客さんが何喋ってるのか不明だったり...要件の撃ち漏らしが多く発生してデスマになったり...
- コストと期間を勘案して、システム化しない所は「しない」って決めることも大事
- このフェーズが本当に大事。要件定義がダメダメだと、後の工程(設計開発以降)でデスマ & 結局使われないシステムになっちゃう
作るもの(アウトプット)
要件定義書
- システム概要 / 業務フロー / 機能一覧(画面/バッチ処理) / 非機能要件 についてまとめたドキュメント
- SEはこんなものを作ります、という宣言書
SEの仕事詳細 - 「設計」
すること
プログラマが開発できるように、要件定義の各機能を満たすような
画面/バッチロジックを設計する
- 要件のレベルでは「あやふや」過ぎて、開発とのギャップがすごすぎるんです
- そのギャップを埋める(=具体化する&認識齟齬を無くす)ために設計書を作成します
作るもの(アウトプット)
基本設計書(外部設計書)(概要設計書)
- 各画面の画面レイアウト/画面イベントなどを定義する
詳細設計書(内部設計書)
- 各画面の画面項目、データソースなどを定義する
- バッチロジックの具体的な処理ロジック、入力/出力項目などを定義する
- テーブル定義書を作成する
SEの仕事詳細 - 「開発」
すること
設計書をもとに、実際に動くアプリケーションを作成する
- ここが全工程で一番時間がかかります
- 時間がかかる割にお金はあんまりもらえません
- 多重下請け構造の下層の人たちが担当すること多し
作るもの(アウトプット)
ソースコード
- 後述のテストを経てリリースするまでは、実行可能形式でwrapせずにソースコードのまま(が多い)
- 「開発」工程といっても、現実は開発&単体テストとなることが多いため、エビデンスもアウトプットに含まれる(ことが多い)
開発の後は?
テストが続きます
- ウォーターフォール型に則って、要件定義や設計と対になるテスト行います
SEの仕事詳細 - 「ウォーターフォールモデル」
SE業界の課題
SE業界の課題 - 現在の課題 - 人材不足系
SE業界の課題 - 「人材不足」
課題と原因
課題
IT業界全体で圧倒的な人材不足の予想
- 経済産業省の試算. 最も楽観的予想で2030年に41万人...
- ちなみに2018年でIT系人材は92万人. すでに不足は20万人程度...
- あくまでIT業界全体だが、SE業界も同じ遷移が予想される
原因
ITの適用範囲(市場規模)拡大
SE(IT)業界はブラック(3K)イメージで敬遠されがち
- 実際、プロジェクト/タイミングによってはかなりブラックなので何も言えない...
少子高齢化
IT技術進歩のスピードについていけない
(観点が違うが、そもそも人手不足なのではなく効率化できていないから試算が大きくなってしまう)
参考:経済産業省のIT人材予測
楽観シナリオで2030年には41万人不足, 悲観シナリオで2030年には79万人不足.
先端IT人材, 情報セキュリティ人材, 攻めのIT投資をリーディングする人材については特に不足が深刻とのこと
参考:経済産業省
SE業界の課題 - 「人材不足」
解決案
解決案
未開拓/手薄な人材領域からの採用 & IT人材の育成
- 女性/シニア/外国籍など
- 2020年 プログラミング必修化 など
IT業界のブラック労働環境改善
- 次の課題へ
SE業界の課題 - 「SE業界ブラックだよね...」
課題と原因
課題
SE業界は確かにブラック(長時間労働 / 低賃金)
- 私も300時間以上働いた経験があります...
- 休日出勤/終電帰りもしばしば...
- 低賃金かどうかは入った会社の請負レベルによりますが(後述)
原因
多重下請け構造による下請け業者の低賃金化(後述)
- もちろん長時間労働もセットでね!IT土方!
プロジェクトの炎上による長時間労働(後述)
納期厳守の風潮が極めて強い
- 納期直前は大体高稼働に
そのまま次の課題に進みます
SE業界の課題 - 「多重下請け構造」
課題と原因
課題
多重下請け構造による下請け低賃金化
大規模プロジェクトを受けられるメリット以外、デメリットが大きすぎる
- 強い上下関係
- 中間マージン搾取
- 伝言ゲーム
原因
日本の雇用流動性の低さ
- プロジェクト推進は、人員が大量に必要になることが多い
- しかし、日本はアメリカ等と異なり簡単に解雇ができない
- 下請けを雇うことで人員を確保, PJ終了でリリースする
参考:多重下請け構造
3次, 4次はふつう。大規模案件では7次とかもある。
ITゼネコン構造。IT土方...
下層にいるとスキルアップもできない...お給料もない...時間もない...負のスパイラルや!
参考:@IT
SE業界の課題 - 「SE業界ブラック説」
解決案
解決案(個人向け)
元請け企業に転職しよ!
解決案(全体向け)
そもそもこの構造を壊す(減らす)
- シリコンバレーではSIerは少数で多重下請け構造が無い
- アメリカは解雇制限が厳しくないので、必要に応じて調達&解雇
- アメリカ:アジャイル開発メイン, 日本: ウォーターフォールメイン ⇒ 多重下請け構造出来やすい
下層SIerの営業力強化
- 某中小SIerは、Salesforceエンジニアを育てて営業力を高めた
- ニッチだがニーズが高いエンジニアを育てる
SE業界の課題 - 「炎上プロジェクト問題」
課題と原因
プロジェクトの失敗(炎上)の原因
要件定義が不十分(スコープ設定があいまい / 要件を網羅できていない)
仕様変更のハンドルがダメダメ 仕様変更は発生してしまうものだが、無償で受け続けるとか納期調整ができないとかよくある
知識 / スキル / ビジョンの俗人化
エンジニアの技術レベルに幅がありすぎてスケジュール立て失敗しがち(後述)
業務知識の体系化が出来ておらず共有できない(後述)
ダメな営業が案件獲得のために低価格の見積もりを提示してしまう
他システム絡みの調整を後回しにしてしまう
顧客 / 各サブモジュール間で連携が取れていない(コミュニケーション不足)
ビッグバンリリースは絶対NG!!
ちゃんと握れてない / エビデンス取れてない
エンドユーザを味方につけれてない / UAT期間を長くとっていない
[論外] スケジュールを立ててない, 進捗管理を行ってない(ネットで調べたら出てきた薄い内容...参考)
SE業界の課題 - 炎上プロジェクト問題
解決案
解決案
「失敗の原因」を踏まないように!
SE業界の課題 - 「エンジニアの技術レベルに幅がありすぎる問題」
課題と原因
課題
SEの技術レベル差がすごい&その人のスキルレベルが分からない
- レベル差があると、スケジュール立てが出来ない、エンジニア間の不満(同じ賃金で生産性3倍とかザラ)などの問題が...
原因
SEの技術レベルを測る尺度が無い
- 専門職には、資格が前提になっているものもあるが、SEには無いため最低レベルも保障されない
- 医師免許, 1級建築士, 司法試験...のようなものが無い
SEは必要とされるスキルが多岐に亘る
- コミュニケーション力があってもプログラムに落とし込む能力が無い...等のケースも
10年前からやってること変わらないから向上心が...
- プログラミングの世界や基盤(クラウド)の世界は大きく変わったが、SEのメインフェーズ(要件定義~設計~テスト(開発を除く))はほぼ変わってない
SE業界の課題 - 「エンジニアの技術レベルに幅がありすぎる問題」
解決案
解決案
どうします?他の業界は資格以外でどうしてるんでしょう...
SE業界の課題 - 「業務知識の体系化ができていない問題」
課題と原因
課題
業務知識の体系化が出来ていない
- 知識の俗人化-> その人いなくなると困る
- 新人のキャッチアップが大変-> この時代に口伝とかドキュメントを漁るとか...