ユーザー企業と共に内製化を実現する「共創型SIer」であるBeeXの知見を基に、システム開発の内製化に必要なステップやエンジニアのスキルについて解説する本連載。第2回は「内製化実現に欠かせないエンジニアスキル」について解説する。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
企業の競争力を上げるため、内製化が注目されている。しかし、これまで開発に注力していなかった企業にとって内製化を実現する難易度は高い。本連載はさまざまな企業の内製化を支援しているBeeXの知見を基に内製化の手順や必要となるスキルについて解説する。第2回は「内製化実現に欠かせないエンジニアスキル」について。
BeeXが「内製化に欠かせない」と考えるのは次の3つのスキルだ。
前回(共創型SIerが解説 「内製化を実現する7つのステップ」とは)でも触れたが、内製化を進める上で「クラウドネイティブなシステムへの移行」は必須条件だ。そのためエンジニアは無数に存在するクラウドサービスのメリットとデメリットを把握し、適切に組み合わせられるスキルが必要になる。
内製化で使うクラウドサービスと聞いて「IaaS」(Infrastructure as a Service)をイメージする読者もいるかもしれないが、運用の負荷軽減を考えると「SaaS」(Software as a Service)やマネージドサービスの採用も選択肢に入れるべきだ。開発環境として「PaaS」(Platform as a Service)や「Amplify Studio」のようにローコード開発ができるサービスを利用するのもいいだろう。
ただ、こうした無数のクラウドサービスの中から最適な組み合わせを選ぶことは容易ではない。当然1人では限界がある。そこで重要なのが2つ目のスキル「ノウハウをチームに展開するスキル」だ。
高い技術力を持ったエンジニアが1人いても、それだけで内製化を実現することは不可能だ。「ユーザー企業だけでもシステム開発、改修ができる状態」にするにはチームとしての取り組みが重要になる。そのためにはそれぞれのメンバーがプロジェクトで得たノウハウをチームに共有し、全体の技術力を底上げする必要がある。
エンジニアの視点でいえば「チームのコミュニケーションを活性化させ、ナレッジをドキュメントなどにアウトプットし、継続的に改善する」という取り組みが必要だ。こうした取り組みはアジャイル開発との相性が良い。チーム内で適切にコミュニケーションが取れる、過去のいきさつ(ナレッジ)が素早く参照できるといった状態になっていれば、アジャイル開発に慣れていないユーザー企業であっても効率的に開発を進めることができるからだ。
BeeXが最も重要だと考えるのは3つ目の「ユーザー企業の業務を理解し、課題化する」スキルだ。
内製化を実現するために、SIerは単なる御用聞きとして「決められたこと言われたことをそのまま作る」のではなく、軌道修正を続け、ユーザー企業と並走して開発を進める必要がある。しかし、これまで開発に深く携わっていなかった企業にとって「システムで解決すべき課題は何か」を判断するのは難しい。そこでエンジニアの働きが重要になってくる。
内製化を進めるエンジニア(特にSIerなど開発パートナーのエンジニア)はユーザー企業の視点で業務を把握し、開発する機能がなぜ必要なのかを理解する必要がある。逆に言えば、ユーザー企業に「業務上、この機能は不要なので止めよう」という提案ができるようになるということだ。業務理解はもちろん、開発する機能に対して「自分が使うならどういう機能がよいのか」という思い入れが持てるかどうかが重要になるとBeeXは考えている。
エンジニアに求められるものは他にもある。それは「オンラインでの適切なコミュニケーション」だ。
コロナ禍をきっかけに「今までの当たり前」が当たり前ではなくなった。リモートでの開発が主流となり、情報共有はオンラインで完結させることができるようになった。打ち合わせなど直接会って話を進めることは少なくなり、「直接会ったことがないメンバーと一緒に働く」といったことも珍しくない。
ただ、こうした変化に抵抗を感じるエンジニアは少ないだろう。リポジトリやソース、ドキュメントなどは以前からオンラインでの管理が進んでいたからだ。一方で「会ったことのないユーザー企業とどのようにオンラインコミュニケーションを取ればいいか」と悩むエンジニアは多い。
著者がコロナ過のリモート開発で強く感じるのは「開発に携わるメンバー間で、お互いが相手の意図をくみ取れる丁寧なコミュニケーションが重要」ということだ。
幸いにもユーザー企業、SIerともにオンラインでのやりとりが主流になっているため、「対面でなければ解決できないこと」は減っている。実際のプロジェクトにおいても、オンラインでのやりとりについて明文化されていれば問題を感じることはない。逆に言えば、一緒に仕事をする相手がどのようなコミュニケーションを好むのかを曖昧にしたままではトラブルにつながりやすい。内製化に携わるエンジニアはこの点に注意してほしい。
クラウドや顧客業務の理解、オンラインでのコミュニケーションなどエンジニアに求められるものは多い。ではそれらはどのように身に付ければいいのか。方法は幾つかあるが、BeeXでは「実践での習得」を重視している。
クラウドサービスはオンプレミスのように機器の調達や開発環境の構築などに手間が掛からないため、比較的簡単にシステム開発を試すことができる。開発に携わる企業であれば検証環境を用意していることが多いので、その環境を使って実際に開発を進めるのがスキル上達の近道だ。
座学は基礎を学ぶのに適している。さまざまな企業が学習コンテンツを提供しており、それらを学ぶことで基礎を身に付けることができる。学習コンテンツではないが、ブログやホワイトペーパーなども技術トレンドを把握するのに役立つ。BeeXはエンジニアに対し、ブログや寄稿記事などで積極的に情報発信することを推奨している。情報発信することで他のエンジニアとの交流が活発になり、適切なコミュニケーションのやり方を学ぶことができる。技術スキルを学んだりトラブル発生時に助け合ったりすることも可能だ。そこで得られたノウハウをチームに展開すればチーム全体のレベルアップにもつながる。
ここまで内製化で必要となるエンジニアのスキルについて解説した。これらのスキルは内製化プロジェクトで重要なだけでなく、ユーザー企業、SIerを問わず「エンジニアとしての価値」を高めることにもつながると著者は考える。内製化に関わらないエンジニアであっても身に付けてほしいと思う。
次回は実際の内製化プロジェクトを基に、第1回で紹介した「内製化7つのステップ」の具体的な使い方について解説する。
株式会社BeeX
デジタルプラットフォーム本部
本部長
AWSエンジニアとして複数の案件に携わる。その後、 セールス、マーケティングなどAWSビジネスの立上げに幅広く従事。現在は、デジタルプラットフォーム本部にてクラウドビジネス全般を推進。
株式会社BeeX
デジタルプラットフォーム本部 デジタルインテグレーション部 2グループ
グループリーダー
独立系大手SIerにてWebアプリケーション、組み込み開発など複数の案件にPM(プロジェクトマネジャー)/PL(プロジェクトリーダー)として携わった後、クラウドビジネスの経験を積みたいと考え、株式会社BeeXに転職。
AWSエンジニアとしてアプリケーション開発の案件に携わり、アプリケーション開発グループを拡大させるため、新規案件開拓を努めている。
Copyright © ITmedia, Inc. All Rights Reserved.