読者です 読者をやめる 読者になる 読者になる

warikan(現金いらずのビットコイン割り勘ツール)の開発をふりかえってみる

bitcoin advent-calendar

こんにちは。@akase244 です。このエントリは イノベーター・ジャパン Advent Calendar 2016 11日目の記事です。

今年はwarikanという「ビットコインで割り勘ができるwebサービス」にかなりの時間を割いてました。いい機会なので、今回はこのプロジェクトのふりかえり(KPT)をやってみようかと思います。

f:id:akase244:20161204172615j:plain

warikanはどんなサービスなの?

サービス名のとおり「割り勘」を行うためのサービスで、支払いを「ビットコイン」で行えるというのが大きな特徴です。

スマホ向けの割り勘アプリを見てみると「多めに払う人の設定」ができたり、「端数金額の調整」が行えたりといったようないくつかの機能差はあるものの、あくまで「一人あたりの金額を提示すること」が目的です。

warikanでは一人あたりの金額を提示することに加え「割り勘したメンバー毎に支払ったかどうかを確認できること」を提供しています。

f:id:akase244:20161209111346p:plain:w500

このような割り勘の入金情報を追跡できるアプリはLINE PayYahoo!ウォレットが代表的ですね。

海外ではVenmoCircleBillPinといったサービスがありますが、ビットコインに特化したものは国内ではなかなか無いようです。

そもそも「割り勘」という文化は日本特有みたいで、海外では(国によっては)あまり馴染みのない支払方法のようです。

上述した「Venmo」は「ググる(=Googleで検索する)」のようなニュアンスで送金行為のことを「Venmoする」といった使われ方をするとか。

なのでwarikanも「warikanする」といった使われ方(新たな支払い文化の定着)になればいいなぁと妄想しています。

warikanはなぜドイツのドメイン(.de)なの?

お気づきの方もいるかと思いますが、「支払いはどうする?」「それ、warikanで(de)」といった感じで使っていただけると、開発者の意図どおりで嬉しいかぎりです。

一年間を一気にふりかえり

  • 1〜3月
    • 1月初旬にエンジニア3名が集められ、以下のような話がありました。ざっくりはこんな感じだったのでないかと記憶しています。
      • ビットコインを絡めたサービスを作る。
      • スマホをメイン利用としたwebサービス or スマホアプリ。
      • 3ヶ月でプロトタイプ版(外部公開版ではなく社内で動作が見せられるもの)を準備する。
    • そんななか、この時点で掲げられた合言葉は「春にはコーヒー豆をビットコインで割り勘」でした。
    • 「サービス開発とは?」といった初歩的なことも分からない状態。
    • ビットコインにいたっては、プロジェクトにアサインされた3人とも「ビットコイン?」、「ブロックチェーン?」、「ウォレット?」、「取引所?」って。。。みたいな状況。
    • それはそれは難航しました。
  • 4月
    • 残念ながら3ヶ月ではプロトタイプ版は完成できず。
    • 「3人体制は今月までとするので、それまでにプロトタイプ版を完成させましょう」という流れに。
  • 5月
    • ビットコインの「ビ」の字も知らない3人でしたが、初旬にどうにかこうにか思い描いたプロトタイプ版を作り上げることに成功。
    • 私がプロダクトオーナーとしてプロジェクトに1人残ることに。
    • 中旬から下旬に掛けてアルファ版の方向性を決定。
  • 6月
    • デザイナー1名が参画し2名体制に。
    • 不足している機能や準備すべきことを以下のように洗い出し、これらを1ヶ月以内に準備しアルファ版としてリリースすることを目標に掲げました。
      • サービス名とドメインの確定。
      • サービス全体のデザインやロゴの確定。
      • SNSログインの実装に伴い、ログイン周りの仕様の確定。
      • ビットコイン周りの技術調査と仕様の確定。
      • サイトの多言語化対応。
      • 利用規約(法務面)の整備。
      • 本番サーバーの準備と運用コストの試算。
      • リリース時のプロモーションプラン。
  • 7月
    • 幾度かのリスケ。。。
  • 8月
    • 下旬にアルファ版として公開するにいたる。
    • リリース当日にFukuoka.php Vol.18でしれっと告知しました。
    • GitHubリポジトリのREADMEに書いていた「春にはコーヒー豆をビットコインで割り勘」という記述を「夏にはコーヒー豆をビットコインで割り勘」にこっそり修正。
  • 9月
    • アルファ版リリース時に間に合わなかった機能や追加で実装すべき内容を洗い出し、ベータ版としてリリースする内容を確定。
    • 10月のどこかでリリースすることに。
  • 10月
  • 11月
  • 12月
    • 開発驀進中です。
    • 12月中にはベータ版としてリリースしたい所存。

Keep(よかったこと)

  • 最初の取り掛かりの段階で「インセプションデッキ」、「ビジネスモデルキャンバス」、「リーンキャンバス」といった手法があることを教えてもらい、そのあたりを見よう見まねで試しつつ、ぼんやりとしたMVP(Minimum Viable Product)のカタチ、つまり「そのプロダクトが持つ必要最低限の機能」をエンジニア3人でひねり出す過程がよい経験になった。
  • 苦しみながらではあったが、プロトタイプ版、アルファ版を動く形までもっていけた。
  • Laravelを実際の業務の中で学ぶことができた。
  • CircleCIを使った自動デプロイ方法を習得することができた。
  • FacebookのGraphAPIを使った開発の知見を溜めることができた。
  • ビットコインサーバーの構築方法を確立し、主要なビットコインAPIの利用方法を習得した。

Problem(わるかったこと)

  • メインの通常業務をこなしながらこのプロジェクトもやっていたので、正直なかなか時間が取れない状況が続いた。
  • プロトタイプ版の開発で分業体制を取ってはいたが、週次の定例ミーティングで「進捗なし」というつらい報告をしたのは一度、二度ではなかった。
  • エンジニア寄りではない作業を行う機会が多くあったが、そうなった時に急に手が止まってしまう現象に何度も陥ってしまった。
  • ビットコインに関する技術情報は英語がほとんどなので、そういった資料を必然的に読む機会が多かったが、APIの説明を誤訳した状態で利用してしまっていたりして、英語力の必要性を改めて感じた。
  • スピード感を持って作業に取り組むように言われていたが、「お金」に絡むシステムなのでどうしても慎重になり、作業スピードを落としていた部分があった。

Try(ためすこと)

  • SNS連携は現状Facebookのみに対応しているが、他のSNSプロバイダも増やしていきたい。
  • サーバー側についてはあまり経験のないLaravelを学ぶ機会となったが、次はフロントエンド側にチャレンジングな要素を取り入れたい。
  • Googleアナリティクスについては苦手意識があるので、今後は分析のやり方も身につけていきたい。
  • サービス開発を行っていくにあたり、作業のやり方の流れをある程度把握し、また次のサービスを手がける段階になった場合に経験を活かしていきたい。

まとめ

一年をふりかえってみて「去年の自分と比較して成長できてるか?」というのがやはり重要になるかと思います。

自分の感覚としては技術面においても、技術面以外でもその実感はすごくあります。

なので、これからもこのプロジェクトを通してどんどん成長できるとよいなと。がんばります。はい。

いつもの

《福岡》健全な環境で思う存分プログラムを書きたいエンジニアを募集中!