見出し画像

「カババ」の開発チーム秘話 “非エンジニアの社長“だからこそフラットと信頼をベースにした開発環境

「新サービスの立ち上げに携われることは、エンジニアとしてありがたい経験になる」と話すのは、アラカン設立初期からエンジニアメンバーとして活躍する永吉です。
今回は、開発の流れやエンジニアチームの働き方についてお話を伺いました。

この記事では、プロダクト開発の進め方から、チーム内のコミュニケーション、技術的取り組みや課題など開発チームについて紹介しています。
自動車フリマサービス「カババ」を開発するエンジニアチームのリアルをお伝えします。


ー簡単に自己紹介をお願いいたします。

大学卒業後ソフトウェア企業に就職し、その後アラカンに転職しました。現在エンジニア歴は12年くらいです。
アラカンでは自動車フリマサービス「カババ」の立ち上げから携わり、現在も開発からサービス運用、チームのマネジメントを行っています。
アラカンにはプログラマーとして入社しましたが、現在は業務委託のメンバーに作業を任せて、マネジメントをする仕事も増えていますね。

ーアラカンに入社したきっかけと決め手を教えてください。

アラカンに入社したきっかけは、前職をやめるタイミングで知人から誘われたことです。
入社した決め手は、代表である田中さんのビジネスに対する考えに共感したこと、新事業の立ち上げにチャレンジできる環境だったことの2点です。
新サービスの立ち上げに携われることは、エンジニアとしてありがたい経験になると思い入社を決めました。

重視するのは、ビジネス価値とユーザー体験

ー開発の流れを教えてください。

田中さんから増やしたい機能やサービスの要望が上がってくるので、要望の段階で十分にヒアリングを行います。
ビジネスとしてどのような価値を生むかや、お客さまがサービスをどう使い、どう嬉しいかといった点を最も重視していますね。

実際にサービスを利用するユーザーの声を重視するだけでなく、業務の中でシステムを使用する社員にもヒアリングを行い、まずはスモールスタートで柔軟に開発を進めています。

その後の設計開発やサービステストに関しては、エンジニアに任されています。
社内ミーティングでも情報を共有し、要望や改善点の指摘を受けるイメージですね。

開発チームでは、イシュー管理ツールを使って情報を共有しています。

テストについては、チーム内でテキストベースで共有し、認識が合っているか確認してから実施。リリースを行う際は、Stagingにデプロイして、最終の動作確認をしてから本番に反映するようにしています。その後、社内にリリース情報を共有する流れです。

チームミーティングは、1日1回のミーティング、週1回のミーティングを行い、必ずアウトプットのレビューをするようにしています。

ーサービスの開発要望に対して技術的に難しかったことを教えてください。

技術的に難しい要望はそれほど多くないのですが、解決に時間が必要なものが来ることはあります。とはいえ時間をかけすぎないことや、不具合がでないように注意して開発を進めていますね。

例えば、ユーザーの車の購入申請が終了する画面で、いくつか情報を記入してもらい、その内容をもとに別の付属サービスを提案する機能を作れないか?という依頼がありました。ただ、田中さんの要望通りに車の購入申請が終了する画面で実装すると不具合が出てしまうので、購入する前の画面で実装してはどうかと提案をするようなことがありました。
技術的な観点だけでなく、ユーザーにとっても使いやすく、且つビジネス的なメリットもある提案をするように心がけています。

アジャイル開発を取り入れ、自動化も進めて品質と効率を高める

ー高い品質、効率の良い開発を実現するために気をつけていることや取り組みを教えてください。

高い品質を保つために、チームはアジャイル開発で作業を進めています。こまめに情報を共有し、実際動いているサービスのレビューをして開発をする流れです。
誰にとってどのように嬉しい機能なのか納得した上で開発することを心がけています。
また、ソースコードは私がレビューして、品質を高めていますが、テストに関しては、人力のテストに頼っている部分も多く、今後の課題です。できれば自動テストを増やしていきたいと考えています。

開発の生産性の部分では、ビルドとリリースの部分で自動化をすることで効率を高めています。今後の課題は、ビルドの速度が遅く、1回リリースするまでに20分ぐらいかかる、ボタンを押してから実際に反映されるまで時間がかかる問題を解消したいですね。

ー開発においてタスク管理とコミュニケーションはどのようにされてますか?

毎日夕方にミーティングを行い、作業状況や翌日の予定を共有しています。それ以外でも適宜ミーティングして、メンバーから相談を受けています
1人のエンジニアが複数のイシューを並行して作業しなくて済むように、気をつけて仕事を依頼しています。また、イシューや全体のスケジュール管理は、無理のない範囲で相談しながら決めています。

コミュニケーションについては、基本的にはSlackでやり取りをしてます。相談事があるときには、Google Meetを使った会話が多いですね。イシュー管理ツールにコメントをしてもらい、私から返信することもあります。私で解決できない問題があれば、デザイナーや田中さんとコミュニケーションを取って相談する流れです。

todoリストに関しては、各メンバーに記入してもらいチーム全員で共有する形を取っています。

裁量が大きい一方で、残業は少なく、無理なく長期的に開発が続けられる体制

ーエンジニアの人数と体制を教えてください。

現在は正社員の私と業務委託のエンジニア3人、あわせて4人体制です。エンジニアではありませんが、デザイナーも1人正社員で働いていますね。

サービスのヒアリングから完成イメージづくりまでは私がメインで担当し、データベース設計や画面のUI部分を業務委託のエンジニアやデザイナーに作業をお願いしています。
サービスの品質担保の部分は、私がチェックする形です。

ー働き方や残業時間について教えてください。

エンジニアはオフィスに出社せず、フルリモートで働いています。残業時間は比較的少なく、多くても月20時間です。少ない月は5時間くらいの時もありました。

無理なく長期的に開発が続けられる体制を大事にしたいと思っており、業務委託のメンバーにも子育てとの両立や、体調を崩した時に休んでもらえるように気をつけています。

ーエンジニアとしてアラカンで仕事をするやりがいや魅力を教えてください。

仕事の裁量が大きいので、開発の進め方を自分で考えながらサービスを作れている部分が魅力です。
システムを実際使う社内のスタッフや、車の査定スタッフともSlack上で気軽に話せるので、お客さまからの声もよく頂けていますね。

システムを使ったスタッフの業務が便利になり、お客様が気持ちよく車を購入できたという声を聞くと、仕事をしていて嬉しいなと思います。

社長とフラットな関係で、双方に信頼を持つコミュニケーション

ー代表の田中さんと連携して開発することが多いと思いますが、協業のイメージやエンジニアからみた印象を教えてください。

田中さんは、無理な要望やスケジュールをエンジニアチームに依頼することはありません。
私からも、開発の流れや完成までの時間、無理のない開発スケジュールを気軽に相談できています。
開発の優先順位やチームの意思を優先してくれるので、とてもありがたいですね。

また、田中さんはビジネスのことを理解しており、スクラム開発でいうところのプロダクトオーナーのポジションをやってくれているイメージです。
車業界の経験も長いので、ITを使って業務を効率化する方法を相談してくれます。

ビジネスへの理解が深いので、技術やITの面でエンジニアがサポートをしていくスタンスですね。
私やチームとも直接コミュニケーションを取ってもらえるので、組織として円滑になっていると感じます。

ーアラカンの組織やカルチャーに適合するのは、どのような価値観を持つ人だと思いますか?

仕事に対する責任感は大事ですが、無理をしすぎない範囲で自己管理することも重要だと思います。
開発者としてのエゴが強く、やりたい作業や得意な作業だけやる人よりも、ビジネスの成長のために最適な問題解決の方法を考えられる人がマッチすると思います。

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