今後のキャリアのことも考えてシステム開発における上流工程を知ろうと思い、
”はじめての上流工程をやり抜くための本”と”要件定義のセオリーと実践方法がしっかりわかる教科書”
の2冊を読みました。今回はこの2冊を読んだ感想を紹介します。
上流工程とは?
ソフトウェア開発では以下の1~4の工程を経た後製作工程に入ります。これはVモデルと言われる開発手法です。以下の工程の内、上流工程は1~3に当たります。
- システム化企画/要求分析
- 要件定義
- 基本設計
- 詳細設計
上流工程の業務
日本では自社でソフトウェア開発をしないで、社外のSIerと言われる企業にソフトウェアの製作を依頼しています。そのため会社間の取り決めが非常に重要になります。予算の見積もりや要件の策定に穴があるとトラブルになります。
会議の進め方や、業務知識、文章の書き方に紙面を多く割いていたので、上流工程では主にクライアントとの会議の割合や書類作成が多そうです。
可用性や性能・拡張性、セキュリティなどの非機能要件を決める必要があるためこれらの専門的な知識は必要ですが、1,2の工程はコーディング能力がなくて可能だと思いました。
感想
普段の業務がプログラミング中心の場合「ソフトウェアをどう作るか?」に焦点を合わせがちです。
上流工程を知ることで「なぜソフトウェアが必要か?クライアントが解決したい問題をソフトウェアで解決できるか?」の様に一歩退いた目線で見ることができるようになり、問題点の発見や改善案の質が良くなると思いました。
テスター→テスト実装→ビジネスロジックの実装→詳細設計→・・・と下流工程から上流工程へシフトチェンジしていくことがキャリアアップの1つの道だと思っていました。実際に僕の知っている範囲では上流工程ほど平均年齢が高いです。
上流工程を目指す道以外には、”専門性が高いSE”、”プロジェクトマネージャー(PM)”という道もあります。自分はシステム化企画や要件定義よりも、システム設計や人工知能などに興味があるため専門性が高いSEを目指していきたいと思いました。