「システムエンジニアの仕事は、プログラムを書くこと」。そう思っている人は多いのではないでしょうか。
ですが、工場で使う生産管理システムをつくるとき、向き合う相手はコードだけではありません。材料の在庫、生産数、作業の進み具合、納期。工場では、いくつもの情報が同時に動いています。それを誰がどこで見て、何に困っているのかまで読み解けなければ、どれだけ正確なコードを書いても、現場では使ってもらえません。
では、その現場に入ってみましょう。
【MISSION START】
あなたは、株式会社スカイリミットに入社したばかりの新人エンジニア。はじめて任されたのは、工場で使う生産管理システムのプロジェクトです。
このシステムが管理するのは、次の4つ。
・製品をいつ、いくつ作るか
・材料の在庫がどれだけ残っているか
・今どこまで生産が進んでいるか
・予定どおり出荷できるか
完成までの道のりには、3つの謎が待ち受けています。手がかりは、この記事の中に置かれたメモ、メール、作業記録、チャットの履歴。すべてを読み比べて、答えを導き出してください。
3つの謎を解き、システムを無事に納品できればミッションクリア。それでは、始めましょう。
■MISSION 01|資料に隠された「本当の要望」を見抜け
プロジェクトは序盤。工場の担当者からこんな要望が届きました。
「製品ごとの生産予定を、一覧で見られるようにしてほしい」
シンプルな注文です。あなたは言われたとおり、日付・製品名・作る数が並ぶ画面を設計しました。ところが、その設計案を見せた担当者の反応は、いまひとつ。
「うーん……。これだと、今ある材料で予定どおり作れるかどうかは、結局こちらで調べることになりますね」
言われたとおりに作ったのに、なぜ喜ばれないのでしょうか。担当者はこの画面で、本当は何をしたかったのか。それがこのミッションの謎です。
【手がかり】
工場を見に行ったときの記録が、3つ残っています。
注目してほしいのは、担当者が生産予定を見たあとに何をしているかです。
【推理結果】
担当者が本当に求めていたのは、「問題なく、予定どおりに生産が進むこと」でした。
そのために欲しかったのが、生産予定の一覧です。この要望自体は間違っていません。ただ、予定が見えるだけでは、そのとおりに進むとは限らないのです。手がかりのとおり、担当者は予定を確認したあとに在庫の画面を開き、材料が足りるかを製品ごとに電卓で計算し、それでも作業を始めてから材料不足が判明して、生産が止まっていました。
予定どおりに進めるには、作業を始める前に材料の不足に気づける必要がある。だから追加すべきなのは、予定数と在庫数を並べて表示し、材料が足りない予定に印がつく機能です。
画面は、課題を解決するための手段でしかありません。要望をそのまま形にするだけでは、その奥にある課題には届かない。「それを見て、どうしたいのか」まで掘り下げて、初めて本当に必要な機能にたどり着きます。
【獲得スキル】
言葉の裏にある目的まで掘り下げる力
【スカイリミットからのアドバイス】 お客様の要件は、ふわっとしたものしか出てこないことが多いといいます。ご飯が食べたいと言われても、ハンバーグなのかカレーなのか分かりません。おにぎりを持っていけば、いや、カレーが食べたいんだけど、となる。だからスカイリミットでは、相手の言うことをそのまま信じるのではなく、その言葉の裏にある本当に求めているものを探ります。 100%直請けなので、分からないことは直接お客様に聞きに行けます。要件定義の前に必ず工場を見学するのも、システムができて一番困るのは現場の方だからです。 まず、相手のところへ行って確かめる。遠回りに見えて、それが一番の近道です。
■MISSION 02|情報が止まった場所を突き止めろ
開発は中盤。週に一度の進捗確認の場で、リーダーの手が止まりました。
「あれ。Bさんが作っている集計、条件が違わない?」
社員Aと社員Bは、同じお客様のシステムを分担して開発しています。ところが、二人が作っていた集計の条件が食い違っていた。社員Bが進めた1週間分の作業は、やり直しです。
社員Aは打ち合わせでお客様から変更を聞き、自分の担当分に反映していました。社員Bも、共有された仕様どおりに手を動かしていました。二人とも、手を抜いてなどいません。それなのに、なぜ食い違ってしまったのか。それがこのミッションの謎です。
【手がかり】
【推理結果】
止まっていたのは、社員Aが持ち帰った最新の情報でした。
社員Aは変更をきちんと受け取り、自分の担当分に反映しています。ただ、それを知っているのは社員A一人。打ち合わせに出ていない社員Bには、変更を知る手立てがありません。チャットにも書き込みはなく、情報は社員Aのところで止まったまま、1週間が過ぎていました。
必要だったのは、誰かの注意深さではありません。情報が一人のところで止まらない進め方です。聞いたその場で書き残し、全員が同じ情報を見られるようにしていれば、この1週間は失われずに済みました。
自分が受け取った情報は、伝えて初めてチームのものになります。手を動かす前に、まず情報をそろえる。チームで作るというのは、そういうことです。
【獲得スキル】
情報の抜けや、認識のズレに気づく力
【スカイリミットからのアドバイス】 忙しくなると、いっぱいいっぱいになって共有できない人が多いといいます。人が働く以上、忘れることもあり、ヒューマンエラーをなくすことはできません。だからスカイリミットは、エラーを低減させる方針で取り組んでいます。 決めているのは、聞いたその場で打ってしまうことです。チャットはお客様ごと・重要度ごとに分け、週に一度は全体で進捗を確認する場も設けていて、そこで共有漏れが発覚することもあります。 共有を完璧にこなせる人はいません。忘れる前に打つ。その一手間が、1週間分の手戻りを防ぎます。
■MISSION 03|工場への影響が最も大きいバグを見極めろ
いよいよリリース直前。工場は明日から、新しいシステムで動き始めます。ところが最終テストで、不具合が5つ見つかりました。
「今日中に直せるのは、2つが限界だと思う」
リーダーの言葉に、チームの空気が張り詰めます。5つのうち、どれから手をつけるのか。何を物差しにして決めればいいのか。それがこのミッションの謎です。
【不具合】
残っている不具合は5つ。
工場では、材料の在庫を確認してから生産を始め、生産実績をもとに出荷の予定を調整しています。注目してほしいのは、不具合の見た目の大きさではなく、それぞれが工場の誰のどの仕事を止めるかです。
【推理結果】
今日中に直すべきは、バグ03とバグ04です。
在庫数が正しく更新されなければ、材料が足りていると誤って判断し、生産が途中で止まります。生産実績を登録できなければ、今どこまで進んでいるかが分からず、出荷の予定も決められません。どちらも、工場の仕事そのものを止めてしまいます。
残る3つは、見た目や表記の問題です。使いにくさは残りますが、仕事は進みます。
優先順位を決めるのは、直しやすさでも、目立ちやすさでもありません。それが止まったときに、誰がどれだけ困るのか。そこで決まります。
【獲得スキル】
作業の優先順位を決める力
【スカイリミットからのアドバイス】 優先順位で一番重要なのは、物とお金が動く部分です。生産管理なら、物を作るところと、在庫を管理するところ。その数量が間違っていたらお話にならないので、そこから先に直します。なくても業務が回るお助け機能は、その後です。 この判断は、最初からできるわけではありません。金額や数量の優先度が高いという感覚は、3、4年と経験を重ねるうちに身についてくるもの。知見の積み重ねだといいます。 焦る場面ほど、影響の大きい順に手をつける。その物差しは、経験の中で育っていきます。
■MISSION COMPLETE|あなたが手に入れた3つの力
3つの謎、おつかれさまでした。最後に、自分の答えを確かめてみてください。
□ 工場が本当に必要としていた機能を導き出せた
□ 情報が止まってしまった理由を説明できた
□ 製造現場への影響から、不具合の順番を判断できた
□ どの手がかりからそう考えたのか、順を追って説明できた
すべてにチェックが入ったなら、納品完了です。
3つの場面で、あなたが使ったのはプログラムを書く力ではありませんでした。資料を読み比べ、書かれていないことに気づき、影響の大きさで順番を決める。設計の前なら手戻りはなく、開発の途中なら日程を相談でき、リリース直前でも影響の大きい順に手をつければ守るべきものは守れます。気づくのが早いほど、選べる手は多くなります。
人間がチームで進める仕事である以上、技術よりもコミュニケーションが大事。それがスカイリミットの考え方です。
プログラムを書く力は、これから何年もかけて伸びていきます。その手前にある、読み解く力と、確かめる力。今日の3つの謎が、その入り口になればうれしく思います。
【株式会社スカイリミット】 横浜・関内に本社を置く、法人向け業務システムの開発会社。得意分野は製造業向けの基幹・業務システムで、企画立案から設計・開発、導入後の保守・運用改善までを一貫して手がけます。100%直請けにこだわり、お客様から直接依頼を受けて提案できることが強みです。開発は原則として自社内で行い、社員同士でプロジェクトチームを組んで進めています。
