言語の歴史は人類の歴史。そして人類はコンピュータを言語で動かすようになった。

機能の優先度を決めて実装してますか?

»

炎上するエンジニアとそうでないエンジニアでは、動き方に大きな違いがあります。それがタイトルに書いた、実装する機能の優先度を決めているかどうかです。さらに、大炎上するエンジニアとそうでないエンジニアでも、この実装する機能の優先度の決め方に大きな違いがあります。大炎上するエンジニアは、お客さんの意見で機能の優先度を決めてしまいます。

そのシステムで何がやりたいか、まず、一番根本になるものは押さえておきましょう。お客さんに言われたからといって、何でもかんでも完璧にやろうとすると、枝葉のような要件に翻弄されて混乱します。人間の注意力は有限です。気配りできる幅には限りがあります。なんでもかんでも完璧な気配りは無理です。

気配りで疲弊するより、「これが最低限動かないとヤバい」という機能を一つ、確実に動くように実装して、説明ができるようにしておきましょう。挙動を保証できる機能が無い状態では、話せるネタが乏しいです。この状態でお客さんと話しをすると、言いたい放題いわれて変な要件を追加されても断れません。手ぶらでお客さんと話すとロクなことがありません。

「これが最低限動かないとヤバい」という機能を固めておくと、プロジェクトが行き詰まったとしても、何らかの返答ができるようになります。また、足場が固まるので次の一手が安定します。ただ注意するべきは、「これが最低限動かないとヤバい」という機能の切り分けは自分でする必要があるということです。機能を実装するのも説明するのも自分だからです。

よく、WBS通りにやれば大丈夫とか、ドキュメントに書いてあるから問題無いと言うエンジニアを見かけます。たとえWBSやドキュメントが完璧でも、項目の優先度を判断できなければプロジェクトは炎上します。「全部完璧」は思考放棄です。注意力と手数でカバーできません。プロジェクトに限らず仕事の基本ですが、できるところから足場を固めて次のステップに進んでいきましょう。

Comment(0)

コメント

コメントを投稿する