EmotionTechテックブログ

株式会社エモーションテックのProduct Teamのメンバーが、日々の取り組みや技術的なことを発信していくブログです。

未経験からプロダクト開発してみた

はじめに

はじめまして、データアナリストの柳です。

今回は、私が担当しているプロダクト「分析&レポート資料作成自動化ツール」を開発することになった経緯についてご紹介します。このツールは、手動で数時間かかっていた作業を数分で完了させ、データ分析業務の効率化を目指して開発したものです。

未経験からプロダクト開発に挑戦する中での学びや気づきが、これから挑戦する方だけでなく、すでに開発に関わっている方々の参考になれば幸いです。

背景と課題

当時、エモーションテックでは人手不足が深刻で、分析レポートの需要に供給が追いつかず、受注をお断りせざるを得ない状況が続いていました。このような状況に、目の前のビジネスチャンスを活かしきれないもどかしさを感じていました。

そんな中、「手動で行っている分析やレポート作成プロセスを自動化するツールを作れば、もっと多くのお客様にサービスを提供できるのでは?」というシンプルなアイデアが思い浮かびました。ただ、私は開発経験がほぼゼロで、Pythonで簡単な計算ができる程度の知識しかありませんでした。

開発の過程

最初の一歩:Google ColabでPythonを試す

まずは、分析業務で少しだけ触れたことのあるPythonを使って、簡単な分析結果とグラフをPowerPoint形式で出力することを試してみました。始めは開発環境を持っていなかったため、Google Colabという環境構築不要でPythonを実行できるプラットフォームを活用しました。

始めに立てたステップは以下の通りです。

  1. CSVファイルを読み込み、データを整形する。
  2. Pandasを使って簡単な集計を行う。
  3. python-pptxライブラリを使ってグラフを作成し、PPTに出力する。

開発を進める中で直面した最大の課題は、頻発するエラーでした。未経験の方が最もハードルに感じるきっかけとなるのはこの部分だと思います。当時の私もエラーの意味が全く分からず、心が折れかけましたが、調べながら1つずつエラーを解決していくうちに、なんとなくエラーによって何をしたら良いかがわかるようになってきました。

そんなこんなで、上記の最初のステップを進めていき、初めてPPTにグラフを出力できたときは、大きな達成感を得られました。

機能の拡張

そこから、いざ作ったツールを利用するとなった際に、以下の工程がものすごいめんどくさいなと思うようになりました。

  • データを毎回CSVでダウンロードして読み込ませる
  • 分析条件を適切な位置に文字列で入力する

そこで、弊社システムと連携しているBigQueryを活用し、Pythonで必要なデータを取得する仕組みを実装しました。また、分析条件を直感的にぽちぽち入力できる分析のオーダー票をスプレッドシートで作り、それを読み込む仕組みも実装しました。このようにユーザーが利用しやすくしたことによって、工程を短縮することができ、社内への浸透を進めることができました。

使用した技術スタックと仕組み

  • Google Colab
    • 開発初期の実験環境として利用することで、環境構築の時間を削減
  • Python
    • データ処理:Pandas、NumPy
    • 可視化:python-pptx
    • スプレッドシート記載の分析条件の読み込み
    • BigQueryのデータを読み込み
  • BigQuery
    • 弊社システムとPythonを連携させるために利用
  • Google Apps Script (GAS)

このツールの仕組みは、分析のオーダー票にあたるGoogle SheetsをPythonで書いたプログラムで読み取ります。また、プログラムがオーダー票に基づき必要なデータをBigQueryから取得し、その結果をローデータとしてPythonで分析を行います。最後に、分析結果はpython-pptxを使用して自動的にPowerPoint形式のレポートとして出力されます。これにより、分析条件の読み込み、データ取得、分析、レポート作成までのプロセスが自動的に行われる仕組みを作りました。

成果と学び

成果

このプロダクトがもたらした主な成果は以下の通りです。

  • 作業効率の大幅向上
    • 手動で数時間かかっていた作業が、数分で完了するように。
  • 受注件数の増加
    • 効率化により、これまで断っていた案件も受注可能に。
  • 提供価値の向上
    • 分析にかける時間が増え、より深い示唆を提供できるように。

学び

未経験から始めた開発プロジェクトを通じて、以下の学びを得ました。

  • 小さく始めることの重要性
    • 最初から多機能を目指さず、スモールスタートをした方が結果的に早く前に進むということを実感しました。
  • だいたい調べればなんとかなる
    • 大体の開発の問題は、先人が解決してくれているので、調べてそれを繋いでいけば、時間はかかるかもしれませんが解決できるなと感じました。今では生成AIもあるので、さらに未経験での開発はしやすくなっていると思います。
  • めんどくさいという感覚を大事にすること
    • めんどくさいという感覚は開発の大きな種です。このめんどくさいを解消するように開発をすれば大体のツールの開発はうまくいくのではないかと、開発を通して感じました。

最後に

今回ご紹介した「分析&レポート資料作成自動化ツール」は、現在では弊社のデータ分析業務を支える重要なインフラとなっています。今後もさらなる効率化と品質向上を目指し、AIの導入など新たな挑戦を続けていきたいと考えています。

このプロジェクトを通じて、「未経験からでもプロダクト開発はできる」ということを実感しました。最初はできるかどうか不安でしたが、それでも挑戦できたのは、先輩たちの「いいじゃん!まぁやってみようよ!」という言葉があったからです。手探りの連続でしたが、小さな一歩を積み重ねることで、実現できる世界が広がることを学びました。(みんな最初は未経験ですからね!笑)

この記事が、同じように未経験からプロダクト開発に挑戦しようとしている方や、日々の業務で「これ、めんどくさいな」と感じることを改善したいと思っている方の背中を押すきっかけになれば幸いです。 以上、柳でした!