エンジニアの責任の取り方


別に「ねぇねぇ、ハラキル?」とか「詰めるもん、詰めてもらおうかなー。」とかそう言った物騒な話じゃないです。いや、似たような話か。


毎度毎度の話で既視感があるかもしれないですが、エンジニアは物を作ってナンボですよね。何も作れないエンジニアはエンジニアなのか、と。そんな風に話を始めれば、「じゃあ、PMOのスタッフなんかはエンジニアじゃないのかよー」なんて突っつかれそうですけど、そうした設計書やプログラムをストレートに作らないからと言ってエンジニアじゃないなんて言わないです。その人のロールがさせているのであって、直球で設計書やプログラムを作っていなくても例えば先のPMOのスタッフであれば標準化なりプロジェクト運営なりエンジニアの仕事を支援するために何等か生産しているかもしれないし、放し飼いしておくとどこに行っちゃうかわからないエンジニアを迷子にさせないための場をセッティングしたりするものです。そうした直接のアウトプットを付帯作業として側面から支える仕事だってエンジニアの仕事がわかっていなければとても本来のミッションを全うするなら請け負えないものです。#実態は怪しいですが。


エンジニアの責任
エンジニアが負う責任とは、一旦、受けた仕事をその仕事の仕様、つまり、アウトプットであるdeliverableを完成させること、納期の前に終わっていること、予算以内のコストで完成させること、です。もちろん、実現できない仕様、無理な納期、釣合の合わない予算での話ではなく、仕事を受け取るときに双方で実現性について合意した条件で、です。


その前提で作業を始めたとしても、それでも作業を完了させられない人がいる。これはエンジニアとして責任を取れていないと思うのです。モノづくりをするのがエンジニアなのに、です。


で、なんで完了できないんでしょうかね。いや、なんでそう思ったのかと言えば、一見簡単そうな文書の修正作業で「(一体、何時間かかっているの???)」て思ったことが何度もあったからです。事前に変更対象の文書の特定も、修正個所も、直し方もあたりがついていたのに。


二度とやりたくない
ワタシはカンバンをやるようになってから、仕事はアウトプットごとに分解してその分解した仕事をタスクで定義してそのアウトプットの仕様を決めてからタスクをアサインするように変えたんです。それまでが先に書いたようにタスクを塊で渡すと終わらない人がいたから。それで懲りてというか、後のつじつま合わせが大変だったから「もう二度とやりたくない!」とこの人の仕事の仕方のために苦労するのはもともとのロールの範囲ではないと思ったのですね。ただ、そのプロジェクトチームで、その中の作業のしくみを作っている、言い方を変えればチームを運営する場と言う空間を設計しているのはワタシだし、今のやり方がその人に合わないのであればそれはワタシが変えないといけないのだとも思ったわけです。


個別最適化とプロジェクト最適化の結果
当初のしくみで上手くいかないのだとしてもその場の空間設計をしているのはワタシでしたし、その空間のロールを負っていたわけですから納期を意識してダメだと思った時から個別最適化を始めるわけです。端的に言えば、出来ない人から仕事を剥がしてできる人にその作業に割り当てなおす。そのときは、それなりに大変だった最中だったのでリカバーするエンジニアはもっと大変だったのでしょうがそれはその他の手段の可能性と実現性を考えてそうなったのであって、凡庸な判断と言えば判断であったとしか言えないです。


で「それもう嫌だな。」と思って場の空間設計を変えるんですが、それはそのダメな人だけでと言うわけにはいかないから全体のしくみを変えていくように考えたんですね。そうしないとできる人たちに変なしわ寄せが行ってしまうから。それがカンバンであり、タスクの分割であり、着手前の仕様の確定であり。


もともと仕事ができる人はもともと仕事ができますからね。もっと仕事の効率が上がります。だって、タスクを請け負ってからそのタスクの曖昧さを考えたり調整したりする部分が先にある程度明らかになっていますから。出来ない人にとってはある意味プレッシャが高くなったと感じたかもしれないですね。相対的に周りの仕事のパフォーマンスが上がるように見えますから。一方、その人自身はやっとついていけるかどうか、ですから。


そうしたプレッシャーの中でメンバの中での相対的なパフォーマンスがおぼつかない人でも自分の力量が自分で把握できていて、その力量を踏まえたうえでタスクに対する自分のスループットを日程で調整できる人はその後習熟していくことを期待出来ますし、周りも合わせて調整をし始めるんです。そうしたこともしないつまり自分のスループットもわかっていないと自分の力量を踏まえてタスクを調整しようとしないからいつまでたっても責任を果たせないままになるんです。エンジニアに限ることではないですけれど、やっぱり、こうした自分からの調整を掛けられない人は責任を果たせないし、責任を果たせない人はチームからパージされることで責任を取らされていくんだと思います。