システム開発の上流工程って難しい。。。
何をしたらいいか分からなく、つらい
業務要求出てこなくて進まない
と言った不満・疑問に答えます。
そもそも、上流工程は無形を有形にする作業で、下流はそれをシステム化する作業なので求めらる能力も違います。今上流工程が難しいと悩んでる人もまずは出来なくて当たり前、上流工程が出来るように努力が必要とリラックスしましょう。
さらに、重要な事実は今上流工程が難しい・どうしようと悩んでいる人は一部の幸せな人です。まずはここら辺から解説していきます。
✔記事の信ぴょう性
SE+社内SE歴15年以上。現大手EC運営企業の管理職 兼 社内SE講師。
グローバル(15か国以上導入)へ大規模ERPシステム開発・導入を実施。
2018年よりSE講師として100名弱の部下・生徒の教育を実施。
システム開発の上流工程が難しいと感じている人は幸せ
なぜシステム開発の上流工程が難しいと悩んでいる人は幸せな人か?から解説します。
結論は、あなたの市場価値を飛躍的に高めるチャンスに遭遇している人だからです。
以下は、システム開発の業界構造です。
上記の絵は、IT業界の下請けの構造で上流工程とは直接的に関係なさそうに見えます。
ですが、実際には関係があります。特に右の絵です。
98%以上の人は、3次請けでユーザーとのコミニケーションは発生しません。システム開発の目的、狙いなどは伝えられず下流工程を淡々と実施します。
つまり、今あなたが感じている難しい!の経験はめちゃめちゃ貴重で、その環境は非常に恵まれていると言えます。
これをチャンスに上流工程が出来るようになると市場価値が一気にあがります。
そういう事もあり(さらに社内SEが楽しいから)このサイトでは強く社内SEへの転職を勧めているわけです。^_^
ここまでのお話で、まずは、システム開発の上流工程難しい!という嫌な経験がちょっといい環境であると認識できたのではないでしょうか。
とはいえ、上流工程難しくて困ってる!という、悩みにはここから解説していきます。
そもそも上流工程と下流工程の違いとは?
システム開発における上流工程と下流工程の様々な違いを解説していきます。この違いを理解したうえで、上流工程を上手く推進するスキルの話に移ります。
現在、開発していて上流工程が
システム開発における工程の違い
上流工程と下流工程の主体の違い
上流工程と下流工程でアウトプットする物の違い
上流工程と下流工程で求められるスキルの違い
システム開発における工程の違い
まずは、どこまでが、上流工程で、どこからが下流工程か?からです。
システム開発工程を分類すると、
・上流工程:企画、要求定義、要件定義、基本設計
・下流工程:実装、テスト、運用
と分類されます。
上流工程と下流工程の主体の違い
一般的に、事業会社の社内SEとしてシステム開発を行う場合、
・上流工程は、社内SEが主体
・下流工程は、開発ベンダーが主体
と言った形でプロジェクトを推進するケースがほとんどです。
つまり、社内SEにもっともパフォーマンスが求められるエリアが上流工程になります。
上流工程と下流工程でアウトプットする物の違い
上流工程が難しい理由の原因がこの、違いです。
上流工程では
業務ユーザーとのコミニケーションで無形のアイディアを紙にしていく
下流工程は
その文章にされた構想をベースにシステムを構築する
上流工程の方が、より無形で、0→1の世界に近いのです。
下流工程では、実行力を強く求められるのに対して、上流工程では、アイディア・プロジェクトを形作る事が求められます。
上流工程と下流工程で求められるスキルの違い
前述の、それぞれの求められる事から、必要なスキルを解説します。
下流工程=実行力を強く求められる
・スケジューリングスキル・段取り力
・ロジカルシンキングスキル
・忍耐力
上流工程=アイディア・プロジェクトを形作る事が求められる
・スケジューリングスキル・段取り力
・ロジカルシンキングスキル
・忍耐力
・コミニケーションスキル
・推進力・リーダーシップ
・業務知識
システム開発の上流工程が難しい理由は、以下のスキル不足が原因
システム開発における、上流工程と下流工程で求められるスキルの違いは以下です。上流工程では、具体的にどのようなスキルが求められ改善する為に何をしなければいけないのか?どう磨き上げる事が出来るのか解説していきます。
・コミニケーションスキル
・推進力・リーダーシップ
・業務知識
コミニケーションスキル
上流工程では、業務とのコミニケーションから求める物を理解し引き出す力・文章化する能力が必要になります。
このコミニケーションは、何も話す力だけではありません。
・相手に口頭で物事を伝える力
・文章で伝える力
・相手の意図をヒアリングする力
これらを総称してコミニケーションスキルが必要です。
この上達にはる程度の実践は必須です。特に今まであまりコミニケーションしてこなかった人には、かなりのハードルです。
おすすめの上達方法は、
・スモールグループでのコミニケーションをまずは発言できるように努力する
→大人数では出来ない事もハードルを下げなれる事が出来ます。
・発言する為のロジカルシンキングスキルや文章力を書籍で学ぶ
→口下手の前に実は考えの整理が上手くできていない、考えの構築があまりケースが多々見受けられます。改善することにより話の構成ができて上手くコミニケーションできるようになります。
書籍のおすすめはこちらです。また、こちらの記事【説明・プレゼンテーションが上手く伝わらない本質は?【新常識】】おすすめです。
・勇気をだす
→根性論に聞こえますが、実戦での経験知も必要です。これにより自身につながり上手く言えるようになります。初めは誰でも初心者です。要件定義で間違った発言をしても、命を取られることはないので失敗を恐れず発言しましょう。
推進力・リーダーシップ
要件定義の最初のフェーズは業務要求を受けるところから始まります。
このインプットがなければ、車にガソリンがないのと一緒で十分な距離を走ることが出来ません。
経験上、上流工程が上手く進まない原因の一番は、社内SE/システムエンジニアの方がまだ自分の仕事ではないと思い要求が出てくるのを待つことに起因します。
これにより、要件定義の開始が遅れ、要件定義の期間が圧縮され内容の薄いものになり、結局要件漏れ・考慮漏れが発生する構図です。
以下の図でいう、一番左上のところで自ら業務に情報を聞きに行く姿勢が最も重要です。
どうすれば、推進力・ローダーシップを磨くことが出来るのか?
その解決方法は、あなたのやるべき事を認識し待ちの姿勢を止める事です。あなたの責任範囲を再確認し、すこしそこからはみ出るくらいで行動しましょう。経験上、待ちの姿勢で事が進んだプロジェクトは1つもありません。
あなたが動き、行動し要件定義を進めるという意識が重要です。その気概があればどんどん経験を吸収しリーダーシップを身に着ける事が出来ます。
とはいえ、具体的なアドバイスもします。リーダーシップを発揮する為に実施すべきことは以下です。
時間軸を切る
フォローする
上手くいっていないことはエスカレーション
経験を体系化し蓄積する
プロジェクトに必要な人材を巻き込む
プロジェクトの交通整理。役割を明確にする
成果物を明確化する・文章化を忘れない
取り敢えず、上流工程で上記を意識しておけば相当意欲的に推進する事が出来ます。更に詳しくは、【要件定義FIXできない。要件定義を終らせるコツ・仕掛け【社内SE】】で解説しています。
システム開発に必要な姿勢は、
社内SEに絶対必要な姿勢。涙
kato@社内SE講師 (@it_compass_guru) November 7, 2020
泣かぬなら(要件が出ないなら)
泣かせて見せよう(自分でたたき書くしかないかな)
ホトトギス (業務ほっとくわけにはいかないし)
泣かぬなら、泣かせて見せよう、ホトトギス#社内SE #システム開発
業務知識
上流工程が難しいと感じるのは、業務領域に関してユーザー部門と知識不足でコミニケーションが成り立たない場合も結構あります。
これは一番単純で、業務知識不足です。システム開発に関連しそうな知識を、遠慮なくヒアリング・勉強会を実施し補填する事で問題なく叩けるようになります。
結構当たり前のことですが、知識の補填をせずに知らないをほっておくエンジニアの方がいます。辞めましょう。システム開発の経験を積みながら業務知識もどんどん蓄えれる人材は無敵な存在になります。
ぜひ、遠慮なく知識を蓄える事を習慣・癖にしましょう。(ここでも、遠慮をしない、取りに行く姿勢が重要となります)
システム開発の「上流工程難しい」理解すべき重要な事実と改善方法まとめ
システム開発の上流工程が難しい理由は、ゼロをイチにする工程だからです。理解すべき重要な事実は、今上流工程が難しいと感じている人は、一握りの恵まれた環境にいる人です。是非このチャンスにどんどん自身を成長させ市場価値を磨きましょう。
上流工程を上手く推進するために必要なスキルは、
・コミニケーションスキル
・推進力・リーダーシップ
・業務知識
です。これらを実践と書籍で学び成長させる必要があります。おすすめの書籍は、こちらでご紹介しています。
記事読んだけども、やっぱり上流工程難しそうという人は無理しなくていいと思います。そういう方は、下流を楽しめるプログラマーがお勧めです。プログラマーの転職は【マイナビエージェント×IT】がお勧めです。