見出し画像

スケジュールの組み方最適解を探す

HuluでGame Of Thronesの最終章が配信されましたね
やったね
ponzuです

スケジュールって想定通りに進むことってあんまないっすよね

マネージャーのポジションから見れば
また違った観点なのだと思うんですが、
僕のポジションからの視点は開発者視点なので
今回は「開発者視点でのスケジュールの組み方」に関して
最適解を検討してようかなと思います

そもそもなぜ想定通りに進まないのか

開発開始時は「だいたいこんなもんだろう」と見積もって
その見積もりを元にスケジュールを構築していくわけですが
開発が進むにつれて見積もりが最適でないことに気づき、
見直しを繰り返しながら進むことになります

これは逃れられない現象だと僕は思います

その見直しを繰り返すうちに、
リリース日を変えられないことや
仕様の変更などでどんどんケツが迫ってきて
最終的にリリース前にバタバタする
というのがうまくいかない現象だと思います

スケジュールの見直しが発生することや
仕様の変更などは防ぎようがないですし必要なことでもあると思います
それを考慮して進めていくべき・・なの・・・ですが・・

だいたい開発が開始された時は
スケジュール余裕があるしー
ということであまり深く考察せず
今の進捗のみをみて進めちゃっていたり
余裕ブッこいてダラダラ開発
したり
まぁつまり本来の進捗が得られないわけですね

それもまた逃れられないとも思います
人間だもの

このダラダラだったり油断がスケジュール通りに進まない
一要因になっている
ことは間違いないと僕は考えます

想定通りに進めるためには

想定通りに進めるということに関しては難しくとも
なるべく想定通りに進むように工夫することはできそうです

なぜならダラダラ・油断しないように開発をすればいいので

じゃあダラダラ・油断しないように開発するには・・・

リリース前ってのはなぜ進捗するのか
焦りだすとダラダラしてられないですし
油断なんてないですよね
ゴール目の前なんで
背水の陣だったりするので

常にその状況に身をおけば
常に油断しないし
常にダラダラしないってことになりますね

常にリリース日を意識すれば焦るのか?
と言われればそんなことないっすよね
先述した「人間だもの」ですよね

期間に余裕があれば油断しますよ
そりゃ

じゃあどうする

個人で細かくゴール(期限)を設定する

ってのはいかがだろうか

これはチームとしてではなく、
個人として、目標を立てる感覚
自分を追い込むってやつですね

今週はこの機能を作るー
とかじゃなく
この機能はこの日までに作ってリリースする!
くらいの気持ちで
自分自身のタスクに対する期日を細かく切ります

これを一週間という区切りではなく
日という単位で期限を設けるようにすれば
変にダラつくこともないですし
リリース日という感覚に近いものを感じられる
(かもしれない)

さらに、余裕を持った期日を設けるという行為をやめます
この自分で期日を切るシステムにおいてはね!
プロジェクト全体で見れば、
システム開発における見積もりに関しては
バッファを持った期日は大切
だと思いますし
無理をしないスケジュールってのは開発者にとって非常に大切です
消耗しきっちゃったらダメですからね!

ただ、この細かく期日切ってくスタイルでは
バッファなしのギリギリできる方が
スリリングですし油断もダラつきもできない

切羽詰まった状態を再現できるような気がします

この繰り返しを行いながらタスクを消費していけば
自然とリリース日までに余裕を持って終わらせることができ
確認作業の時間やブラッシュアップの時間など
やりたいことがたくさんできる時間を獲得できます
多分

少々のゲーム要素を入れると良い気がする

設定した期日をクリアした数、
設定した期日ではできなかった数、
設定した期日との誤差
それぞれにポイントをつけてメンバー同士で
競い合ってみるのも面白いかもしれません!

期日の誤差にポイントをつけるのは、
余裕を持った期日を切らないようにするために
自分のギリギリを見出すことを目的とします

メンバー内で1位になった人は
ビリから何か奢ってもらうとか
罰ゲームとかつけるとさらにゲーム要素高まりますね!

ただ、早く終わりすぎたもんだから
期日までのんびりしよう・・・
みたいなずる賢い奴が出てくるかもしれないので
その時はルールを見直しましょう・・・
いい案があればぜひ教えてください・・・w

あくまで仮説です

正直この施策、自分で試したわけでないので
いわゆる仮説ってやつですね
なのでなんとも言えないですが
次の開発からはこの施策を試してみたいと思います

これでうまくいかなければアレンジするなり
また別の施策を考えるなり、
試行錯誤をしながら余裕のあるシステム開発をしたいですね!
誰も苦しくなくて誰も焦らない
平和で楽しいエンジニアライフをおくりたいものです

結果というか感想に関しては後日ブログに書こう・・・

ponzu

この記事が気に入ったらサポートをしてみませんか?