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

Ich lerne Ruby on Rails for Africa

Railsとアフリカとkintoneで苦戦するブログ

めっちゃでかいリリース(の作業)が終わった

昨年のこの時期もリリース前でバタバタしていた。この1年で結構でかい新規機能投入を含むリリースを少なくとも6回はしている。それでも、まだまだ機能が足りない、ここがバグがある、通信が遅い、データの同期の問題がある、などなど仕方ないものも含め、お客さんに提供は出来ているものの、僕ら自身が目指す世界を実現するためにはソフトウェアとしてまだまだだった。

さっき、ここ1年の中で一番大きいリリースを終えたばかり。日本は夜中の2時だけど、アフリカだと20時頃。ログは全く動いてなかったし、日本とは違って土曜の夜にもなると業務アプリケーションいじってる人は誰もいないんだなーとか思いながら、Enterを押して、アプリケーションのデプロイにDBのmigrationを走らせて、必要なrakeタスクも実行してデプロイ完了。

今回のリリースは、ホントにハードだった。事の発端は4-5月ぐらいで、結構なハイペースでリリースを繰り返していたがアフリカの通信の状況、現地スタッフのアプリケーションの想定のしない使い方、通信が遅過ぎてどうにもならないとか、ソフトウェアとして限界を迎えようとしていた。毎日起こる問題にデバッグをして再現性を見つけて潰しては、また新たなissueが発見される・・・。1年弱走り続けて負債もたくさんあるし、継ぎ接ぎで作って来たアプリケーションなので仕方ないと言ってはいけないのかもしれないが、仕方ないことだと思ったし、いつかどうにかしないといけないけども日に日に積まれていく新機能の提案に対して立ち止まって負債を返済するなんてなかなか意思決定はできなかった。

5月に入ったぐらいかな。代表と話していて、結局ソフトウェア的にはゼロから再度開発をして、必要であればDBや通信を扱うライブラリごと変えてしまうぐらいのことが必要だと思う、という話をして、一旦新規機能の開発や営業を止めてもらって、ゼロから開発し直すことになった。本当に、あのタイミングで良かったと思うし、代表の胆力を見た気がした。カッコいいよね。

そこから、データの同期のアルゴリズムを試行したり、DBのライブラリとの相性を試したりと色々しながらまた新機能も載せながら、かれこれ3-4ヶ月もかかってしまったけど良い物が出来たと思う。ホント、みんなありがとう。Web側も、今回ので色々な機能が乗っかったし、複雑さも増したけども、テストもある程度書けるようになってきたし、それによる恩恵も受け始めてるので、完璧であることは求めないけども、勘所は押さえつつ開発を進めていけたら良いなぁ。とはいえ、やや開発者としてレベルアップが求められている感じがしているので、色んなことを吸収して組織に戻して、さらにそれを共有してとSECIモデルを良い感じに回して行きたいよね。

「あのタイミングでの意思決定で良かった!」と言えるようにするには、ソフトウェアだけではないけども、そう言えるだけの材料は揃ったと思うので、ここからはエンジニアも含めてどんどんと事業を進めていって、ふと後ろを振り返った時にそう言えるだけの結果を出せるように頑張っていこう。

Develop the future of Africa with technology and strategic management