lisz-works

プログラミングと興味を貴方に

なぜデスマーチが起きたのか分析してみた

【スポンサーリンク】

デスマ!

以前、アップしましたが、最近はじめてのデスマーチを経験しました。

www.lisz-works.com

「ほんっっっっとクソなんだけど!!」

と、心底思っているのですが、

「そもそもなんでデスマーチになったのか?」

を考えてみました。

前任者の退社

まず直結した一番のインパクトは、「前任者がすでに退社している」ということでした。

なんかよく聞くパターンな気がしますが……

それにより引き起ったのが、メンバーの知識力不足。

引継って大事だなって思いましけど、正直難しいですよね。
自分にとって当たり前になってる事を、知らない人に短期間でまとめて説明するってかなりのリスクです。

「引継」ってよりは、日ごろからの周囲への展開とか、資料のまとめとかの方が大事なのではないかと感じました。

メモ書き付きの資料とか、補足資料とかもね。

こういうのをナレッジベース的なものやWikiなどで、統括・管理していれば、そもそもこういう問題も出なかったのかもしれませんね……

仕様調整不足

これも結構あるあるなんですが、やはり大きいです。

例えば

「出てきた仕様が実は実現不能」

とか

「既存機能との競合で、正常に動いてくれない」

とか

それのせいで、やったことがムダになったり、ムリヤリ実現できるようにしたりなどなど……

ムダになるのは、時間を大幅に消費するし、
ムリヤリ実現は、ソースが複雑怪奇になっていきます。

この後に続くのは地獄です。

見積の甘さ

「こうしてください」

という要望に対して

「ここがこうだから、まぁ大したことないだろ」

と、見積を出したものの……

実はその箇所が色々な所に影響したり、仕様調整不足がここで実は不確実な状態で進んでいて……

なんてことになると、時間が足りなくなって、スケジュールがどんどん後ろになっていく……

ならまだよいのですが、ここで完了日がリスケ*1できない!となると、待っているのは「その日までに間に合わせろ」という地獄です。

いにしえからの付けたしアプリの代償

以前から使っているアプリで、「同じものを多少カスタムすれば実現可能」なんてとき……

最初はいいかもしれませんが、これが通用するのは本当に最初の方だけなんだろうなと思います。

仕様調整不足で「ソースが複雑怪奇になる」というリスクを挙げましたが、これも複雑怪奇になる要因の1つです。

付け足ししていったソースには、

  • 今のアプリでは不要な処理が入ったまま
  • 処理の最適化を行なっていない
  • その場凌ぎなソースを付け足しがち

などのことが起きます。

「既に動いているものに何かを足して行く 」というのは、メリットが大きいかもしれません。

しかし同時にキレイに使わないと、どんどんカオス化していきます。

ご利用は計画的に……

できることなら、間違っても「コピペ量産」とか、なるべくしないようにしましょうね……

じゃあどうしたらいいの?

というと、簡単な回答は

「これらと逆のことをすること」

です。

問題点の解決策で一番端的なのは、やはり問題点と逆のことをすることだと思います。

ただ、「ソースの付け足し」は「するな」とは思いません。

毎回、どこかのタイミングで、ソースをクリーンアップする時間を入れなければならないと思います。

あとがき

未だデスマーチに巻き込まれている真っ最中ですが……

きっともうすぐ一旦は落ち着く「はず」と、思っていますが……

厳しい戦いですね……

体力と精神力がそろそろ限界にきている……

*1:スケジュール変更すること