WEB開発業務を始めてから、最初の頃は、工数のことを意識するのも難しいと思います。
ですが、会社に雇われている以上は、会社の利益も考えなければいけません。
工数を意識した開発をすることで、どんなメリットがあるのかお話します。
本記事を読むことで、以下のメリットが得られます。
- 工数を意識することで「当事者意識」が芽生える
- 会社からの信頼につながる
- 工数を考えることはフリーランスになってからも活かせる
どの開発手法でも工数を意識することは重要
WEBエンジニアの職に就いてからは、しばらく工数の意識をする間もなく、目の前のタスクをこなしていくことだけで精一杯だと思います。
業務に慣れてきたら、その次のステップとして、「見積工数」を意識しましょう。
なぜなら、各案件を見積り工数内に業務を終わらせることが、会社の利益に直結するからです。
また、同僚や上司からも、「安心してプロジェクトを任せられる」という信頼にもつながります。
そして、フリーランスとして活動し始めたとしても、工数のことを理解しておけば、自分にとって、対象の案件が利益が出るものなのか、赤字なのかが予想できるようになります。
なので、ウォーターフォール開発であろうと、スクラム開発であろうと、工数を意識して開発を行うことは、とても大切です。
見積もりの仕方・消化率
見積もりの仕方ですが、これはもう完全にシステム開発では経験などに依存されてしまいます。
過去の開発経験から「これぐらいで大丈夫だろう」という曖昧さが付いて回ります。
また、見積もりを算出した人と、実際に開発する人が違う場合も多くあります。
その場合は見積もりの精度も悪くなってしまうので、僕は、できるだけ実際の開発者に見積もりもやってもらうようにしていました。
そうすれば、見積もりに対する不満も少なくすることが期待できますし、当事者意識も強く持てます。
また、見積もりに偏りが出てはいけないので、他の人にレビューをしてもらうことも大切だと思います。
でもね、ウォーターフォールだと、まるっと一式システムの見積もりを出さなければいけないので、やっぱり難しいですよ。
僕は根拠がないのが嫌いなので、中々好きになれませんでした。ここは合う合わないは、あるんじゃないですかね。
以下、工数の消化率の算出の仕方です。
実績工数÷見積工数×100 = 工数消化率(%)
実績工数というのが、実際にかかった工数を指します。開発に20日かかったなら、単純に20人日となりますね。
実績工数と見積工数を割って、100かけたものが工数消化率(%)となってはじき出すことができます。
つい自分の工数だけに目が行きがち
例えば、WEBサイト構築の案件があるとします。与えられた工数は全部で20人日。
これをリリースまで、20日かけてゴールできればOKということにしましょう。
ですが、開発者は「WEBサイトをコーディング完了するまでに20日以内に収めれればよい」という感覚になりがちです。
実際は、
- 要件定義やチームの打ち合わせなどの会議
- 設計・デザイン
- WEBサイトを運用するためのインフラ構築
- 開発
- 社内テストと受け入れテスト
などが考えられます。これを20人日しかないとしたら、開発の部分では長くとも10人日以内に収めないと、ざっと工数オーバーになりかねない状況になります。
あと、開発中、どの部分で躓くかわからないですよね。
インフラ構築の部分で躓くかもしれないし、開発で、しょーもないエラーに苛まれる可能性もある。
「全体工数のどれぐらい自分の担当する分野に工数を当てることができるか」ということを意識すると、余裕があるのかないのか、できそうか、できなそうなら、どうできなそうなのか根拠をもって会議に臨むことができます。
最初の段階で8割終わらせることを目標とする
自分に割り当てられた工数を意識し、それに向けて開発を進めることになれば、次は「最初の段階で8割終わらせること」を常に意識しましょう。
なぜなら、先に終わらせておくことは、「安心」につながるからです。
余裕を持って業務に取り掛かることができるので、何か非常事態になった時も冷静に対処できますし、品質向上のために、テストケースなど、次につながることに仕事のリソースを割り当てることができます。
学校の宿題もそうですよね。
それと同じような感覚で、「まだ期日があるから大丈夫」という感覚では、納期近くになると、焦ってしまう原因になります。
「そんなにはよ終わらせたら、次から次へと仕事くるやんか」
と思うかもしれませんが、それが嫌なら、8割終わらせたら、自分の好きなことをやって(遊ぶんちゃうで。スキル向上とかに使うという意味)、報告は全てする必要もないと僕は考えています。
プロジェクトは利益を出すことを最優先で考え、その消化率は必ず100%以下に収める。
その上で、空いた時間は次の仕事につなげるためや、優先度が低かったタスクを消化してしまっておくなど、いくらでも有効に使えます。
それが、仕事ができる人だと僕は思います。
常に先手を打って、プロジェクトを済ませるように意識して取り組んでいきましょう!
まとめ
- 工数を意識して、開発業務を行うことで、責任感と当事者意識が強くなる
- 全体工数のどれだけの工数を自分に使えるのか算出すること
- 常に余裕を持って業務をこなすことで、緊急事態に備えることができる