
仕事をしていると、「こんなシステム作ってください」と言われて、なんちゃってな仕様書を渡されることが多いです。
「概要書」とか「やりたいこと」のようなタイトルが多く、その頼んできた人の作りたいシステムの要望書のようなものです。
中には、その粗い概要書なのに、「その通りに作ってください」とピクセルパーフェクトみたいな無茶振り要求をしてくる人もいます。
でも、その概要書、仕様書じゃありませんから、システムを作っていく中で破綻している部分が露呈しますよ。
そんな無茶振り要望を受けることを仕事として成り立たせるのがシステムエンジニア(SE)の役割なんですが、
このシステムエンジニアってまあまあ大変な仕事なんですよ・・・
という今回はそんなボヤき日記です。
システムエンジニアってどういう仕事?
IT現場でよく聞くシステムエンジニアって、エンジニアというぐらいだから、技術者なのだろうと思っている人も多いと思いますが、
プログラミングができないシステムエンジニアも世の中にたくさんいます。
会社や組織やチームが違えば、システムエンジニアの行う内容も違ってくるのが、この仕事の難しいところで、
Web制作会社のシステムエンジニアは、ディレクションと言われる工程管理から、ビジネス提案までする場合もあり、
関わるシステムのあらゆる事が対象になる仕事とも考えられます。
そして、何でも黙って聞いているシステムエンジニアの人は心のなかできっと、煩雑な仕事と、筋の通らない無茶仕様に対して、めちゃくちゃ怒りがこみ上げていることでしょう。(想像ですが)
これまで経験した無茶振りシステムエンジニアリング
手書きで箇条書きのシステム要望
手書きの要望書や、箇条書きの要望書がダメというわけではありません。
とある会社さんが、今やっているビジネスでのシステムがあって、それに追加する機能を要望された時に、
今現在のシステムに関する説明が何も無いまま、やりたいことだけをリストアップしてくるケースが非常に多いです。
この手のオーダーをしてくる会社さんは、現状システムに関する機能一覧などの設計図などが存在しない場合が多く、まるで手探りの開発作業になる事が容易に予想できます。
さらに言ってしまうとこうした会社さんは、エンジニアをモノとしか扱えておらず、会社内での開発組織が存在していても、まともに機能していないケースが多いようです。
(個人的実感です)
そのため、外部でのシステムエンジニアに頼まざるを得ないけど、内部の仕様書・設計書も無いため、逆にかなり高額なシステムエンジニアコストを払わないといけなくなります。
初心者だらけの開発員でまともなシステムを作ってほしいという要望
それはとある、デジタル医療系の会社で、Webに特化したシステムを管理するために、最近分社化したという会社さんでした。
この会社では、それまで、業務委託として外部のフリーランスエンジニアさんが何名か勤務していたんですが、分社化してすぐに先方の都合により契約更新がされなくなり、2名だけ残ったエンジニアはどちらも業務経験が無い転職したての若手エンジニアと、大学新卒で入社したてのエンジニアでした。
この2名を使って、システム開発ができる体制を作ってほしいというオーダーでした。
これ、確かに遠回りなシステムエンジニアですが、これって人事の教育案件なのではないか?と思いつつ、気軽に引き受けたんですが、
人をエンジニアリング(教育)するのって、パソコンにプログラムを組むのとはまるで違う難しさがありますよね。
だって、この二人、まるでやる気がない開発員だったんですよ・・・
やる気をダサせるために、プログラミングの面白さをディスカッションして引き出すために3ヶ月ぐらいの期間を有しました。
技術的に不可能かもしれないシステムオーダー
無茶振りの最上級は、現代の技術的に不可能な要望をしてこられる場合です。
でも、これって、ITが分からない人からすると、何が可能で何が不可能なのか判断できるはずもありません。
現時点で似たようなシステムがあるとしたら、技術的に可能と判断できますが、
似たようなシステムがどこにもない場合、色々な技術を組み合わせて実現可能なのか、どうあがいても実現不可能なのかは、
技術のプロとして判断しなければいけないため、技術的に不可能オーダーは、オーダーしてきた人にはまるで責任がありません。
むしろ、個人的にはこうしたみたいの技術のアイデアにつながるオーダーはたくさんしてもらいたいと考えています。
ただ、今現在できないものは、作れないし納品もできません。
ここで問題なのは、「いくらで作れます?」という色々な事をすっ飛ばしてお金の話をする人です。
正直言うと、これは、研究開発費も込みでそれが実現不可能な場合に、その時点で終了してそれまでの作業コストを精算できるという信用契約を飲んでもらえないと難しい案件です。
これまで無料で研究開発するケースも数多くありましたが、ビジネスで考えると、その点はやはりしっかりと精算しなければいけませんね。
今どきのシステムエンジニア
SEって要するに、「IT何でも屋」なんですよね。
できる?できない?という、質問に答えられて、
できない場合にどうやったらいいか?という提案ができて、
自分で手が動かせるSEであれば、スピード早く、出来上がったモノにGoodの判定をしてもらえる事が要求されます。
なかなかそんなスーパーマンなエンジニアって、「いない」と考えている人も多いようですが、これって
やる気と
思想レベルの問題だけがポイントだと考えられます。
エンジニアが「できない」と言い切ったら、その場でそのシステムは終了ですからね。
ちなみに、すぐに「できない」というエンジニアは、研究開発などの面白みを感じていない場合が多く、利己的な思考で物事を考えるケースが多いので、こうしたエンジニアに役職をつけてしまうとその組織自体が破綻してしまう可能性もあるので気をつけましょう。
良質なエンジニアを育てるには、そのエンジニアの人柄から、想像上位の思考という、プログラミング以前の色々な事を判断する必要があるし、それ相当の教育を行う必要があります。
より高みを目指すシステムエンジニアが欲しいと考えている企業へアドバイスをするとしたら、より技術力の高いエンジニアを有するのが近道かもしれませんね。
技術は裏切りませんからね。
でも、難しいですよねコレ。
あとがき
先日仕事で、もらっていた仕様書で、特定の作業フローに関するシステム遷移の要望書で作業をしていた時に、
「もしかしたら、こんな作業も発生していませんか?」とか「そもそもスタートの条件が違っているケースありませんか?」と質問をしてみたところ、
「あ、それも付け加えておいてください」と気軽に言われて、
もしかしたら感が
やっぱりな感に切り替わった瞬間を味わいました。
最初にこうした事をしっかりと条件整理してから開発スタートすればよかったと、改めて感じましたが、このシステム膨大過ぎて、もはやその後は追加追加のclassとfunctionの塊システムになってしまったことは、先方には黙っておくことにします。
何事もスタートが肝心という自己に対する戒めも含めて。
0 件のコメント:
コメントを投稿