orangeitems’s diary

40代ITエンジニアが毎日何か書くブログ

お勧めしたい仕事の進め方

 

最近はシステム構築(ただしクラウド)の仕事を何件も同時進行していて、ていねいに仕事をする隙間がない。けれども、顧客には満足していただくしかないので、知恵を振り絞って同時進行で進めている。

何件もやるとわかってくる。システム構築はゴルフと似ている。最後には小さい穴にボールを入れなければいけない。ただし1打目からいきなり穴にボールを入れに行く人はいない。何打でホールインするかを考え、その間のプロセスについてざっくり計画を立てる。無計画にグリーンに乗ればいいやとエイヤとフルスイングしたら、飛んだトラブルショットになりリカバリーが大変って、ゴルフの話だかシステム構築の話だかわからなくなるほど似ている。

計画を立てたらボールを先に運んでいくのだが、この過程には「曖昧さ」が求められる。そりゃ、距離の短いクラブを使ったら仕事は易しくなるのだが、その分、打数が増えてしまう。システム構築では「工数」だ。いくら時間を使ってもいい仕事などないので、やっぱりできるだけ時間を節約したい。そうすると、ある程度ざっくり進めていくことが必要になる。

つまり序盤については、一つ一つ進めていくとしても、いきなり解像度を上げて綿密に対策をし、全てのリスクを洗って進めるのはまずい。経験を踏まえて、リスクとリターンの絶妙なバランスを狙って仕事を進めていく。

ただし、計画がうまく行くかどうかはわからない。道中で思っても見ない障害物が目の前に現れることだってある。どうやって安全に戻していくかも重要であり、毎回そこで頭を抱えていては試合にならない。限りある時間でリカバリー方法を考え、元に戻していくが、あまりにもリカバリーできないと「OB」になり、再度やり直す羽目になる。このOBの痛さと、現実のシステム構築の失敗は、とても似ている。打ち直しの上2打罰とかってひどい。

さて、最後、グリーンにボールが乗ったとする。最終局面だ。システム構築においてはテストやドキュメント整備にあたる。ここでは、これまで曖昧さを許容していた進め方が一変する。繊細な行動が求められる。ざっくり作業してきたからこそ、いろいろな設定ミスが残って当たり前である。それらをある程度時間を使って、念入りに調べる。グリーンではあまり大きなアクションはすることはないが、ここで手抜きをしてしまうと、3パット、4パットみたいなことが起こってしまう。終盤は曖昧を廃し、繊細さ、厳格さが必要になる。最後でつじつまを合わせるというのがポイントとなる。

ゴルフのことを書いているんだか、システム構築のことを書いているんだか、混同しそうなくらいよく似ている。序盤に丁寧にやりすぎると絶対に間に合わない状況で、とりあえずパワープレイでどんどんかっ飛ばし、それでも大怪我しないように大きなプランニングは行っておく。あとは、でたとこ勝負みたいな話であり、何度やっても思うが、すんなり行かないときは行かないので腹をくくるしかない。これはシステム構築の話だ。そして、最後は綿密に。

私と一緒に仕事をすると、序盤の適当さと終盤の厳密さの変わりように驚くと思うが、本当にこれが秘訣である。序盤に厳密にやりすぎて時間オーバーになり、最後に適当に構築したシステムが、トラブルだらけで結局大いに時間と費用を費やしたという事例を私は知っている。とにかく動くものを作り、あとは綿密に確認し修正を重ねていく。

後は、いくらざっくりグリーンまで運ぶと言っても、そのプロセスについては手順書の形で残していくことは徹底している。最後に問題が発覚したときに、どうやってここまでたどり着いたかの情報があればリカバリーが早いからだ。曖昧さの中に、ログは残すという対策を置くのは大事だと思う。

なお、私はゴルフはやったことがなく、ゲームでの知識なので、雰囲気で書いていることも付け加えておきたい。