![見出し画像](https://assets.st-note.com/production/uploads/images/79276097/rectangle_large_type_2_7c4d4990634168a1d7795adc485ec4d3.png?width=1200)
「シュッとやる」を支える技術
「シュッとやる」とは簡単にいうと「素早くやる」という意味です。
周知の通り、スタートアップにおいて高速の仮説検証のためにいかに速くプロダクトを開発し、ユーザーに届けられるかが重要性となっています。
ではいかにシュッとやるか。今回は自分が意識したり工夫したりしていることをご紹介します。
フルサイクルエンジニアのチーム
フルサイクルエンジニアとはNetflixの下記の記事
で紹介されているものですが、設計、開発、テスト、デプロイ、運用、サポートなどソフトウェアのライフサイクル全てを担うエンジニアのことです。
フルサイクルエンジニアであることで
要望を深く理解し、実現のための最短の方法を見つけられる
全体を理解していることによる問題の切り分け精度が高くなる
コミュニケーションコストが最小化される
などのメリットがあり、シュッとやることにつながっています。
とはいえ現代のソフトウェア開発で必要とされる知識の幅は広く、一人でサイクル全てに精通することはほぼ不可能です。
そこでチーム全体として
スペシャリストからツール提供や技術支援を受けられるようにすること
少人数をユニットとして、ユニットメンバーが合わさることでフルサイクルであること
を目指しています。
質によるスピード
自動テスト、デプロイ自動化、ランタイムやライブラリの最新化などソフトウェアの品質を高めるための取り組みには当然コストがかかり、
スピードとトレードオフであると考えられがちですが、下記の著名なスライドにもあるようにむしろその逆で、質に投資するからこそスピードを出すことができます。
自動テストがなければデグレしていないか毎回手動で確認する必要があり、
古いライブラリを使っていては最新のアップデートの恩恵を受けることができません。
気合いではなく仕組みでシュッとやるを支えるために、プログラマーの三大美徳(怠慢/短気/傲慢)を奨励しています。
welldayにはwellday wayがあり、それは「利益と顧客体験」のように一見するとトレードオフにある要素に対してORではなく、ANDを追求しようという行動指針となっています。
プロダクトチームとしても
質とスピード
専門性とフルサイクル
といったトレードオフを乗り越え、
むしろ片方を追求するからこそもう一方も高めることのできる循環関係を生むこと目指しています。
シュッとやらないこと
基本的にスピードは正義ですが、慎重な意思決定が必要な場合もあります。
例えば
DB設計
ユーザーに対して後方互換性が崩れる変更
など、不可逆的なものや、取り返す際のコストが非常に大きなことについては、あえて一度寝かせるなどゆっくり検討することにしています。
とはいえほとんどのことはやり直し可能で、技術検証であればspikeを実施したり、機能アップデートであれば一部ユーザーにのみ変更を適用したり、影響を最小限にしつつスピードを追求することができると考えています。
スタートアップの最大の武器はスピード、アジリティ。
今後もトレードオフを乗り越え、「シュッっとやる」を志向する開発を追求していきます!
welldayではシュッと開発していきたい仲間を募集しています。