趣味を業務時間に行うために

お仕事において、やりたいことを実現するために一定期間の間取り組む物事を僕らは「プロジェクト」と呼んでいる。 お仕事をやってるとプロジェクトにしたいアイデアは無限に増えていくし僕はそれらを全てこなしたい。

そのためにもそのプロジェクトに取り組む明確な意義を周りの人に伝え投資効果があると納得させるフェーズが発生する。 今回はプロジェクトのアイデアが生まれてから開始するまでの過程にある頭の中を整理する。

プロジェクトの分類

まず自分は日々のタスクを以下の5つに分類している。

  • 趣味プロジェクト
  • 業務プロジェクト
  • お楽しみプロジェクト
  • 趣味
  • 日常業務

趣味プロジェクト

趣味の領域だけどチームの人が納得するようなプロジェクト。 「僕だったら面倒でやらない」ってよく言われる。 長年チームの人がやりたいと思っていたが手を出せていなかった課題であることが多い。 業務の5割

業務プロジェクト

チーム全体が課題と感じておりチーム全体が今解決すべきと判断した一番優先度の高いプロジェクト。 以下のような間接的なモチベでやっている - 趣味プロジェクトにかけられる時間が増える - このプロジェクト(見える化など)によって趣味プロジェクトが達成したい潜在ニーズの顕在化につながる 業務の3割

お楽しみプロジェクト

  • 息抜き。プログラミングする系のタスク
  • 優先度が低いので時間を割くことはできないが、エンジニアというもの集中力が大事なので息抜きになるプロジェクトを一つは用意しておくべきと思っている
  • 我々の業務はプログラミングで解決できる割合は相対的にみて少ない 業務で息抜きしたいときはいつでも

趣味

  • 業務時間外でやる
  • 自分のリポジトリでやる
  • 業務から切り離されており、Open Sourceや記事として外部に公開するのを最終ゴールにしがち

日常業務

残り2割は日常業務。流石に自分も仕事します。 やらなければチームの他の人がそのタスクをするはめになっちゃう。

ここからは趣味プロジェクトに焦点をおき、開始の定義(DoR: Define of Ready)を考える。

whyを定義する

周りの人はなぜ(why)やるのかを知りたい。 そのwhyは周りの人もまたそのwhyにニーズを抱えている時に納得してもらえる。 以下の分類はマーケティングの基本であるが、今回のやりたいことを伝えるという行動も一種のマーケティングである。

ウォンツは「手段(what)」を表す心理であり、ニーズは「目的(why)」を表す心理である https://www.toshibatec.co.jp/datasolution/column/20230501_02.html

やりたいことというのは、総じて手段でありウォンツは相手が求めるものではない。 まずはニーズを感じるようなwhyを表現することが重要となる。

全てのwhyを説明してはいけない

ここで難しいのは「〇〇(why)だから〇〇(やりたいこと)をやる」という短絡的な思考でやりたいわけではないことだ、 そのやりたいことは達成するだけで複数の課題を解決できるものであり、上記一直線の説明にしてしまうと浅くなってしまう。 僕はオタクなので全てのwhyを喋ろうとするがそれでは失敗してしまう。なぜなら文章が長くなってしまい理解が追いつかなくなってしまうからだ、結局何が重要なのか問いただされ、結局浅い回答をする羽目になってしまう。 whyを定義するということは逆説的に(自分が思っている)whyを制限するということにつながる

一つの問題に対して、一つの改善を行うことは「いいアイデア」ではありません。 - 宮本茂 宮本茂に学ぶアイデアの出し方【星野源も活用!】 | 個人事業labo

ターゲットによってwhyを変えない

だからと言って複数のwhyを伝える相手によって変えるのも失敗する。一貫性がなくなり、「他の人から聞いたのとは違う」という印象を与えてしまう。大衆に対しての説明をする場合には一貫したwhyを唱えるようにする必要がある。

結果的にいろんなところで効果が出る

基本的な考え方はこうだ。 初めは単一のニーズを達成する名目でプロジェクトを開始する。人によっては「これが達成したら〇〇(他のニーズ)も達成できて嬉しい」と考えそのプロジェクトに賛同する。 プロジェクトを達成すると残りのニーズも達成され結果的にそのプロジェクトの実効性が明らかとなる。 ではその根源となる単一のニーズを表現するにあたって必要不可欠な要素とはなんなのか。

イデアは温めておく

whyにはwhy now, why me, why youの3つの側面があるがそのどれもが明確でなければ漏れがある状態だ。 後からでもいいじゃんと言われたら失敗だと思う。そういった意味で特にwhy nowが重要だし他にも優先度が高い取り組みがあるのになぜ今しなきゃいけないのかは一番詰められやすい。

趣味プロジェクトは基本的にすぐ取り掛からず温めておき、周りからの「いつかやらないとな」を感じ取ってそのモメンタムに乗じて繰り出すことでwhy nowを乗り越えるようにしている。 モメンタムはリズムを持っており、波のように定期的に浮き沈みするものだ。浮いた一瞬を見逃しちゃうとそのプロジェクト開始は結構先になる。

モメンタムを死守する - 馬田隆明 スタートアップのフォーカスとリズム 🎯🥁 モメンタムを死守する (1) - FoundX Review - 起業家とスタートアップのためのノウハウ情報

出来レースにする

うまくいかないかもしれないプロジェクトは多い、仮説検証とはそういうものだ。 開始と同時になんらかの形で一定のニーズが解決されるとそのプロジェクトに対する賛同は増えるだろう。 なのでプロジェクトにする前の仮説検証フェーズを用意している。 自分は金曜日の夕方あたりの時間を使って、プロトタイピングのアプローチで簡単な実験を行っている。 そこで得た成果をSlackで共有しその反応を見てプロジェクトの方向性を見極める。 ものによっては成果を隠しておいて1つ目のマイルストーンでお披露目する。 後者の方法はモメンタムを死守するのにとても効果があり、うまくいかないかもしれないとされるプロジェクトで効果を発揮する。 最近「small start, quick win」という言葉を学んだ。

売れるようにしてから作る - 馬田隆明 「作ってから売る」と「売ってから作る」と「売れるようにしてから作る」 ~技術の社会実装のための『開発』~ - Speaker Deck

業務を疎かにしてはいけない

ここからは自分の課題について述べる 趣味プロジェクトにかまけて、やるべき業務をやれないことがある。 若いことを言い訳にみんなに助けてもらっているが、どうにかしなければならない。

業務は経験をつけば、低コストでこなせるようになると思っている。 経験を積んだプロと調和してそのスキルを手にいれたい

業務外をさらに業務から切り離す

ふと気づくと業務外に業務に役立つことをしてしまう。 業務外が業務スピードに影響出る状態はやめるように心がけている。 それは知識に関わる部分でもそうで、ニュースを見る時はあれば業務ドメインに絞って見ないようにしたり、業務と同じ技術スタックでは基本ものづくりしない。 大きな理由として継続性がないと感じるからだ、周りの人と同じ業務時間でインプットも実験もしないと不公平と思っている。 業務外は役立たないことをしていたい。

これはプロとしてのこだわりだ

趣味とお仕事の違い

去年入社した頃は「課題があるのがお仕事、課題がないのが趣味」という区分で切り分けて、趣味は業務外にやろうと思ってた。 その後、趣味であっても課題は明確に存在するし周りの人も納得できることに気づき今は「明確な誰かのためにやりたいことをお仕事、今は見知らぬ誰かのためにやりたいことを趣味」として区別するようになった。

趣味は業務時間にやることができる

大学サービスを4年運営した

2023年今年大学を卒業した hikaeです。 かわいい後輩たちも、既におじさんです。

1年生の終わりから5年生まで、大学生向けのサービスを運営して感じた大学サービスを運営してみる良さについて語っていこうと思います。

自分がやったこと

自分が制作・運営したのは「筑波大学生専門の時間割 Twin:te」です。 当時、筑波大学の特殊な時間割に対応・データ連携できる時間割がないことから、開発がスタートしました。

たこなす(Twitter: @ITF_tako)のプロトタイプをユーザーが使いやすいようにデザインしてリリースしたのが2019年です。 その後、ユーザーが増えるたびにリデザインを繰り返し、今のアプリがV3(2021年~)です。 細かい話は公式ブログに任せます。

自分はフロントエンドとチーム開発の管理を責務としていました。 特にフロントチームは、サーバーのマイクロサービスのように完全に独立した設計でなかったため、複数人で同時並行に開発ができるように工夫したりしていました。*1

権限を委譲する

さて本題です。Twin:teはありがたくも4年目を迎え、順調に引き継ぎが行われています。 どんなに時間をかけても金銭的メリットのないこのコミュニティ。なぜTwin:teが4年目を迎えることができたのか。

サービスを同級生で作ることはできても、それを後輩や新規メンバーに受け継ぐにあたって一番大きな壁は、当事者でないことです。 既にあるサービスに新たな機能をつけようと考えた場合、これまでの遺産を作った人たちの合意が壁になってしまうと思います。 「このプロダクトは自分たちがつくった」といえる状態になれば、新しい意見や開発のモチベーションも出てくると思います。

例えば、自分は後輩*3に対して、ページ単位で機能ごとに全て任せました。HosokawaRは検索ページをすべて作っています。 この状態にしたことで、「この機能は自分が一番詳しい」といった当事者意識が出てくると考えました。

二人とも当事者意識が高く、もともとの性格もあると思いますが、ある程度は寄与していると考えています。

判断をコミュニティに委ねない

コミュニティが大きくなると勝手に動くことができなくなります。こういった時必要な過程が合意形成です。 例えば、大規模なアーキテクチャの変更を行おうと思ったとき、毎回の判断をミーティングやチャットで話していたらメンバーが消耗してモチベーションが下がってしまう原因になります。 合意形成で望ましいのは、作っていいか相手に聞くのではなく、プロトタイプを作った段階で合意を取ることです*4。 自分は4つのサークルに入っていましたが、ミーティングでコミュニティに判断を委ねる習慣ができてくると、真面目な人が消耗する悪循環に陥ると感じました。

営利目的でサービスを作らない

まずは、自分たちのサービスのマネタイズについてです。 Twin:teは寄付を募っており、そこからサーバー代やApple税などの諸経費を払っています。

自分としても、この形式がもっともよい状態だと思います。 いろんなアプローチは考えているのですが、Twin:teの作りたいものを作りたい人がつくるというスタンスが好きなので、今の現状が成り立っている内は変にマネタイズするといった進路変更はないです。

サービスを作りたい人の場合、個人開発やベンチャー立ち上げもよくあるでしょう。これらにないメリットとして、

  • 活動がある程度パブリックなので、人の目につきやすい
  • 大学サービスは攻めている市場が小さく、ブルーオーシャン

といった点がいいと思います。大学サービス発で天下を取ろうとしている〇〇〇ー〇などありますが、最終形態がSNSではすぐに消え去ると思います。大学サービスは非営利団体*2のモデルを踏襲することが望ましいです。

メンバー募集は受け入れて満足しない

これまでの要因を振り返って、新規メンバーを受け入れるにあたって重要なことは、同じモチベーションを持った人がモチベーションのあるうちに当事者意識のできるものを持つことまではコミュニティ運営者の責任であるということです。採用において、自分たちは同じような考えの人は全員受け入れてきました。自分たちのサービスの裁量権を新規メンバーに与える勇気と責任があって初めて採用が機能すると考えています。 そう考えると、初期の段階での採用は、与えられる役割の数だけ採用するのがとてもよいです。僕たちは総務あたりに役割がたくさん残っていますよ。

Twin:teの今後の目標は?

Twin:teはサービスというよりコミュニティというのが正しいですね。Twin:teコミュニティが今後どうなっていくかは、現メンバーしかわかりません。今後増えるメンバーがコミュニティと共に成長して、思いもしないようなコミュニティになってほしいと思っています。引き続き、サポートだけしていく所存です。


参考文献


  • *1: フロントチームは、僕を含めて4人いました。
  • *2: 非営利団体営利団体の違いとして、どちらも収益はあがるのですが、その収益を100%組織の発展に使うのが非営利団体であると認識しています。
  • *3: HosokawaRとhayato24s
  • *4: 今やっていることをお互いが把握しておくのは前提。

GitHubスポンサーで支援してみた

f:id:ITF_hikary:20211108105042p:plain

きっかけ

いつものようにGitHub見てたら、めっちゃおしゃれなREADMEがあったんですよね。 まあ、いつも見ているページなんですけど、インターン先(*1) がOSSへの寄付に結構積極的でそういった話していたので僕もやってみようかと思いました。

f:id:ITF_hikary:20211108105318p:plain

過去の寄付歴

といっても以前にも複数のプロジェクトに寄付したことがあって、少額ながらもOpen Collectice使ってました。

opencollective.com

vue, Nuxt.js, rust-analyzerの3つですね。 Facebook由来のReactなどと比較するとコミュニティー駆動なプロジェクトで、当時は結構お世話になってました。

ちなみに支援やめた理由は、Vue使わなくなったからではなくちょっと大きな自己投資しちゃった分の節約なんですけど笑。 学生だからしょうがないね

github.com ↑自分のOpenCollective歴

GitHubスポンサーつかってみた

GitHubはよく使うSNS(*2) なので気軽にアクセスできるのはいいですね、サムネみたいに1ドルの寄付だけでバッチを獲得できます。

f:id:ITF_hikary:20211108105042p:plain

今回支援したのはVue, NuxtのコアメンバーでおおくのOSSを持っているantfuさん。

Tailwindcssを高速化したWindicssや、スライドをvueとマークダウンで作成できるslidevなど、フロントエンド技術の最先端を走っている感あります。

みんなも気軽につかってみては?

プログラミング書いた人であれば絶対にお世話になっているOSSがあるはず(書いたことない人も) ってか機械さわってたら全てに入っているので、ちょっとみてみると面白いかも。

github.com

このサイトみてみたら、僕のコードだけで2.5kのプロジェクトに支えられているらしい!恐ろしい!


*1 株式会社HERPに長期インターンしている

*2 「Githubのせいで留年しました」 · GitHub