SEについて

自己紹介

河村 英幸

  • 出身:静岡県
  • 生年月日:1991年2月22日
  • 趣味: カメラ / バイク / 旅行
  • SE業界歴:5年9ヶ月(4年半SE, 1年3カ月コンサル(現在))
  • 得意分野:フロントリッチなWebアプリ開発(のPJ推進)
  • 資格:基本情報技術者 / 応用情報技術者 / ネットワークスペシャリスト / 情報セキュリティスペシャリスト(情報安全確保支援士)

Profile

Future Architect

  • 主な業務
    ITコンサル/SI
  • 他のITコンサルとの違い
    技術に魂込めてる
    コンサルフェーズ以降の要件定義~設計/開発/テスト~運用保守 全部やる
  • 他のSIerとの違い:
    フットワーク軽い
    PJ期間が短い
    社内IT部門がちゃんとしてる 効率化とか

つまり

ITコンサルでもあり SEでもある

みたいなポジションの人間が話します。

-->

そもそもSEとは

そもそもSEとは

SE(システムエンジニア)

お客さんから
「こんなシステムを作って欲しいんだけど!」
と言われてシステムを作る人

SEの仕事概要 - 建築と比較してみる


  • 建築

  • どんな家が欲しいかオーダーを受ける

    お客さんからどんな家が欲しいかヒアリングしてまとめる。

  • 設計図を作る

    オーダーをもとに設計図を作る。

  • 建築する

    設計図をもとに実際に家を建てる。

SEの仕事詳細 - もう少し掘り下げてみる

SEの仕事詳細 - 「要件定義」

すること

どんなシステムを作るかヒアリング、スコープ(システム化範囲/作成機能など)を明確に

  • 平たく言うと、「何を作るか明確にする」フェーズです。
  • RFPがあればそれを基にすればよし。無ければお客さんと詰める。(要求定義/RFPはお客さん側の仕事, SEは要件定義をする)
  • このフェーズでは、打合せが主です。
  • なので上流SEには、「コミュニケーション能力」「リーディング能力」「業務知識」が必要ですマジで
  • その業界/業務の知識がある程度無いと、お客さんが何喋ってるのか不明だったり...要件の撃ち漏らしが多く発生してデスマになったり...
  • コストと期間を勘案して、システム化しない所は「しない」って決めることも大事
  • このフェーズが本当に大事。要件定義がダメダメだと、後の工程(設計開発以降)でデスマ & 結局使われないシステムになっちゃう

作るもの(アウトプット)

要件定義書

  • システム概要 / 業務フロー / 機能一覧(画面/バッチ処理) / 非機能要件 についてまとめたドキュメント
  • SEはこんなものを作ります、という宣言書

SEの仕事詳細 - 「設計」

すること

プログラマが開発できるように、要件定義の各機能を満たすような
画面/バッチロジックを設計する

  • 要件のレベルでは「あやふや」過ぎて、開発とのギャップがすごすぎるんです
  • そのギャップを埋める(=具体化する&認識齟齬を無くす)ために設計書を作成します

作るもの(アウトプット)

基本設計書(外部設計書)(概要設計書)

  • 各画面の画面レイアウト/画面イベントなどを定義する

詳細設計書(内部設計書)

  • 各画面の画面項目、データソースなどを定義する
  • バッチロジックの具体的な処理ロジック、入力/出力項目などを定義する
  • テーブル定義書を作成する

SEの仕事詳細 - 「開発」

すること

設計書をもとに、実際に動くアプリケーションを作成する

  • ここが全工程で一番時間がかかります
  • 時間がかかる割にお金はあんまりもらえません
  • 多重下請け構造の下層の人たちが担当すること多し

作るもの(アウトプット)

ソースコード

  • 後述のテストを経てリリースするまでは、実行可能形式でwrapせずにソースコードのまま(が多い)
  • 「開発」工程といっても、現実は開発&単体テストとなることが多いため、エビデンスもアウトプットに含まれる(ことが多い)

開発の後は?

テストが続きます

  • ウォーターフォール型に則って、要件定義や設計と対になるテスト行います

SEの仕事詳細 - 「ウォーターフォールモデル」

IT業界図とSEのポジション

IT業界図とSEのポジション

SEはここ!

Web業界

概要

Webアプリ開発/スマホアプリ開発/HP制作/Webマーケティングなどを行う業界

職業

  • フロントエンドエンジニア
  • バックエンドエンジニア
  • Webデザイナー
  • コーダー
  • Webマーケター
  • ディレクター

特徴

  • BtoCが多い
  • 先端技術をバシバシ使う
  • 楽しそう, だけど結構辛いこと多し
  • SIerより薄給で労働時間同じくらい
  • デザインセンスが必要なこと多し
  • 直接ユーザの目に触れる
  • 完璧で大きなものを作るのではなく、それなりに動いて小さなものを作って、それをブラッシュアップしていくスタイルが多い
  • だからアジャイル開発が肌に合う

情報処理サービス業界

概要

ITシステムを企業に構築するシステムインテグレーター(SI)業界

職業

  • ITコンサル
  • SIer(SE)
  • (プログラマ)

特徴

  • BtoBオンリー
  • SESもこの業界
  • 企業にITシステムを導入するため、コンサル~要件定義~設計~開発~テスト~保守運用までを請け負う
  • 企業の成り立ちによって3系統ある
  • メーカ系(企業の子会社)/ユーザー系(IT以外の情報部門を独立)/独立系(その他)

ソフトウェア業界

概要

OSや、OS上で動くアプリケーション(Excel, OracleDB, 会計ソフトetc)、ゲームソフトなどの開発を行う業界

職業

  • SE(社内SE)
  • (プログラマ)

特徴

  • BtoBもBtoCも存在
  • あんまりよく存在が分からないです...
  • ゲーム会社以外は、スケジュールのコントロールとか容易なはずなので割と安泰?

ハードウェア業界

概要

家電, POS, 工業用機械, ATM, カーナビ(GoogleMapじゃないよ), カメラ, ゲーム機(PS4とか)などの、PCやスマホじゃないハードウェアへのアプリケーションを構築する業界

職業

  • SE(社内SE)
  • (プログラマ)

特徴

  • BtoBもBtoCも存在
  • 開発フェーズは異なるけど、それ以外のフローは普通のSEと変わらない
  • 古い言語が多い. でも高速かつ極小のメモリ上で安全に動くように作らないといけない
  • 最近は、小型端末にAndroidがのることもあったりするので、普通のエンジニアでも開発できるかも
  • IoT時代の今、かなりニーズが高まっていくはず

情報通信業界

概要

通信インフラ(ネットワーク本体やプロパイダなど)を構築する業界

職業

  • SE(社内SE)

特徴

  • BtoBもBtoCも存在
  • 他の業界とは毛色が違いますね. 載せるか悩みましたが一般的に含めるらしいんで.
  • NTTドコモ, ソフトバンクモバイル, KDDI, IIJなどの企業が該当
  • Web業界

  • 情報処理サービス業界

  • ソフトウェア業界

  • ハードウェア業界

  • 情報通信業界

SE業界の課題

SE業界の課題

SE業界の課題 - 現在の課題 - 人材不足系

  • エンジニアの技術レベルに幅がありすぎる問題

    技術尺度が無い&スキル担保する資格もない
    個人
  • 業務知識の体系化できない問題

    ITスキルと比べてナレッジを貯められていない
    個人
  • 新しい技術/考え方が浸透しない

    ずっとウォーターフォール,Excel設計書...
    個人
  • 多重下請け構造

    構造が業界をブラックにする
    一般
  • 炎上プロジェクト問題

    50%のプロジェクトは失敗に終わる
    個人/一般
  • 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土方...

下層にいるとスキルアップもできない...お給料もない...時間もない...負のスパイラルや!

SE業界の課題 - 「SE業界ブラック説」

解決案

解決案(個人向け)

元請け企業に転職しよ!


解決案(全体向け)

そもそもこの構造を壊す(減らす)

  • シリコンバレーではSIerは少数で多重下請け構造が無い
  • アメリカは解雇制限が厳しくないので、必要に応じて調達&解雇
  • アメリカ:アジャイル開発メイン, 日本: ウォーターフォールメイン ⇒ 多重下請け構造出来やすい

下層SIerの営業力強化

  • 某中小SIerは、Salesforceエンジニアを育てて営業力を高めた
  • ニッチだがニーズが高いエンジニアを育てる

SE業界の課題 - 「炎上プロジェクト問題」

課題と原因

課題

数多くのプロジェクトが炎上を迎える...

  • 参考: プロジェクトの成功率は50%(日経ビジネス)
  • 15年前は25%だから改善されてはいるが...

原因

多すぎるので次のスライド!

プロジェクトの失敗(炎上)の原因

要件定義が不十分(スコープ設定があいまい / 要件を網羅できていない)

仕様変更のハンドルがダメダメ 仕様変更は発生してしまうものだが、無償で受け続けるとか納期調整ができないとかよくある

知識 / スキル / ビジョンの俗人化

エンジニアの技術レベルに幅がありすぎてスケジュール立て失敗しがち(後述)

業務知識の体系化が出来ておらず共有できない(後述)

ダメな営業が案件獲得のために低価格の見積もりを提示してしまう

他システム絡みの調整を後回しにしてしまう

顧客 / 各サブモジュール間で連携が取れていない(コミュニケーション不足)

ビッグバンリリースは絶対NG!!

ちゃんと握れてない / エビデンス取れてない

エンドユーザを味方につけれてない / UAT期間を長くとっていない

[論外] スケジュールを立ててない, 進捗管理を行ってない(ネットで調べたら出てきた薄い内容...参考)

文字ばっかり多くてすみません...

SE業界の課題 - 炎上プロジェクト問題

解決案

解決案

「失敗の原因」を踏まないように!

SE業界の課題 - 「エンジニアの技術レベルに幅がありすぎる問題」

課題と原因

課題

SEの技術レベル差がすごい&その人のスキルレベルが分からない

  • レベル差があると、スケジュール立てが出来ない、エンジニア間の不満(同じ賃金で生産性3倍とかザラ)などの問題が...

原因

SEの技術レベルを測る尺度が無い

  • 専門職には、資格が前提になっているものもあるが、SEには無いため最低レベルも保障されない
  • 医師免許, 1級建築士, 司法試験...のようなものが無い

SEは必要とされるスキルが多岐に亘る

  • コミュニケーション力があってもプログラムに落とし込む能力が無い...等のケースも

10年前からやってること変わらないから向上心が...

  • プログラミングの世界や基盤(クラウド)の世界は大きく変わったが、SEのメインフェーズ(要件定義~設計~テスト(開発を除く))はほぼ変わってない

SE業界の課題 - 「エンジニアの技術レベルに幅がありすぎる問題」

解決案

解決案

どうします?他の業界は資格以外でどうしてるんでしょう...

SE業界の課題 - 「業務知識の体系化ができていない問題」

課題と原因

課題

業務知識の体系化が出来ていない

  • 知識の俗人化-> その人いなくなると困る
  • 新人のキャッチアップが大変-> この時代に口伝とかドキュメントを漁るとか...

原因

業務知識を整理して定型フォーマットに落とし込むのは至難の業

SE業界の課題 - 「業務知識の体系化ができていない問題」

解決案

解決策

良い案は現状無し...教えてほしいです

SE業界の課題(再掲)

以上です