見出し画像

開発者はリスクを背負うべきか?

概要

バックエンドエンジニアのおいしいアジと言います。
PMとしてプロジェクト管理を担当した際にリスクを背負いすぎて大炎上を引き起こした経験があり、その経験の中でこうしていれば、ああしていればと思うことがモリモリだったのでその内容をまとめていきます

追加の要望はリスクを背負って欲しいと言われていると思え!!!!

お客さんにこんなお願いをされることが多い
・ 追加機能を今月中にリリースしてほしい
・ この機能やっぱりこうしてほしい
当初の私は、「よっしゃ!!!、このくらい対応したろ! ちょっと頑張れば要望叶えられる」と思ってちょっとした対応を引き受けまくっていました。しかし、これらは当初含まれている作業ではないですし、追加で予算を頂いているわけではありません。 できる限り先方の要望を叶えてあげたいという熱い想いがあるのは結構ですが、機能が増えれば増えるほど、テスト項目の増加、不具合発生率の上昇、追加作業のせいで作業が遅れ...目に見えていないリスクが増加します。しかも、これらは開発者の責任にされがちでこじれる可能性がかなり高いです。こじれなかったとしても開発者の負荷がバク上がりします。

どうすればよかったのか? 
当たり前ですが、追加作業が発生した分デリバリーの調整、もしくはコストの増加必要です。※Quality(スコープを除く)は絶対に落としてはいけません。 
追加でいただいている要望なので、それができないからと言って負い目を感じる必要は全くありません。無償でリスクを背負う必要はありません。
お客さんがまともな方であれば、追加作業が発生すればその分費用がかかることを理解してくださるはずです。

注意点はQualityを絶対に落としてはいけないという点です。スケジュールは動かせない、増員もできないという環境になるとQualityを落とすしか無い。。。という話にたまになるのですが、Qualityが落として問題が発生した場合に「誰の責任?」となると、開発者の名前があがってしまいます。「なんでこの機能のテストが実装されていないのか?」「テストの品質が低いのではないか」アラートが届いて深夜対応になることもありますよね。。。Qualityを落とすみたいなことになっても、エンジニアが押さえるべき点は意地でも死守してください。 もしそれでもどうしてもQualityを落としてほしいということであれば、エビデンスを残して責任を取らない(取れない)ことを明確にしておきましょう。

準委任契約?請負契約?

準委任契約なのに請負契約みたいな条件を押し付けられることがあります。「そんな馬鹿な話www」って思うかも知れませんが、準委任契約と請負契約の違いを理解していない人は一定数存在します。そして理解していただけないままプロジェクトが進んでいくと、準委任でありながら請負のような納品を求められ、成果物に満足いただけず、大炎上することがあります。私が担当したプロジェクトは少なくとも炎上しました。

どうすればよかったのか?
最終的には契約で守られているものの、もし準委任にもかかわらず請負契約のような成果を求められた場合は準委任契約であることをお伝えしましょう。伝えたとしても理解していただけない場合は準委任契約とはなにか?請負契約とはなにか?をわかりやすくお客さんのレクチャーが必要になります。それでも理解していただけない場合は契約書をお客さんともう一度見直しが必要になります。。。この時点で一緒に仕事をすることは難しいかも知れません。

開発者はリスクを背負うべきか?

契約範囲以外のリスクを背負う必要はないです。ただし、開発者として責任を持って、リスクを最小限にする取り組みは必要で、リスクマネジメントを放棄してはいけないと思っています。例えば、契約に含まれてない場合でもセキュリティチェックの重要性をお伝えして追加費用をいただいて実装する。(ここまでやる必要があるか微妙ですが、)準委任契約とは何かを序盤で認識を合わせるなど

まとめ
プロジェクトを成功させるために先方の要望をできるだけ叶えてあげる。という気持ちは悪くないのですが、その結果、全体のQualityが下がったり、開発者が一方的に損をしてしまい、結果としてプロジェクトが失敗してしまうことがあります。 正しくスケジュールを組んで、正しく費用をいただいて、正しく契約内容に従って、正しくリスクを分散して、安定してプロジェクトを成功に導いていきましょう。(っと過去の自分に伝えたい)

この記事が気に入ったらサポートをしてみませんか?