はじめに
まず、こちらの記事に記載している内容は、あくまでも私個人の理解/見解であり、何にも帰属するものではないことをご了承ください。
稼働時間と工数
まずは稼働時間についてです。
これは簡単です。
エンジニアが働いた"時間"を指します。
もちろん、お昼時間等の休憩は除きます。
喫煙時間は皆さんどうされているんでしょうか。
私は喫煙しないのでいいですが、喫煙者はここでも肩身の狭い思いをされているかもしれませんね。
では工数です。
工数 工数(こうすう)とは作業量を表す概念のことである。製造業を中心に、全ての産業で使われる概念である。
Wikipediaより抜粋
実は今初めて、工数を真剣に調べましたw
"作業量"とは秀逸なチョイスですね。
編集された方には遠く及びませんが、私の理解を記します。
工数=PJ標準のSEが持つパフォーマンス×期間
だと思っています。
単位がないのでまったく理解できません。
ですが、右辺の話がPJの共通認識になっていないと、作業の見積もりができません。
ここが擦り合っていないと後々になって、「なんでこのお金でできないの?」とか「他社さんはもっと短期間でできるのに」なんて言われるわけです。
私も経験があるので偉そうに言えません。
稼働管理はどうあるべきか
あまり風呂敷を広げると大変なので、現役SIerとしてよく遭遇する、月単位の準委任契約であることを前提にします。
そうした場合、月の稼働時間が契約事項に含まれます。※私の知らない特異なケースは除かせてください。
よくあるのは、 一人月は140〜180時間 という取り決めです。
私の知る限り1番多いレンジですが、皆さんの現場ではいかがでしょうか。
1ヶ月が20営業日とすると、ストレートに働いて160時間なので、病欠や残業を考慮したレンジだと理解できます。
私は現役SIerですので、SESという業態の切り口からいくと、契約内容は "能力の発揮"であるにも関わらず、能力を発揮した結果得られる一人月の成果に時間定義が添えられているということになります。
もう意味がわかりません。
身を滅ぼさないために
そこで前述の工数定義です。
「この人はあなたが考える一人月の仕事を対応できますよー」という認識合わせが絶対に必要です。
会社によって経歴書のテンプレートは異なりますし、エンジニアのランク定義も結構違います。
私が見かける、かつ指標にしている役割は下記です。
"役割"という表現をしていますが、"ランク"と言う方もおられます。
- PG
プログラマーです。基本的には、設計内容に従って開発されるポジションです。 - PD
プログラムデザインです。プログラムに加え、設計も可能な方を指します。 - SE
システムエンジニアです。ここが1番曖昧かもしれません。私は「システムがどうあるべきか」を自立して顧客と議論できる方だと捉えています。 - TL
チームリーダーです。上記の方々を取りまとめ、顧客に対して進捗報告等も対応される方です。 - PL
プロジェクトリーダーです。プロジェクトの全権を持っており、いわゆる"おサイフを握っている"人です。
これらの役割を担える人が、1ヶ月働くならこんなことができますよ、という「工数感」を擦り合わせないといけません。
これで、先に述べた工数が解けるのではないでしょうか。
見積もり
見積もり方は多々ありますが、私は人ありきの工数見積もりをお勧めします。
実際大変な思いもしました。
マスタースケジュールに合わせて、PJの山場があるはずです。普通なら、開発とテストが1番人数が多くなるのではないでしょうか。
その山場に向けて、早々に要員調達の計画が必要です。
結局、人がいなければ作れないです。
稼働予測
今までの内容がすべて整理されてやっと、稼働予測が立てられます。
整理がついていないと、一人月の契約なのに毎日20時帰りの予定になっているぞ、、、なんてことになります。
稼働予測は定時であるべきだということです。
稼働管理
やっとここまで辿り着きました。
定時ベースの上に、コミュニケーションロスがあったりコーディングでハマったりした時間がaddされていくことになります。
これでやっと、140〜180時間に意味が出てきそうです。
さいごに
IT業界はまだまだ発展途上で、特にエンジニアに対する冷遇は早々に改善されるべきです。
どんどん海外に仕事を取られていっていて、日本文化の良さを発揮できる分野なのに勿体ないと思っています。
一人一人が安易にその状況を受け入れず、少しずつでもいいので声を上げ続けることが大事です。
私も失敗することのほうが多いので、口だけにならないようにしないと。。