見出し画像

事業会社のエンジニアに求められるコミュニケーションと意識の話

株式会社メタップスホールディングスの釣りバカVPoE、阿夛(@ataboy86)です。

現在は、「re:shine」というフリーランスのマッチングプラットフォームの事業責任者をやりつつ、VPoEとして開発部門の統括をしています。

今回は、「事業会社でエンジニアに求められるコミュニケーションスキル」というテーマで事業会社で働くエンジニアの方々に向けた記事をまとめました。

大前提・・・
事業会社においての「エンジニアリング」は”目的”そのものではなく、”手段”という立ち位置であることを念頭に置く


1、エンジニアが事業会社において最も求められていること

事業を推進する上で、エンジニアに最も求められることは、最高の機能を最速で開発し、顧客に提供することです。

しかし、最高の機能を最速で作ることは簡単ではありません。
ここで、MVP(Minimum Viable Product)の概念が重要になります。

MVP(Minimum Viable Product):直訳「必要最低限のプロダクト」、一般的には「顧客に提供する上で必要最小限の機能のみをもつプロダクト」

要するに、「この事業における価値を提供できる必要最低限の機能は何か?」事業において必要最小限の価値を提供することが事業会社におけるエンジニアに最も求められることです。

2、プロダクトオーナーの思考回路を理解する

プロダクトオーナーとエンジニア間には、しばしばスピード感に関するギャップが存在します。
プロダクトオーナーが想定しているスピード感は、現場のエンジニアが想定するスピード感の3倍早いと考えてください。

例えば・・・

とあるプロダクトオーナーからのオーダー
「Amazonとかメルカリとかみたいに商品が探せて買える感じで作って」

現場のエンジニアが考える機能要件
 ・検索が出来る
 ・商品が買える
 ・レビューが書ける
 ・レコメンドが見れる  etc…

実際のプロダクトオーナーの期待値
=「Amazonやメルカリのような”体験”を提供したい」

上記で挙げたプロダクトオーナーの思考回路は、他で見たことのある仕組みを想像し、自社でも同様の体験で提供したいと考えているため、機能だけではなく、UIやUXにもこだわった状態を想定しています。

プロダクトオーナーとの想定するギャップを踏まえて、エンジニアは、要望に対して目的や背景を理解する必要があります。

目的や背景を理解した上で、現在の組織の形で出来る最善策を見つけ、見積もりを提示し、相互に理解を深めた状態で設定したゴールに向けて遅れなく開発をすることが求められます。

3、事業の理解と内製のメリットを理解しておく

事業会社で働く上で、エンジニアにも事業理解は必要で、理解を深めた上でシステムをどう作るかが重要です。

【エンジニアが開発していく上で必要な事業理解】

・今の事業がどういったことを実現しようとしているか。
・今回の課題が何で、何を解決するためにこの機能を必要とされているのか。

ただ言われたものを作るのではなく、「その機能をよりよい形で提供できる術はないか?」などを検討し、提案することが重要です。

言われた通りの開発であれば、外部に委託して開発することと変わりありません。
ただし、外部にシステムを依頼する際には要件・仕様をまとめなければならず、それをできる人がいない場合、その段階から外部に依頼する必要があり、開発費用は跳ね上がります。

社内で開発できるメリットは、開発メンバーがビジネスの理解をしている前提で、下記2点が挙げられます。

1.要件のすり合わせが最小限で済む
2.開発プロセスを簡素化出来ること

上記2点が、前章で解説した「最高の機能を最速で開発し、顧客に提供すること」にも繋がります。

これができない場合、外注と変わらなくなってしまうため、エンジニアの事業理解が重要であることを理解しましょう。

外部に委託することのメリットデメリットや、内製化のメリットデメリットなどについては詳しく触れませんが、上記の部分は理解しておくことが重要です。

4、事業会社のエンジニアが意識すべき2つのポイント

ここまでの内容を踏まえて、事業会社のエンジニアには下記2点は最低限意識しておかないと信頼関係が気づけません。

  • 意思決定者との意思疎通(すり合わせが大事という意味合い)

  • 会社のコストを下げられるという意識

「意思決定者との意思疎通」

・プロダクトオーナーの想像は斜め上。
 うまくすり合わせることができないと「信頼関係」は生まれない。


・開発要望があった際に、
「今の事業に足りていないパーツはなにか(必要要件の洗い出し)」
「こんな機能で代替できないか(より良い代替案の提案)」
「本当に今作るべきなのか(優先順位の確認)」などを踏まえ、
その要件に対しての「スケジュール感を提示(見積もり)」した上で、
「進捗共有」しながら進めることが重要

「会社のコストを下げられるという意識」

・内製は外注と比較して工程が圧縮できること。

・エンジニアが事業理解をしていることで、必要機能の要件に対し、目的や背景のすり合わせが最小限で済むこと(開発プロセスの簡素化)。

・要件定義書や設計書など簡易的で良かったりすることや、柔軟に開発が出来ることが重要で、そのために必要なコミュニケーションが採れることが重要。

ここまで書いたことを最低限意識しておかないと事業体として信頼関係が築けないと考えています。

ビジネスをどう進めるか、どうするとより良い状態ができそうかを議論し、様々なレイヤー領域から相談される状態が理想ですが、そこはチームの誰かが吸い上げることが出来ていて、開発チームで展開できていれば問題ないですが、より小さいチームだとここまで意識できていると良いと思います。

まとめ

事業会社でのエンジニアは、単に技術的なスキルだけではなく、ビジネスの理解、コミュニケーション能力、柔軟な思考が求められます。

事業会社のエンジニアに必要なことをまとめると・・・

☆理解の領域
・自分たちの事業を理解すること
・外注化と内製化の理解と価値の定義


☆理解を踏まえたコミュニケーションの領域
・アイデアや目的、背景を元にどういった解決策があるかの検討、提案
(※いきなり出来ないを言わない)
・他のチームからの意見の吸い上げと事業への反映
・アイデアや改善提案などが開発チームから出てくることが理想、まずはこういった根幹の部分から自分の行動を見直す
・開発の人たちは謎に怖がられて、意見を言いづらいという状態になる傾向があるので、会議体を設けるのも一つの手段

上記の要素を踏まえ、エンジニアも事業の成功に貢献するための役割を果たす必要があります。

Qiitaでも、事業推進のための考え方など記載しているので、ぜひそちらも読んでいただけたら幸いでございます!
機能開発から考える「お金」と「チーム」の話


この記事が参加している募集

仕事について話そう

この記事が気に入ったらサポートをしてみませんか?