フリーランスエンジニアとしておよそ1年半が経ちました。
時々ふと思うのが、
「システムエンジニアってなんだっけ」
ということです。
そもそもソフトウェア業界の仕事として
「要件定義」「基本設計」「詳細設計」「開発・テスト」「保守・運用」
の大きく5つに分けられるかと思います。上流工程、下流工程などいろいろ呼ばれたりしますが、基本的には全部できてこそ。みたいなところもあります。
フリーランスとして独立するしないに関わらずこの辺りは同じだと思います。
現在エンジニア6年目ですが今年になって初めて「要件定義」なるものを味わっています。
今回は
要件定義とはなんぞや という話。
簡単に表現すると
お客さん「こんなことしたいんだけど、なんかシステム作ってー」
SE「今こんな感じのお仕事されていると思うので、こんな感じでどうですかー」
お客さん「おっけー。そんな感じで。」
みたいなやりとりを結構長々とやります。
やってみてわかりますが、これが想像以上に大変。
自分が全く知らない、やったこともない仕事を資料にまとめる。場合によっては仕事をされているお客さん自身も認識していないこともあります。
大変ですが、本当に重要な仕事です。これを前提にシステムを作り上げていくのですから。
よく出てくるのがこの絵ですね。
全然違うじゃん!!!笑
一度経験していると、納得がいく絵だったりします。
いかにしてお客さんの欲しいものを作るのか。
要件定義って大変だなー。SEって大変だなー。
自分はプログラム書いているのが楽しいと思える人間なので結構今の仕事が苦だったりしますが、
せっかく経験させてもらっているので頑張っていこうと思います。
次回は基本設計について書こうかなと思います。