
システムの需要が高まる今日、売り手市場となっているシステムエンジニアですが、時代の流れに伴い、システムエンジニアに求められるものが変わってきているのはご存知でしょうか?
「実力はあるのになぜかお客様満足度が低い・・・」
「クライアントに駒のように扱われてしまう・・・」
「リピーターがつかない・・・」
「なぜか毎回トラブルに発展してしまう・・・」
このような場合は、今の時代に求められるニーズを満たしていない可能性があります。
ここでは、これからの時代に活躍できるシステムエンジニアとして大切な5つの要素についてみていきましょう。
正しい設計思想
まず、大前提としてシステム開発の正しい設計思想は不可欠です。
特に近年では、たった1、2ヶ月一定のカリキュラムを修了しただけで正しい設計思想を身につけないままに「システムエンジニア」と名乗ってしまう方が増え、エンジニアのレベルの二極化が進んでいます。
(ちゃんとやっている人にとってはハタ迷惑な話ですよね・・・!)
そして、近年はシステムエンジニアの技量に対して疑心暗鬼に陥っているクライアントが増えているように見受けられます。
この背景には、簡単にエンジニアと出会えるマッチングサイトなどで募集をかけた場合、レベルが低いエンジニアほど単価を安く設定しており、ついつい安さに飛びついて、その結果システム開発に失敗してしまう案件が増えている、ということが挙げられます。
正しい設計思想を身につけ、その技術の必要性をしっかりとクライアントに伝えることができれば、それがあなたというエンジニアの付加価値になりますし、何よりクライアントが失敗しないシステム開発を行うことができる、というwinwinの関係を築けるようになります。
俯瞰でシステム概要を捉える力
クライアントは、システム開発については素人であることがほとんどです。
そのため、自分の業務や目に見える画面ありきでしか話をすることができません。
しかし、システム開発において重要となるのは目に見えないシステム設計です。
そして、システム設計は開発における土台でもあり、ユーザーの顕在化している機能要件と顕在化していない非機能要件の両方を考慮して設計するものです。
ではどうやったら機能要件と非機能要件を洗い出せるのか?
それは、クライアントに対するヒアリングの中で、ユーザーの思いや希望を業務・画面レベルで話しつつ、自分はそれを実現するためのシステム全体像を俯瞰で捉えながら、足りない情報を適宜、聞き出していく必要があるのです。
特にこれからの時代に求められるシステムはどんどん複雑化していくことが予想されますので、隠れたユーザー要望を引き出すために、俯瞰でシステム概要を捉える力が必要となってきます。
幅広いIT分野への興味
近年は様々なシステムが普及し、汎用的な業務システムは一通り出揃ってしまいました。
これに伴い、新しくシステムを導入する企業は、汎用的なシステムであれば一からシステムを開発するのではなく、既存サービスを利用するケースが増えてきました。
そして、企業はこういった既存サービスを利用した上で、より自分たちの業務内容にマッチしたシステムを望むようになっています。
それは単なる業務効率化ツールとしてのシステムではなく、例えばセンサーを利用したデータ収集や、データ活用によるマーケティングや新しい商品開発といった、企業がより発展していくためのシステムです。
つまり、単純な演算やデータベースの読み書きだけではなく、機械学習やビックデータの活用、センサー工学など、複数の分野を複雑に絡めたシステムの需要が高まっているのです。
実際に作る段階にまで行けば、必要な分野がわかっていますので、その分野について勉強したり専門家を呼んでくるなどの対応もとれますが、企画・提案の段階では、クライアントにとってどんな分野が必要になるのかはあなたが判断する必要があります。
よって、どんな技術があり、それを用いることでどういった効果が期待できるのか、そういった最新技術やIT業界の動向には常に興味を持ってアンテナを張っておく必要があります。
相手目線と自分目線の切り替え
先にも述べたように、クライアントは基本的には自分の業務や目に見える画面ありきでの話しかできません。
さらに、「システムでどんなことができるのか?」についても曖昧にしかわかっていないことが多いです。
この状態でシステムの要件を固めてしまうと、開発が進んで徐々にシステムでできることがわかってきた段階で、「こんな機能も追加してほしい」「やっぱり今の仕様はやめて、こっちにしたい」といった追加要望や根本的な設計変更が出てきてしまうことが多々あります。
トラブルの多くはこういった追加要望や設計変更が引き金となることが多いので、ぜひ避けたいものです。
これを未然に防ぐためにも、最初の要件定義の段階から、あたかも自分がクライアントの会社の社員の1人として見た「相手目線」と、システム開発のプロフェッショナルとしての「自分目線」をうまく切り替えながら、
「システムでこんなこともできますが、どうでしょうか?」
「業務のこの部分をちょっとアレンジしてみると、システムを使ってもっとやりやすくできるのですが、変更は可能でしょうか?」
といったように提案・確認を繰り返しながら、最初にしっかりと相手が理解・納得する形で要件を固めてしまう方が安心でしょう。
「誰のために作るのか?」を意識すること
システムを作る上で、意識したいのが「誰のために作るのか?」ということです。
ここが抜けてしまうと、開発はただの作業となり、誰が作っても同じようなものが出来上がってしまいます。
システムも人が作るものである以上、そこには作り手の個性や思いが宿ります。
それは、設計の汎用性・保守性・拡張性といった部分であったり、ソースコードの書き方、コメントの残し方、テストの範囲や成果物の粒度といった様々な部分に現れてきます。
さらに、こういったものは、作り手や作る機能が同じであっても、納入する相手が違えば必然的に内容が違ってきます。
なぜ違うのかというと、たとえ機能が全く同じであったとしても、相手によって「システムに対する抵抗感(年齢・性別・業種)」「使いやすさ(主観的な感覚)」「将来どこまで拡張をしたいと思っているか?(将来性)」といったことが違うからです。
こういったクライアントの違いに目を向けて、相手にとって最適なシステムを作る。
これが「思いやり」です。
近年、将来はAIによって多くの仕事は人がやる必要性がなくなる、と言われています。
確かに、ただ機械的に機能一覧に沿ってシステムを作るエンジニアであれば、AIでも替えが効くでしょう。
しかし、しっかりと相手を意識して、相手の状況や状態、感情を汲み取って細やかな工夫をしながらシステムを作り上げることができる「思いやり」があるエンジニアであれば、これからの時代も生き残ることができるのです。
まずは、システムを直接使う人を意識しましょう。
そしてさらに、その人がシステムを使うことで、その企業にどういった影響を与えるのか、その企業が変わることで、社会にどんな影響を与えるのか、まで意識できると、なお良いでしょう。
まとめ
いかがだったでしょうか?
これからのシステムエンジニアに求められる5つの要素は、
- 正しい設計思想
- 俯瞰でシステム概要を捉える力
- 幅広いIT分野への興味
- 相手目線と自分目線の切り替え
- 「誰のために作るのか?」を意識すること
です。
これからの時代でも、クライアントから求められるエンジニアになるために、意識してみると良いでしょう。