PLとしての依頼で良くありがちな作業
・Schedule管理
・Source管理
・品質管理
・Task管理
・Bug管理
まず面談で驚くのはPMが同席せず現場の責任者らしき方(PM以外の方)が同席する
PMは多忙なので後日説明するそうだ
現場責任者と意気投合し案件を受けてみる
現場に入って一応聞いてはいたが管理に必要なDocumentが一切存在しない
・品質管理に必要なDocumentとは?
まず要件定義書が殆どない機能一覧と仕様詳細っぽいものはあるが全体構成図もない
次に設計書がない機能仕様はあっても実装するための設計書が存在しない
理由を聞いたらSpeed感とか作業工数を省くためとか意味不明な答えがPMから返ってくる
御社が提供するServiceの品質を示すのにPMがServiceの全容を周知していない
頭にあるのだろうがそれは品質ではない
詳細設計書はFrameworkを使用しているならば基本設計でほぼ補える
但しTest仕様書は必須だ
しかしそれはない
Java Springで構築されているものもあるのでGradleでUnit Testは実行できる
しかしそれを確認するためのTest仕様書がない
これで品質管理をお願いするのだから本末転倒だ
勿論これらのDocumentが必要だと作業の振り直しを頼んでも
Scheduleが優先だからとお断りされる
なのでEngineerは自分のBugなのか?仕様Bugなのか?暗中模索の中
Bug Fixedを繰り返すが検証記録は一切残さない・・・
ひとまず地獄のような徹夜作業をEngineerは成し遂げ
動くものが出来上がる・・・が品質を問える代物ではない
・Source管理に必要なNow Howとは?
Frameworkの使い方は知っていてもその理論を介していないEngineerが殆どなので
MVCどころかObject思考も抜けている
似たり寄ったりのSourceが似たり寄ったりの機能に同分にCodingされていたりする
このCoding他でもあったな?と担当者に聞いてみると
似た機能があったのでCopyしましたと答えが・・・
なのでUnit Testと言っても似たり寄ったりの機能が羅列されているだけで
結果として行数の長いだけのCodeが出来上がる
Object思考皆無により似たり寄ったりのClassやFunctionに
似たり寄ったりのBugが発生し似たり寄ったりのBag Fixedが行われる
余にも非効率この上ない作業だったりする
MVCに至ってはViewの中やControllerの中にModel処理がCodingされていたりするので
動作が極めて重くなる・・・
ClassもUnit TestのためかPublicばかりでPrivateが存在しない
まあ似たり寄ったりの機能をそのまま設計もせずに機能仕様からCodeにしていれば
こういう事は起こるのは当たり前だ
つまり機能仕様に対する機能設計が詳細に出来ていないためこんなCodingが発生する
こういうResourceはReference Toolで図式化しても意味不明なものになってしまう
・Bug管理作業とは?
機能要件は大きく2つに分かれる
・機能追加による機能向上の要件
・動作不具合による機能改修の要件
そして後者は利用者からの苦情によるものか?
管理側が発見したものか?で対応は分かれる
Test仕様書はその要件を満たす振る舞いに対する実装の振る舞いの成否を確認するためにある
しかしこれがない
殆どのBug FixedはTest時に発生するError Messageの究明になる
しかしそのError Messageについても一覧があるだけで原因究明の内容にはなっていない
そしてError Messageの大半はFramework内のものだったりOSそのものだったりする
つまりFrameworkの誤使用だったりする
Error処理について設計書がないので結果としてStep Debugで要因追及をする羽目になる
結局この阿呆の様な作業がError Messageが消えるまで繰り返される
最後に検証資料はDocumentとして残らない
Gitを使っているのでどう直したかは何となくわかるがBacklogにはその詳細な記載は残らない
・Task管理の管理項目について
行程作業によりTaskの管理項目は異なる
設計書が省かれているので機能ごとのTask管理は大雑把になってしまう
消化率は最早無用なBug Fixed作業の応手により用をないていない
何故かこの表をExcelで作る習慣がある
そのため細かな機能分岐が管理されない傾向が強い
そもそもExcelは表計算SoftwareでありTask管理には向かない
器用に碁盤の目の様な様式で分岐っぽいものもあったりはするが
Fileを開くだけで重いしNetwork共有されているので更に重い
最近はJira等も使っているところもあるが設計書がないので
Jiraの機能が生かされていないし何故か報告用にExcelにExportしていたりする
・Schedule管理を円滑に行うためには?
上記のちぐはぐな内容では計画通りに事はまず進まない
遅れを取り戻すために残業や徹夜作業が続く
Releaseしてもすぐに動作不具合が発生しその改修作業に追われる
だから意味不明なBuffferがあってもそれは全て食い尽くされる
もう何が言いたいかわかったと思うけど
これは全てPMの知見の低さがもたらすもの
またそういうPMを責任者にしている企業側の問題でもある
人は過ちを赦される動物だが
同じ過ちを繰り返す人であるならば獣と同じで
知性がない(別の意味で半減耳が痛い)