はじめに
Clover Days お疲れさまでした! nikkieです。
ミリシタの記事かと思わせておいて、私の中ではソフトウェア開発にも通じるとある考え方についてつらつらと書いていきます。
目次
ミリシタ
Clover Daysをはじめ、思い入れのある楽曲のイベントでは、気づいたら遊んでいるという状態になりがちです。
イベント期間に楽曲をプレイするとポイントがたまり、獲得ポイントのランキングを競うというイベントシステム。
2500位以上(プラチナランカー)にはちょっとうれしい報酬があります(称号とか衣装とか)。
何回かプラチナランカーを達成して見出したのが、「小さく区切って絶えずやる」というスタイルです。
前提としてミリシタは、アイテムを使った自動プレイができます。
これをスキマ時間で絶えずやっています。
- 家事をしながらBGM代わりに自動プレイを流したり
- 仕事中の休憩時間に自動プレイを流してからお手洗いに行くなどしたり
プラチナランカーを目指すとき、私には、スキマ時間の中にいかに自動プレイ(いわばジョブ)をスケジューリングするかというゲームになっている感があります
「今日はこの時間にミリシタで遊んでポイントを貯めるぞ」と時間をブロックするスタイルもあると思います。
結果として私の性に合ったのは、自動プレイ1回を頻度高く繰り返すスタイルでした。
ポイントを貯めるには楽曲をたくさんプレイする必要がありますが、1回の自動プレイを絶えず行うという戦略でポイントを貯めています。
リファクタリング
上述した戦略(小さく区切って絶えずやる)はソフトウェア開発から見出しました。
その一例が、リファクタリングです。
Ron Jeffries氏のリファクタリングについての考え方を私は以下のように理解しています。
後でまとめてやるのではなく、機能開発の中で必要な小さなリファクタリングも込みでやる
ミリシタとの対比で言うと
- リファクタリングをしたい(コードの中の茂みを刈り取りたい) ー ポイントをたくさん貯めたい
- まとめてリファクタリング ー 遊ぶ時間を一定の時間まとめてブロック
- 小さなリファクタリングを絶えずやる ー スキマ時間の自動プレイを繰り返す
リファクタリングでもミリシタでも、ゴール(リファクタリング後のコード、プラチナランカー)に至るために
- 1回で大きく進んでゴールに至る、のではなく
- 小さく何回も重ねていって至る
すなわち、絶えずやり続ける、ということになるかなと考えています。
1日1エントリ
技術ネタでもアニメネタでも、1日1エントリを書いている当ブログ。
これも絶えずやるだと思っています。
継続する中で、エントリで扱う単位が小さくなったんですよ。
ここでも「小さく区切って絶えずやる」に行き着いています
書きたいトピックの中に3要素あるときに、1要素ずつ3日間で取り上げるのではなく、3要素をちょっとずつ取り上げて、
『継続的デリバリー』を引いていました
ソフトウェアの世界では、何か痛みを伴うものがあった場合にその痛みを軽減する方法は、もっとこまめに行うことだけだ。(Kindle版 p.62)
(なおブログの場合は、そのときどきの興味で書かれる記事たちをどのようにまとめ上げるかという伸び代があると思っています)
機能開発でも
「小さく区切って絶えずやる」ですが、ソフトウェアの1機能を実装するときにも採用するように考えています。
リリース1回とすることもないわけではないのですが、私の場合はブログを書くように小さく区切って何回もリリースします。
このときどんなに小さい変更でもその価値を受け取るユーザが1人でもいることにはこだわっていて、小さい価値が出るように区切れるように試行錯誤します。
縦スライスという言葉で表されるかなと思います。
1つ1つのスライス単体でリリースでき、全3回に分けていて2回リリースしたけど、3回目より優先度の高い開発が見えたからそちらに移行しようというような動き方が可能になっています。
2回分をリリースしているのでその価値は届き、価値の対価もいただけています。
何回リリースしてもいいんだと、そーだいさんも言ってました
終わりに
「小さく区切って絶えずやる」について書いてきました。
ちいずや!
この考え方はソフトウェア開発の中で出会ったもので、毎日1記事書くというどうかしている習慣を夢中でやる中で腹落ちした面があります。
私としては「小さく区切って絶えずやる」がなかなかに心地いいので、ミリシタにも適用されているのではないでしょうか。
一度に大きく積めなくとも、小さく何度も繰り返して結果として大きく積み上げるという発想です。
最後に、ハイキュー!! アニメ4期 20話より、稲荷崎の北さんのセリフです
反復・継続・丁寧は、心地ええんや