開発日誌

炎上プロジェクトとQCD崩壊の関連性について

投稿日:2014/07/09 更新日:

炎上プロジェクトとQCDの崩壊には関連性があった

この業界にいると「プロジェクト炎上」に巻き込まれることがしばしば。
なんとか避けようとしても炎上プロジェクトの方からすり寄ってくる始末。

何度か炎上プロジェクトを経験していくにつれて、プロジェクト炎上具合の進行とQCDの崩壊に関連性があるのではないかと気がついた。
今日はそれについてちょっと書いてみる。

プロジェクトとは何か

「プロジェクト」という言葉をよく業界人は使うがまずはその定義をしてみます。

プロジェクトとは

「プロジェクト」とはPMBOKでは


プロジェクトとは、独自の製品、サービス、所産を創造するために実施される有期性の業務である。

書かれています。
ここで重要なのは「有期性」。
そう、プロジェクトには必ず「終わり」があります。いやあるはず。でも炎上プロジェクトではこの「終わり」がとてつもなく遠くにあります。
それは後ほど。

PMBOKとは

PMBOKとは「プロジェクトマネジメント知識体系ガイド(A Guide to the Project Management Body of Knowledge.)」の略で
プロジェクトマネジメントの知識体系をまとめたもの。

QCDとは

QCDも一応説明を書いておきます。


品質(Quality)、価格(Cost)、納期(Delivery/Time)の頭文字をつなげた略語。
ビジネスにおいて重視すべき3つの要素のこと。

プロジェクト炎上の初期・価格(Cost)の崩壊

プロジェクトが炎上し始めると当然ながらプロジェクトマネージャと呼ばれる人たちは懸命に対策を打ち始めます。
最初に始めるのが「遅れは残業で取り戻そう」という試み。
次第にメンバーが定時で帰れなくなり気が付くと全員が残業状態。
これでなんとかなれば良いですが、炎上の度合いが強くなると「休日出勤をして取り戻そう」と。
でも、これでも何ともならない状況になると「メンバー以外でも手の空いている人には手伝ってもらおう」と悪化します。

この状況になると上層部は「価格(Cost)をかけてでもなんとしてもプロジェクトを完成させてくれ」のようなことを言い出だします。
ここで見事に赤字プロジェクトへまっしぐら。
QCDのうち、価格(Cost)の崩壊を迎えます。

プロジェクト炎上の中期・品質(Quality)の崩壊

メンバーを投入してプロジェクト炎上が消化できればよいが、余程優秀なメンバーが投入されない限り
残念ながらたいていの場合は悪化します。
メンバー投入の準備や、仕様説明などなどに時間を取られ既存メンバーの負担になることもしばしば。
こうなるとプロジェクトマネージャーはやってはならない行動に出始めます。

まずは「ドキュメントを簡略化(ひどい時は後回しに)しよう」などと言いだします。
こうなってくるとメンバー間での意思疎通や仕様確認なども行われなくなり、不具合がいっぱい
出るようになり、ますます進捗が芳しくなくなります。
本来はここはじっくり品質を上げるためにドキュメントのチェックやきめ細かいテストが
求められるのですが、そんな余裕もなくプロジェクトマネージャーはついに禁じてを出します。
「よし、単体テストやっている時間がもったいないので、出来たものから結合テスト進めます。
なので、しょーもないバグは出さないようにコーディングして。」なんてこと言います。

冷静に考えればわかるのですが、単体テストしてないようなものを結合テストしても
上手く動くわけがない。ここでプロジェクトマネージャー逆切れ。
「メンバーのスキルが低すぎる!!!!」

かくして、品質(Quality)の崩壊となります。

プロジェクト炎上の末期・納期(Delivery/Time)の崩壊

この頃になると「とにかく納期だけは守ってくれ。お客様に迷惑をかけることはできない。」と上層部が騒ぎ出します。
しかしながら出来あがってくるプログラムは単体試験未完了レベルのとんでもないプログラムばかり。
当然、お客様に納品できるレベルではありません。
それでも頑張ります。ぎりぎりまで頑張ります。
最後には結合テストしてなくてもシステムテストなんか始めちゃいます。
でも出てくる不具合は「登録ボタン押したらプログラムが落ちた」とか「登録ボタンすら押せない」なんていう
レベルの不具合のオンパレード。

あ~あ、これじゃ納品できない・・・。

ここについに納期(Delivery/Time)の崩壊が訪れます。

まとめ

このようにプロジェクトの炎上するにつれ
価格(Cost)の崩壊→品質(Quality)の崩壊→納期(Delivery/Time)の崩壊
と進みます。
後に残るのは「燃え尽きた兵士たち」と「動かないプログラム」のみ・・・。


こうならないようにしましょう。自分も含めて・・・ね。

当サイトのおすすめ記事

レンタルサーバー 1

当サイトは約5年間、さくらのレンタルサーバで運用させて頂きました。 何かトラブルがあったわけではないのですが、WordPressの表示速度を速くしたくてSSD搭載のレンタルサーバーで運用してみることに ...

プログラミング 2

SQLでIFを使わずに条件分岐する SQLでIFを書けばWHERE句の内容を変えて検索できますが、条件ごとに同じようなSQLを 複数回書くのは面倒なので、1行で分岐できないかと言う事でSQLを作って見 ...

SQLServer 3

SQLServerで発生するエラーコードをSQLで取得する SQLServerで発生したエラーコードの内容を メッセージが定義されているテーブルから取得します。 エラーコードを取得するSQL SQLs ...

4

SQLServerでテーブル型を戻り値とする関数を作る SQLServerではINT型やVARCHAR型などを返す関数と同様に ユーザー定義テーブル型を戻り値とする関数を作成できます。 テーブル型を戻 ...

5

アフィリエイトで即効成果を出す アフィリエイトで成果を出す、なかなか難しいですよね。 サイトをいくつも立ち上げてすでにコツをつかんでいる人なら チョチョイっとやっていけるんでしょうけど。 でも実際はこ ...

-開発日誌
-, , ,

Copyright© ソフトウェア開発日記 , 2017 AllRights Reserved.