納品という名のエンジニア定期試験

## はじめに

はいみなさん納品してますか？

ITエンジニアになると、お客様と契約して ~~魔法少女~~ 決められた期間内に決められた成果物を納品することによって対価を頂く仕事を行います。

実際には請負契約を行った元請け会社のITエンジニアがその様な仕事をし、SESでかき集められたITエンジニアは技術および労働力を提供するという仕事をしていることかと思いますが、ここでは気づかなかったことにして先に進めることにします。

この納品という行為は、学校の定期試験と似ている点や異なる点があると思うという記事を書こうと思います。

## 似ている点

### 分からない問題は後回しにして全体を流す

定期試験で、頭から順に解答を記入していって分からない難問にぶち当たったとします。

さて、あなたならどうしますか？

仮にこの難問を解くことができても、60分の試験で30分かけてしまった場合、達成感はあるかもしれませんが試験全体としては点数が下がることが想像されます。
一方で、全体で見た時には、ある程度の時間で見切りをつけて先に進めた場合、高い点数を取れる可能性が上がりそうです。

また、社会人の問題は学生の問題と異なり **必ず明確な正解がある問題ばかりとは限らない** 点にも注意が必要です。
加えて、学生の試験の様に60分や90分などという **脳内で処理できる単位の制限時間** ではなく、『プロジェクト全体で1ヶ月』といった **WBSなどに書き出さないと処理できない単位の制限時間** の中で「何をどのように見切るのか」は大変難しいですが、締め切りや問題の重要度などを考えて、**『その問題に対して使ってもいい時間』** というのを意識するのが良さそうに思えました。

10分前に全ての問題に目を通すことができていれば、もう一度その問題に取り組む時間も手に入りますし、他に点数を稼げるところに10分を使うことができるかもしれません。

一方で、とある仕様を1つを決めるのに 80人参加のWeb会議を4時間(80人 x 4h / 160h = 2人月)という話もありますので、簡単に見切ってはいけない問題についてはとことん話し合う必要もあるのかもしれません。

実際には、後回しにしないで誰かに質問や相談をするのがいいと思います。
ネットなどでは「5分~15分考えて分からなかったら質問しよう」という話がよくでてきますが、無限に考えて闇に葬ったりせずにさっさと聞くのがよいかと思います。

## 異なる点

### 試験の結果は誰が？

学校の試験は点数が悪くても、最悪**自分ひとりが留年する**だけですが、会社の仕事は納品試験で赤点を出すと**責任者ひとりがボコボコに**されます。

更に悪いことに、**100点で納品できるのが当たり前スタートと思われている**試験なので、100点で納品できても評価されないマゾゲーです。

責任者になるには **動じない心** や **自分で自分を褒める能力** が必要かもしれません。

### 完成しないと０点

**「頭から順に解答していって、時間が足りずに未着手の問題がありましたが納品物とさせてください。」**

これは、さすがに受け取れないです。お客様噴飯モノです。

解決できない問題についてはお客様に報連相してスコープ外にするなどの交渉はできますが、「全く手を付けてない」ものについては交渉のしようがありません。

SESで時給労働の仕事をしているとこのあたりを意識が退化しがちですが、納品してお客様にニッコリ検収してもらうまでが遠足です。

### 細かくアウトプットを共有する

要件定義から入るプロジェクトに関しては、そもそも何をすると100点かはプロジェクト開始時には決まっていません。ひょっとすると終了時点でも決まっていないかもしれません。

多くのユーザーが使うプロダクトは、極論するとユーザーの数だけ要求があり、往々にして相反する要求が多く含まれます。それらを何らかのコンセプトに従ってを整えて、要件を固めていき、予算と期間を鑑みてスコープ内の要件を切り出すことになると思います。
**「Twitterのクローンが作りたい」** など前例があるものなら別ですが、相手の頭の中が見えない以上、全く世の中に存在しない新規のプロダクトについて、ましてやそれを利用するユーザーのイメージについて完全にイメージを共有することは不可能とも言えるでしょう。

相手が考えているものとイメージが異ならないか、細かく作って細かく共有することで認識を揃えていくことができると思います。
これをみなさんがよく知っている横文字で言うと**アジャイル**になると思います。
プロジェクト全体を見通せない時にはスクラップアンドビルドで進めるしかないのかなという整理です。

![サイクル.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136165/ffd6b8f0-e8af-1aec-6881-bdf3629c6a31.png)

作り込んでしまったものを破棄するのはプロジェクトにもメンタルにもダメージがありますので小さく作って小さく回すというのが合理的だと思います。

## おわりに

期間や予算の都合でイテレーションが足りず、品質が上がり切らない場合もあるかもしれませんが、納品できなければそこで試合終了です。
納品できれば、次スコープにてカイゼンする機会も得られるかもしれませんが、往々にして得られないこともあるかもしれません。

一方で、納品に対して責任の一端を担い納品までこぎつけた時に入る経験値は、（納品責任を分有しない）一メンバーとしてのみ参加した時には絶対に入らないものかと思いますし、異次元の達成感もあるかもしれません。
AIは適当なことを言ってはくれますが、責任は取ってくれません。きちんと**責任の取れる仕事の仕方**を身につけていくというのは生存戦略としては良さそうに思えています。

## おまけ１（パイセン向け記事）

https://qiita.com/kaku3/items/34b40446337a59213a75

https://qiita.com/kaku3/items/cafccb1ee631d9f61190

## おまけ２（新卒エンジニア向け記事）

https://qiita.com/kaku3/items/fb949aa1a53f1f71c796

https://qiita.com/kaku3/items/aa2f81cf1e3974b8ad3a

https://qiita.com/kaku3/items/937354cc180c8bee823b

https://qiita.com/kaku3/items/b1c94328f273c750286b

## おまけ３（...は難しいシリーズ）

https://qiita.com/kaku3/items/f8411523cce000de750e

https://qiita.com/kaku3/items/5b11d2e1aace73c36340

## おまけ４（営業A短編シリーズ）

https://qiita.com/kaku3/items/03aae7b9e3c70c55f513

https://qiita.com/kaku3/items/3378ea55b1240d7360a1

## おまけ５（エンジニアのためのお仕事問題集）

2030年にIT人材が最大79万人不足するとのことで、学習用の資料をgitで**無料**公開してます(不定期更新)。
よろしければどうぞ。

[エンジニアのためのお仕事問題集](https://github.com/kaku3/workbooks)