こんにちは
システムチーム プログラマー / マネージャー のAです。
プログラム開発に延々とついてくる「遅延」の問題について話します
プログラマーに伝わりやすいよう、話します。
少々極端なタイトルだと思っていますが
なるべく頭に残ってほしい、という意図です。
前提から話します。
そもそも、簡単に遅延しすぎ。
よく「報告した / していない」が問題に上がりますが
そもそも、遅延しすぎじゃない? という指摘です。
「遅延報告」は難しいし、イヤなものです。
そんな報告の必要がないよう、
遅延しない進め方を心がけるべきだ と個人的に思います。
それが、
実装以外の仕事で手を抜かない姿勢に繋がります。
タスクの割り振りで手を抜かない
「1週間区切りの開発で、30時間のタスク1本」
こんなタスクの組み方は、言葉を選ばずに言うなら、ナメてます。
1週間あれば、調子の悪い日も、想定外もありえるのに、
自分の成果を1つのタスクだけに集中させて
100 or 0の進め方をすること自体、リスキーです。
具体的には
・確実に完了できるタスクを若干は入れる
・大きなタスクは分割し、細かいタスクとして取り扱う
こういった対応が、必要だと思います。
見積りで手を抜かない
出来る / 出来ない というよりは 深刻にやってない 印象です。
一般的な受注案件なら、炎上することになります。
具体的にいうと
開発内容を言語化している量が少ない、です。
例えば フォーム送信のタスク があったとして
自分が言語化すると↓のような感じですが
部下の言語化レベルだと、赤い所のみだったりします。少ないです。
マインドマップ的な指標としては、、
・1タスクに関して、横に枝を7 – 10個程度書く
・1タスクに関して、枝を100以上書く
くらいだと思います。
書くのが難しい、、と思ってるはずなので補足すると、
とにかく、思ったことを書いてください。
こうした方が良いのか? みたいな、語り口調でも良いので、
とにかく、思ったことを書く事から始めるようにしてください。
相談で手を抜かない
難しいのは承知の上ですが
ちょっと手を抜きすぎ、と思う事があります。
相談に関しては、考える事が沢山あります。
頻度、使う言葉、ツール、相手の頭の中、、、
これらを考える事からやめて、身勝手な実装に逃げ込む
といった状態になりがちです。
目的は相談からの逃避なので
実装に芯も無く、散々な結果に終わることがあります。
具体的なノウハウとしては、
・タイミングが速ければ速いほど、相談しやすい
になります。
タスクのスタート前や、スタート直後であれば
「何か相談することないかな・・・」
くらいのスタンスで丁度良いと思います。
プログラマーの仕事 というと
実装しているイメージが先行しますが
実は
実装のウェイト(≒重要度)は低く、
タスク全体の3- 4割 くらいだと思います。
つまり
システム開発仕事の7割は、実装以外の部分。
仕事の本体は、実装以外の部分にあります。
実装以外の部分で、どのくらい頭脳労働が出来るか。が大事です。
だから、
何か問題が発生した場合
実装で解決しようとするのではなく、
実装すること以外で、何か解決方法は無いか?
と考える事が大事かなと思います。