内製開発って実際どうなの？(チーム組成2年目の振り返り)

![banner-01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1739961/45c4a1d7-5101-6cde-f67e-b4a418c3a11d.png)

## はじめに
以前の投稿からだいぶ間が空いてしまいました:sweat_drops:
我々ポーラオルビスホールディングスでは2023年より内製開発に挑戦し、チームを発足して早2年が経ちます。
今までの開発を振り返って、内製化の意義があったのかを考えていきます！



## 開発したプロダクト
チーム発足以降、私たちで新しく開発したプロダクトは5つです:raised_hand:
:one:は体制発足時のPoC案件として開発し、その後:two::three:をメイン案件として開発しつつ並行で:four::five:も開発してきました！
:three:は現在まだ開発中ですが、それ以外は絶賛稼働中です:runner::runner::runner:


### :one:勤怠管理システム
:point_down: でご紹介したデビュー作のプロダクトです！

https://qiita.com/hayakawa_POHD/items/bde6dd4a04b74ca92152


### :two:基幹システムのマイクロサービス化(商品管理機能)
:point_down: でご紹介した、基幹システムをマイクロサービス化して新たに構築した商品管理プロダクトです！

https://qiita.com/hayakawa_POHD/items/661580578da9fc1cf09f


### :three:基幹システムのマイクロサービス化(販促管理機能)
:two:の次のステップとして販促管理機能の開発を行っております。
販促管理の一部の機能の開発を年内完了目標で進めており、何とか間に合わせるべく奮闘中です！

### :four:定期販売に関するバックエンド機能
定期販売を受け付けるための一部機能を構築しました。受注機能を持つ基幹システムと連携して定期データを作成するプロダクトです。

### :five:ポイント寄付サービスに関するバックエンド機能
ポイントを寄付に利用した履歴を管理する機能を構築しました。ポイント寄付サービスページはEC、ポイント付与機能は基幹システムが担っておりますのでそれぞれのシステムと連携しています。


## 内製開発の効果
自分たちで5つのプロダクトを構築できたこと自体が成果と言えますが、内製開発による効果を特に感じた点を3つご紹介します。

### スピード
プロダクト:four::five:に関して、内製開発チーム発足前であれば基幹システムの一部として構築してきた機能です。
今回は内製化により別機能として新たに構築したことでスピード感をもって対応することができました:sparkles:
内製開発チームを組成していたことで、「やろう！」と決めたら契約等なしにすぐに着手できる(社内的な工数調整はもちろん必要ですが……)ので、スピーディーに開発が進められる点は良いと感じました:thumbsup:
また、内製開発体制というより基幹システムから切り出したことによる効果になりますが、新たな機能として構築したことで既存への影響を考慮する範囲が減り開発工数を削減することもできました！

### アジリティ
とあるSaaSを導入することになり、プロダクト:two:から新たな連携先へ商品情報を連携する対応を行いました。
途中で先方の仕様変更により作り直しが発生してしまったのですが、その際も社内の工数調整だけで臨機応変に対応できたのが内製開発の効果であると感じました:sparkles:
SaaS導入検討中の段階で「PoCやってみたい！」や「ちょっと変更したい！」と思った時に試行錯誤しやすく、新たな挑戦を促進する環境を構築できました！


### ナレッジ
内製開発プロダクトや関連業務のナレッジが社内に溜まっていくのがとても良かったです:sparkles:
外部問い合わせのための保守工数調整に苦戦せず、内部メンバーにすぐに確認できるのはありがたいです:blush:
プロダクトや業務以外にも、開発の進め方に関してもナレッジが蓄積できています！
最初は何もない状態から開発をスタートしてきたのですが、徐々に開発の進め方やルール、考慮すべきポイントが明確になっていきました。
この2年間の取り組みを基に開発ガイドラインを整備しており、今までの知見を今後の開発に役立てるようアウトプットしています:writing_hand:



## 内製開発を推進する上で苦労しているポイント
なんとか開発を推進し効果が見えてきたところではありますが、うまくいかない点もたくさんありました:persevere:
そこで、内製開発チームの発足や開発にあたって苦労したポイントについて、特に大変だったことや今も苦戦していることを中心にご紹介します。

### エンジニア採用
最初は内製開発エンジニア0人の状態だったので、採用活動はとても大変でした:cold_sweat:
開発チーム組成段階では、使用したい技術を自由に選び、自分たちでルールを設定して開発できる楽しさがあります。
採用活動において、この柔軟性と自主性をどのように魅力として伝えるかが大事なポイントになりました！
今年は、この点に興味を持ってくれた3名のエンジニアが入社してくれました:confetti_ball:
活発に意見を交わしながらとても意欲的に開発を進めてくれていますし、[わいがや会](https://qiita.com/yuki_nakamura_pohd/items/2b2c35532b8fd7975a6c "わいがや会の投稿はこちら")の企画等も自主的に行ってくださり、本当に感謝です:sob:
まだまだエンジニア募集しておりますので、ご興味がある方は是非採用サイトをご確認ください:point_down::point_down::point_down: 

https://engineer.po-holdings.co.jp/


### 開発生産性
今まで5つのプロダクトを構築してきてスピード感を効果として感じているものの、まだまだ向上の余地があると考えています:cold_sweat:
内製開発チームで開発をすること自体がゴールではなく、プロダクトの開発スピードを高めて事業の変化対応力向上に貢献することが求められているため、開発生産性は常に探求していく必要があります。
まずはFourKeys指標を測定し現状を可視化することから始め、開発をもっと効率化するための取り組みを行っていく予定です:muscle:

### プロダクト品質
ここで言う品質は、バグが多発してプロダクトが動かないようなものではなく、使いやすさや性能面で課題があることを指しています:cold_sweat:
使いやすさにおいてはマニュアルが無くても直感的に操作できるプロダクトを目指しています！
しかし、エンジニア視点で設計したUIになっており使いやすさには課題があるため、ユーザからのフィードバックを受けて徐々に改善しています。
性能面に関しても利用者がストレスを感じないレベルには到達できていないため、改善策を模索中です！


### 効果実感
内製開発の効果として3点を述べましたが、開発領域が限定的なこともあり社内広くにわたって実感してもらうことに難しさを感じています:cold_sweat:
当記事に記載した苦労ポイントの中でもこの点が一番難しいかもしれません:sweat_smile:
体制構築や開発生産性、プロダクト品質に課題があるという話を聞くと、「本当に内製開発は大丈夫なのか？ベンダーさんにお任せした方がいいのではないか？」と社内に不安を感じさせてしまいます。
特にプロジェクト外のメンバーは構築したプロダクトに触れる機会が無いため、課題が存在している中でも少しずつ効果が出ている現状を実感しにくく、不安が大きくなってしまいます。
効果実感をしてもらうためにはプロダクトを使ってもらうことが一番だと思っています:point_up:
そのため、来年はもっとプロダクトを量産して多くの方に活用していただき、内製開発の効果を実感してもらえる機会を増やしていきたいです:hammer_pick:


## さいごに
私たちの内製開発チームでは2年間で5つのプロダクトを開発し、スピード、アジリティ面では特に効果があり内製開発体制を構築する意義があったと感じています:white_flower:
ですが、課題はまだまだたくさんあり、効果は限定的なので、来年は更に多くのプロダクトを開発していくことで効果実感を広げていきます！