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を責任者にしている企業側の問題でもある

 

人は過ちを赦される動物だが

同じ過ちを繰り返す人であるならば獣と同じで

知性がない(別の意味で半減耳が痛い)