チーズのようなスケジュールからの脱却

こんにちは、エンジニアのゆうきです。
今日は仕事での失敗談と対策について話していきたいと思います。タイトルに書いてある通り、タスクを進めている途中にスケジュールに組み込まないといけないのに組み込めていなかったものを3つほど見つけた。それをスケジュールに組み込むとあと一週間は欲しいところ...
この原因はoutputを細部まで思い描いていないこと。例えば、outputがお客さんに使ってもらうツールのUIだとしよう。このUIは特定の人しか使えないツールとなっており、データのアップロードとアップロードしたデータの検索が可能であるとしよう。
この情報から、このUIの開発の要点をまとめると以下の通り。

・特定の人しか使えない
・アップロードができる
・検索ができる

では、大きく分けて3つをどのようにスケジュールに落とし込むか。

これくらい簡単であれば、経験からスケジュールが引けるかもしれないが今まで(周りの)誰も生み出したことがない価値を生み出す『仕事』という枠組みにおいては流石にこのままだと遅延が起きるだろう。
それではどこまで細分化すれば遅延が起きなくなるであろうか?結論を言うと『自分の経験からこれくらいかかると判断できるまで』である。
例えば、自分が朝出勤するまでにはどれくらい時間がかかるか考えて見てほしい。おそらく大体これくらいって出るのではないだろうか。そう、それができるまで細分化するのである。その上でスケジュールを引いてみよう。ちなみにこの記事を書くのに2時間かかった。
では、UI開発はどれくらいかかるか考えてみよう。
『特定の人しか使えない』を実現するためには、いろいろな手段があるが企業内ツールを想定するとSSOを使うと便利。そこでSSOを実現するためにはインフラの準備、UIの改修、APIの改修の3つに分けれる。(もしかしたら、ドキュメントの作成があるかも)自分はここまで分けてスケジュールを立てて遅延をしたので、もう一つ掘り下げてみよう。インフラ準備はロール定義、設定依頼。UIの改修はトークン取得リクエスト、ヘッダーへのトークン追加、ログインボタン、ログアウトボタン、ボタンを押した時の挙動。APIはインフラへのリクエストを含むトークン検証、ここまでくれば自分は大体それぞれこれくらいかかると予測できるのでスケジュールに落とし込む。

今回の自分が遭遇した例では3回細分化した。(自分がスケジュールを立てる時はこれから3回細分化しよう)このようにどこまでいけば、スケジュールに落とせるのかを意識しているとうまくいくのかもしれない。

もう一つ大事だと思ったことはスケジュールを立てる際にやらなくてもいいことがないか予定されるoutputと照らし合わせてジャンジャン削ぎ落とす。
今回のタスクでやる必要があるのか?それが最速で終わるルートなのか?と自問自答し続けよう。

そして上記がうまくできないのであれば、おそらく『Inputが足りない』もしくは『判断軸がない』のどちらかだと思う。なので、どちらか判断して適切に対応することが穴のないチーズを作る秘訣だと思う今日この頃である。

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