現場へ出ることの大きなメリット
長い事この業界で働いていると、たまに「現場に出たことがない」エンジニアと会うことがあります。Web、SI 問わずにこのような人は一定数存在するのですが、個人的にはエンジニアとして勿体ないことだな、と感じています。
私の場合、エンジニアとして嬉しさを感じた瞬間の一つに、ユーザーからお礼を言われる、というものがあります。一言お礼を言われるだけでも、そこに至るまでに味わった苦労が報われる気持ちになり、やってよかった、という充実感を感じることができます。同じ言葉でも、文章と会話では受ける印象が全く異なることも少なくありません。現場に出ない場合、他人の口からきくこともありますが、これはやはり直接言われたときに感じる気持ちが非常に大きいです。
またもう一点、勿体ないと思えることがあります。それは利用する人について、イメージしやすくなる点です。
私たちが作るシステムには、必ず利用する人の存在があります。その人たちにとって、有益でなければシステム作成はあまり意味のあることでなくなります。現場に出ることは、どのような人たちが利用しているのかを見ることができ、非常にその後にも有益です。
しかし現場にでたことがなければ、想像力のみで利用者の姿を作り上げ、その想像の上で適したシステムというのを考えることになります。ペルソナだなんだといったものであっても、現場を知らない人間が想像してうまくいくことはありません。全体的な視点や思想も大事ですが、個別の視点や思想も同じくらいに大切なのです。
例えば非常に重い処理があり、現場で実行するのに大きなストレスを与えているような事例があったとします。この時、現場を少しでも知る人間がいれば「業務を行っていないタイミングで自動処理しておきましょうか」とか、「一度に処理する量を減らすよう運用で調整はできますか」などと、システム外的な視点からの提案も思い浮かぶでしょう。ですがここで現場を知らない人の場合は、「システムを高速化します」と一方向の視点でしか考えられず、何かしらの提案を行えないことも多々あります。
昨今では DevOps なワードに代表されるように、ビジネス上の価値を踏まえたシステムが重要視されています。これも至極当然の話で、利用者にとって価値を提供できないのであれば、システムとして存在意義は非常に薄れてしまいます。そのビジネス上の価値に関わる要素の一つが、現場なのではないでしょうか。
IT を用いた業務改革など、大きく変化させたい場合には適さないのでしょうが、日頃私たちが関わるシステム開発は、往々にしてそこまでのものではないことが多いです。現状の状況を少しでも良く改善する、このようなケースに対しての開発が多い事だと思います。
この場合、現場を無視してシステム的な意思を押し通すことは非常に良くありません。利用者を意識していないシステムは、現場にとって益をなさないばかりでなく、場合によっては不利益となります。それは作る側使う側双方にとって、全く良い事ではありません。
色々と存在する制約の中で、できる限りの改善となるようアイデアを捻り出すのも、システム側には時として必要となります。システムを構築し運用チームに任せてハイ終わり、というものではありません。使い始めてから出てくる要望を、できうる限り解決していくこともまた、同じく求められているのだと思います。
この時に現場を知らないでいる事は、例えそれが正しい考え方であったとしても、適切な対応とならないことが多いです。長い目で見ればそれがベターな対応であったとしても、今時点で何かしらの対応が求められているケースでは、長い時間をかけることが許されない状況があります。このような場面では、まず現時点に対しての対応と、長期的な対応両方が求められているのです。
このあたりにまで考えが及ぶかどうかが、現場に出たことがあるか、または現場と関わったことがあるか、という点に非常に関連が強いのではないかと私は考えています。何事もそうだとは思いますが、実経験は自分に考える引き出しを増やしてくれる非常に重要な要素なのです。
殆どの事柄に対して、対応策はひとつではありません。後で振り返るとベターでもなんでもない対応は確かに存在しますが、ある時点においてはそれがベターだったという策も多数あります。反対に現時点で上策と考えられる方針も、その当時には下策である可能性は非常に高いです。
私達開発者としては、実際に利用するユーザーがいて初めてその価値を生み出すことができます。どんなに素晴らしいシステムであっても、利用者がいないのではそこに価値はないのです。
開発だけしていればいい、現場とは関わりたくない、そう考えて表に出ない人もいますが、それではやはり勿体ないと私には思えます。エンジニアとしての満足度にも関わると考えますので、機会があれば是非表に出るようにしてみてはどうでしょうか。
技術的なところだけ対応しても、システムはうまく動くとは限りません。せっかく作ったものなのですから、やはり上手く動かして利用してもらいたいものです。
コメント
山無駄
激しく同意。
システム内では同じ1レコードで取り扱わるデータでも、実物を見てみると
指先にのる端子から、クレーンではないと動かせない大型の溶接機まで多種
多様なものを扱っている場合があります。
同じレストランのOESでも、介護や看護の現場のそれは一般的な飲食のそれと
違ってお年寄りや患者のきめ細かい情報を取り扱っている場合があります。
SEはもちろんの事、プログラムを書いている技術者にも是非現場を知ってほしい。
直接自分の書くコードには関係ないかもしれないけれど、いま自分の作った
レコードに入ってくるデータが、実はどんなものかを肌で感じることができる
ならば、技術はもっと社会に溶け込めるのではないかと。
Ahf
山無駄さん、遅くなって申し訳ありませんがコメントありがとうございます。
>SEはもちろんの事、プログラムを書いている技術者にも是非現場を知ってほしい。
>直接自分の書くコードには関係ないかもしれないけれど、いま自分の作った
>レコードに入ってくるデータが、実はどんなものかを肌で感じることができる
>ならば、技術はもっと社会に溶け込めるのではないかと。
本当にそうですよね。
自分たちが作ったものが利用されている場面を見ることは
その後に大きく影響を与えると思います。
ユーザーの姿を見ているかどうかで、
技術者として多くの面で成長できるとも思いますし、
是非とも多くの人が現場を見てもらいたいものだと思います。