generated at
Scrapbox開発プロセス

一時的なのかわからないが人が増えそうなので、Scrapboxの開発プロセスがどんな感じか書く

前提
ただの手じゃなく、頭が付いた手が必要

理由
インパクトを重視したいから
単純労働する要素が無いから


研究やアートと同じ
インパクトが無くなる要素
どこかで見たような物に近づける
機能が多ければ多い程良いという考え
バグが多い
インパクトのある機能というのは、最初にユーザーをギョッとさせてしまう事が多い
バグが多いソフトウェアもまた、常にギョッとしてしまう
機能なのかバグなのかわからなくなってしまう
コードの量が増えると良くない
次の機能のプロトタイピングの邪魔になる
機能追加してるのにコード減ってたら最高


pull requestがmergeされる条件
このセットが最終的に言語化され、全部揃う事
現状・状況の分析
その機能の意義
使い心地の良さ

コードの質や設計の良さは、shokaiが見てどうにかするので安心しろ
どう良くて、現状とどう変わるのかを説明するのは得意なので、サポートしますshokai
私と協力して言語化しましょう
コンセプトは対話によって洗練される
つまり、カッチリしたアカデミックな研究と違って常に仮説を持って物事に臨まなくてもまあ良いよという事だが、最終的に揃わなければダメです


単純労働 必要なし
運用もほぼ完全に自動化されていて、安定している
フロントエンドからサーバー側の運用まで一貫している機能が多い
分業が難しい
Logentriesの設定画面をマウスでポチポチクリックする、の様な単純労働はたまにあるが、あんまり無いし、クリティカルすぎるので私がやりますshokai
考えたり、新技術を調査・研究するのに時間を使いましょう

手戻りを恐れない
密にコミュニケーション取らなくていい
取りたければ取っても良いが、私は寝てるかもしれませんshokai
1人の頭の中にあるゴチャゴチャとした物を「こうだぞ」と出す効率がわりと高いのが、ソフトウェアの良さ
作るのが強烈に難しい物であれば
イラスト、パラパラマンガ、GIF
あるいは厚い文章記述
で、先に共感者を得るのも良い
高速に作って失敗する
骨は拾う
捨てたpull requestも、何が悪かったのか?をしっかり分析する
次に活かす
意外にも、全然関係ないところで知見が活きたりする
他人が見やすい場所にまとめておくと、他人が活かせるかもしれない
失敗は全く無駄ではない
次に似たような物を作る速度が確実に上がる
何がどうダメだったか、知見が貯まる

機能を追加する事が目的ではない
無駄な機能が多いとインパクトが無くなります
「ユーザーに価値を素早く届ける」とか言い出すと、焦って間違える
おちつけ
今の作業を素早くやる事は、あまり考えなくて良い
どうやっても素早く完成してしまうようにするべき
日頃からリファクタリングをしておくとか
無駄な会議しないから時間がある、とか


考えるというのは書くという事
書いてないのは考えてないのと同じ
Scrapboxに不満、問題、状況分析、あるいは青写真を書く
そのためには常にドッグフーディングが必要
通常と異なる用途、状況、メンバー構成でScrapboxを使ってみる事を推奨します
実はそれがやる気を出すテクニックにもつながっている
わからないなりに書く
わからない人がわからないなりに、うろ覚えでScrapboxページを書く
それを詳しい人が添削して、正しい情報にする
これが一番、双方にとって話が速い
GitHub issue
使ってない
issue間の関連性に気づく機能が欠けている為


コードレビュー
基本的にshokairakusaidaiizが見て「LGTM」と言ったら、master mergeしてよし
2020年まで
slackに ninja: release scrapbox と発言するとmasterがproductionになってリリースされる
2021年から
master mergeしたら即リリースするようにした
pull requestにpull requestする
人間語で説明すると面倒くさい時
寝て起きたらmergeされていてほしい時
修正箇所を箇所→修正→修正を確認してLGTM→merge
ではなく
「これをmergeしたらmasterにmergeして良いです」にすると、2往復減る
プルリク返しは、複数人で漏れ・抜けを減らしたり、互いの意図を確認しあうのに便利な手法だと思う
作業を割り振る上意下達の組織ではなく
互いにカバーしあうチームができるのではないか?


取っ掛かりを得る
アイディアについては、様々な状況でドッグフーディングしたりで得られる
しかし実際にコード書く時、知らない場所をいきなり変更するのは難しい
なるべく自分で掃除すると、わかってくる
つまりリファクタリングしたり
npmのアップデートをしてみたり
controllerやReactコンポーネントの実装についてScrapboxにページ作って、こういう仕組み?とか書いてみる
私が「そうだぞshokai」とかレスします


休んでください
shokaiが土日、あるいは平日の深夜早朝に働いている様に見えても、合わせなくて良い
平日の昼間に勝手に休んだりして調整している
時間に縛られず、やる気という要素だけに従った完璧に規則的な生活を営んでいるだけ
あなたもまた、私のやる気の増減に合わせる必要は無い