今回は「もしスタートアップに初期からJOINするとしたら」をテーマに何をするか、何は後で考えるかを自分なりに整理して書き出したいと思います。不確実性が高いので本当にそこに投資する価値はあるの?などはその時その時判断するしか無いので、今は楽観視して書きます。
# Index
- [[もしスタートアップ初期からJOINするとしたら|もしスタートアップ初期からJOINするとしたら]]
- [[もしスタートアップ初期からJOINするとしたら|もしスタートアップ初期からJOINするとしたら]]
- [[もしスタートアップ初期からJOINするとしたら|もしスタートアップ初期からJOINするとしたら]]
- [[もしスタートアップ初期からJOINするとしたら|もしスタートアップ初期からJOINするとしたら]]
- [[もしスタートアップ初期からJOINするとしたら|もしスタートアップ初期からJOINするとしたら]]
- [[もしスタートアップ初期からJOINするとしたら|もしスタートアップ初期からJOINするとしたら]]
- [[もしスタートアップ初期からJOINするとしたら|もしスタートアップ初期からJOINするとしたら]]
# 前提条件
事業内容やタイミングなどによって費用対効果や生産性の違いが生まれてしまう為、いくつか前提条件を定めた上で考えてい見ます。ちなみにフィクションです。もしそのような状態になっても違う選択をする可能性は十分ありますので、優しい目で見守ってください
- まだプロダクトが世に出ていない初期フェーズ
- 資本は自己資本に限定される、もしくはシードラウンドでの増資済み(金額は設定しない)
- SaaS系ベンチャーである(現実SaaS系で起業できる出来ないは考慮しない)
- 1週目、2週目なども考慮しない
- 技術さらにはインフラ面まで任されている前提
書き出して見て思うことは、完全にフィクション感。その方が無茶に考えやすいからいっかということで、最初に何をどうしておくかを考えてみます。
# 本題
そもそも1年後どうなってるかもわからない不確実性が高い状態なのは把握してる上で、それでも投資して置けると幸せだよね視点で書いてみます。
1. エンドポイント関係
2. 情報管理とコミュニケーション関係
3. システム関係
4. バックオフィス関係
## 読むのめんどくさい将来の自分に向けたキーワードメモ
1. エンドポイント関係
1. 端末はMacに限定
2. せめてJAMFで管理はしておこう
2. 情報管理とコミュニケーション関係
1. 最小限の場合
1. アカウント管理と秘密情報などの管理共有はGoogle Workspace
2. ストック情報はNotion
3. タスク管理はAsana
4. テキスト・ボイスチャットはSlack / Slack Huddle / Meet
5. 図などはMiro
2. 多少コスト掛けれる場合
1. GsuiteのContext Aware Accessを使えるプランを導入
3. システム関係
1. 一枚ペラのLPとかCMSが必要なサービスはWebflow
2. CI/CDは最初はActions一択
3. 実行環境はGAE/Heroku/Runなどを最初は選択
4. ドメイン管理はCloudflare
5. HTTPSとかWAFとかCloudflare
4. バックオフィス関係
## エンドポイント関係
- 創業初期は個人所有端末を利用する可能性が高いと思います。そしてその後増資のタイミングに、やっと会社支給端末に切り替わると過程します。Windows/Chromebook/MacBookProやAirが候補に上がると思いますが、強い気持ちでMBP(A)以外の理由がなければ、まず最初はMacに統一したいところです。
- Macは直接購入ではなくABMを使いたいので法人営業経由で買います。コストは手続きの面倒うな事くらいです。めんどうです。ただ面倒の先に幸福が待ってます。
- 初期エンジニアは端末セットアップやコーポレートインフラを担当することが多いと思います。まず端末は最初から複雑にセットアップする事は目的とせずJAMFの導入だけすませておきたいです。紛失したら?故障したら?新入社員が増えたら?と様々なイベントでマニュアルではなくJAMF経由でワイプ、初期化、セットアップができるので幸せです。まずはそれだけの目的でもいいです。あとからJAMF導入は結構辛いです。端末はなかなか初期化したくないですもんね(JAMF導入で初期化は発生しませんがリスクとして)
簡単に書くと最初は個人端末で購入するタイミングが来たら、ABM登録して法人経由でMacに統一。そしてJAMFで構成管理まではしないまでも導入だけはしとく。JAMFは初期の2日間でセットアップのハンズオンをしてもらえますので、その内容だけでGo
## 情報管理とコミュニケーション関係
### 最小限の投資を選択する場合
- メールアドレスとかはGsuiteでいいと思います。Driveに情報を集約させましょう。スプレとかGoogle Docsで当面は問題ないはずです。
- Gsuiteのプランは最初からビジネスにしてZero Trust!!といいたいところですが、最初は一番低いプランでいいです。JAMFを導入してる事で後々必要なものを入れるときが来ても簡単に配布できます。なので最初からはやりません。ビジネスは高い
- ID/PASSの管理、可能な限りSSO前提でサービスを選ぶと吉。とはいえID/PASSの管理が発生する場合はChrome標準を使おう。ID/PASSの共有課題がうまれるまではまだ不要でいいと思う。だからこそ強い気持ちでSSO
- Driveは社外との資料に特化しておきたいので、情報のストックと検索などドキュメントコミュニケーション文化を根付かせる為に最初からWikiは導入しておきたいところ、NotionかEsaかDocbaseかKibelaになるかな今ならKibelaかな。Notionでもいいけど少し出来ることが多すぎて使い方に悩みそう。
- Task管理は、Asanaですかね。Google tablesが気になるけどまだ利用したことはないので、今はAsana。最初からタスク管理系は導入しておかないと誰が何をするのかわからない状態になったり、依頼する時にSlackで依頼して、タスク管理が煩雑になる可能性がありそうです。
- MFAは最初から設定しましょうね。個人スマホでいいのでCode Authenticationとか、端末認証とか。紛失リスクもあるので2種類以上がいいよね。本当はyubikeyなどもいれておけるとスマホなくしても困らないからいいよね。
- Slackはたしかにコミュニケーション量が増えて生産性高まると思いますが、逆にSlackを見すぎて生産性が下がる可能性もあるので悩ましいですね。Asanaのプロジェクト内の会話機能で会話するほうが、会話から生まれる依頼やタスクなどがそのままAsanaに残るのでもしかしたらAsanaでコミュニケーションまで行う方が幸せかもしれません。がSlackですかね。
- Slackなどを使ってリモートでよりよいコミュニケーションを行うには、ローコンテキストコミュニケーションを意識できる事が大事になってくると思います。そのためにはここまでに上げたWikiやAsanaなどを中心に伝える事を意識できるといいですが、VoiceChatがあると何かと便利なので、常時Discordを接続しておくとかもよいなと最近は思ってます。
- リモート時代ではVideo Chatが必要になると思います。Zoom入れたくなるけど最初はGsuiteがあるのでMeetで十分ですかね。前述したDiscordがあれば当面はそれでも十分ですがGoogleカレンダーからすぐに移動できるMeet便利ですよね。
文字数多くなりすぎたけど、まとめると
Gsuiteを基本としてSlack / Asana / Kibela(or Notion)はSSOで利用
ストックする情報は全てWikiに、社内の大小様々なタスクはAsanaに集約してSlackではLinkを贈り合うコミュニケーションスタイル
テキストで長々議論が発生しそうになったらDiscordやMeetなどでVideo(or Voice) Chatで10,15分議論して解決しよう。テキストはコンテキスト次第でサクッと終わるけど、非同期コミュニケーションになるので、解決が長引きがち
### セキュリティ観点には多少投資が求められる場合
多少セキュリティには投資しておかないといけない場合もあるとおもいます。このセクションではその場合に端末周りに何を施すかを書きたいと思います。
- 端末がMacであること、そしてアカウント管理基盤がGoogle Workspaceします。Context Aware Accessを有効可する事で、会社支給MacからのみGoogle DriveやSAMLへのアクセスを許可する事が出来るようになりますので、[Google WorkspaceをEnterpr](https://workspace.google.co.jp/intl/ja/pricing.html)iseを選択しておきたい所です。
- Enterpriseにすることで、端末が支給端末であること、アカウントが会社付与のアカウントであることのまずは2段階でアクセスコントロールを制限することができるようになります。
詳しくは
[こちら](https://tech.mfkessai.co.jp/2020/04/mfk_zerotrust_1st/)を参照
## システム関係
- 創業初期からシードラウンドはサービスの運用開始に事業開発に専念したい所だと思います。しかしコーポレートサイトとか、初期LP作成などが発生すると思いますが、ドメイン開発に専念する為に、Webflowの導入をしたいところです。Webflowではhttps化、ホスティング、CMS化など最低限必要なものが全て揃っており、エンジニア工数0(理想)で構築・運用する事ができます。
- 最初に開発するプロダクトはGAE、RunとかAWS AmplifyとかHerokuなどを利用すると良さそうですね。リクエストがあるとインスタンス立ち上がる感じになるので、最初のリクエスト踏んだ人には少し遅くて申し訳ない気持ちになるけど、スタートアップでは負荷対策が間に合わずテレビ、ヤフーなどの○○砲に備えきれない事も多いかもしれないので、そのあたりは初期は考えたくないのでSaaSに任せたい所。
- 最近個人的にはDockerは配布、再現、一貫性などいいんだけどビルドとかデプロイとか考えるより最初はアプリケーションだけにフォーカスできる方がいいと思うので、用意しないかもしれません。Runも今はBuildpacksのおかげでシンプルならDockerfile不要、herokuとamplify, gaeは最初から不要
- CI/CDはGithub Actions一択。今のGithubは個人アカウントでもPrivate Repositoryを選択できのと、Actionsも無料時間が多い。初期の頃は食いつぶすくらい使い切ることはないんじゃないかな。ゆくゆくはCDはGCPならCloud Builderに責務を移動させたいけど、最初はActionsでCIもCDもやるでいいと思う。
- ドメイン購入とDNS管理は、Cloudflare一択かな。お名前やGoogle Domainsで購入してNSをAWS/GCPに向ける、もしくはCloudflareに向けてもいいけど、DNS関連を分けて管理は手間なのと、なんならドメイン領域とネットワークの関心分離はしておきたいので、Cloudflareにまかせてネットワーク課題はアプリケーションネットワークと同じ場所では意識しない方が後々幸せかな
- Cloudflare Proxy本当にただでいいの?とおもうくらいただで最初は十分です。20USD支払うだけでCDNにのせれたり柔軟にコントロールできたらりWAFもよかったり、ここではそこまで書かないけどネットワークでかいけつしだい課題を解決できる。なかった時代悩んでたことはhttp2httpsのリダイレクト。
システム関係は不確実性が高いなか使える時間も限られてるので、エンジニアのちからは可能な限りドメイン領域の開発に専念。その間に必要になるコーポレートとかLPは外注する事が多いかもしれないが、たいていの場合運用まで考慮されないことが多いので、インフラ構築とかに時間が取られてしまう。それを避けるためにWebflowなどのノーコードSaaSを利用。
自社サービスの運用は最初はシンプルなはずなのでむしろシンプルにして、Runなど簡単にデプロイして運用できるサービスを利用。理想は自動スケールするなど負荷対策に悩まなくていいもの。
スタートアップ初期はセキュリティに力を入れる事はなかなかないと思うので、むしろ優先順位が下がりがちなので、最低限ネットワークレベルは分離して勝手により良くしてもらうためにCloudflareを導入(無料で最初はいいと思う)するだけでも、WAFやDDoSがありがたい。更に言えば独自ドメインのHTTPS化も任せれる神ですね。
## バックオフィス関係
初期の初期は不要かもですが、導入する事になってきたら
- [SmartHR 0円プラン](https://knowledge.smarthr.jp/hc/ja/articles/360036956333--0%E3%83%97%E3%83%A9%E3%83%B3%E3%81%A7SmartHR%E3%82%92%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B)
- Amazon Business
ここは一旦スコープ外にしよう
まだ途中だけど、一旦公開。少しずつ加筆修正していきます。