こんにちは スナックミー CTO の三好 (@miyoshihayato) です
四半期ごとにチームに共有している直近動いていきたいことを一部変えてこちらのエンジニアブログに載せたいと思います。
システムのシンプル化
非エンジニアにも向けて共有したので、シンプルと言う言葉にしてみました。
なぜシンプル化させたいかというと、サービス始めると様々な仕様が生まれては消えていき、相関してコードも増えていきます。言い換えるとプロダクト開発をメインで進めていくと様々な技術負債が生まれてきます。
技術負債とはコードやアーキテクチャだけの話ではありません。
例えば、「サービス当初は簡単でわかりやすかったが、様々な機能が増え、気づくとよくわからない」。
もしくは「以前はこの設定で動作していたのに、今はうまく機能してない・機能してなかったっけ?という、一つの機能の影響度が不透明」。このような状態はよくあると思います。
前者はいい意味で捉えるとサービスを使う用途は人によってそれぞれなので、必要な機能と不要な機能というのは存在してくることはあると思います。(100%いいとは限らない)
一方で、後者はチームで混乱を招く可能性があります。新しい仲間が入った時の学習コストが増加したり、本質的ではないコミュニケーションが発生したり(多方面から○○は□□すれば良いですか?と言うのな同じような質問など)、小さいミスが多発したりなどです。
非エンジニアにとってシステムはいくら内製化しても
仕様
= 守るもの
と捉えがちです。あながち間違ってないですが、足りないものに付け足す依頼はできても、マストな項目が多い場合、多いというのとに関しては気づきにくいものです。なぜなら、一つの機能に対して引き算していくことはその機能の周りにある関係性が見えにくいためだと考えています(必要だと思ってしまう)。また、人はペインに改善を求めますが、重要ではなく、複雑すぎるシステムは思考停止になりかねません。
そこで無意味な制限を極力なくすことで、システムのつながりがクリアにしたい。
このような技術的負債を定期的に見直す必要があると考え、今年のテーマとして取り掛かっていきたいと思っています
システムが原因で各々のチームをチェーンのようなもので身動きしずらい状態にせず、動きやすいゴムのようなものに変えていきたいとイメージです
シンプル化にすることでのメリット、デメリットは
メリット
おもしろいことがしやすくなる => できることの幅が広がる チャレンジがしやすくなる => ユーザーさんの満足度 =>会社・個の成長 チーム内の意思決定が早くなる => スピード感が生まれる / 次に活かしやすい
デメリット
個々が好き勝手でき、カオス状態になる可能性がある
会社を成長させていくためにはこの状態が必要だと考えているので、今年のエンジニアチームのテーマとしています。
データドリブン
「完璧なデータ分析基盤を作り、KPIから事業を促進していくぞ」みたいなことをしたいのではなく、取れてないデータを把握・残し、施策を打つときに何を確認し、トレードオフが起きていることろは何かなどしっかり考察できる状態にしていきたいと考えています。
改めて現状のKPIを一つ一つ見直し、インパクトがあるところ、トレードオフになっているところを把握できる状態にしていきたいと考えています。
というのも今年の3月でサービス開始丸6年たちあらゆるデータから施策など打ってきました。
その中でできていない施策、施策の因果関係、見ているデータの粒度など、整っていない箇所も多くあり、データを扱えるレベルを1段階2段階高めていきたいと考えています。
相手を理解していこうとする意識
物事を進めていくには必要な観点だと思っています。
弊社は、製造・出荷、商品開発 (定期便、ストア)、パティシエ、マーケ、CS、デザイン (オフライン、オンライン)など多岐に渡るメンバーが多く存在しています。
さまざまなメンバーがいるので、少しでも理解していくことがプロダクトを1段階、2段階前に進めることができると考えてます
一次情報が大事な話と一緒で、会社内でも自分たちの領域外の情報・思考をしっかり自分の目・体で感じる必要性があると思います。
例えば「A
ができないので、A
が欲しいから作って欲しい」 この観点だけ見るとA
が必要だから、A
を作る。理由もA
のように聞こえる。しかし、必ずしもA
が必要なのではなく、B
やC
を行うことで解決できることは多々ある。
しかし、最初からB
やC
の案が出るわけではなく、事業のドメイン知識やそのポジションの考え方を把握する必要があります。
エンジニア同士でもAを作ることできても、コード安全性、汎用性、データの冪等性などは別の話と近いかもしれない
まとめ
今年は昨年の動きや振り返りから個・チーム・会社全体として1段階、2段階スケールアップしていけるような取り組みをして、スナックミー全体をさらに促進していきたいと思います。
上記の3つの中で「システムのシンプル化」をマイクロサービス化と書かなかったのはマイクロサービスを目的としないようにしたいという意味を込めています。たまに手法を目的・目標としてプロダクト開発する時がありますが、目的はユーザーさんの満足度を上げることだと考えているので、チームとしての目標に掲げませんでした。
しかし、エンジニアは新古知新の姿勢が大事なので、現状に満足するとすぐついていけなくなるのは事実です。そのためにチームで補いながら開発していきたいと思います。
今年もよろしくお願いします。新しい仲間もお待ちしております。
「おやつと、世界を面白く。」 一緒に面白くしたい仲間をお待ちしてます!!