スーツとギークで盛り上がる話

エンジニアはコード書けてネットワーク組めてサーバ管理できてユーザ対応できて企画提案できて要件定義できて価格折衝できてwinwinすればいいけど、そりゃ贅沢ってもので、現実的には期間に間に合わせなきゃいけないし、何よりもそんな多彩な人物なんて探し当てるだけで一生かかるくらいなので、役割分担が必要になってくる。

じゃ、どう分担する?というお話ですよね。

システム開発だと、ガチなウォーターフォールならまだしも、実際には仕様のレビュー時間とるだけで精一杯だったりして難しいので、「要件定義」「設計」「製造」「試験」といった工程間で役割分担するよりも、お役所システムで言うと「税管理」「住民管理」「補助金管理」「施設管理」みたいな機能間で役割分担した方がわかりやすかったりする。

それでも「じゃぁ銀行口座の管理はどのシステムがするんだ?」みたいなグレーな部分があるから、事あるごとに調整できるような余地を残さないと、それぞれの機能で独自の管理をしてしまうならまだしも、最終的に「自分じゃない誰かがやるんでしょ」となったりして、超危ない。

仕事の大小に関わらずこういった役割分担の定義は必要で、それをするのが所謂マネージャさんなんでしょうけどね。企画屋さんが夢のある企画を出し、技術屋さんが技術的見解を示し、営業さんがお金に変える*1。もちろん一人でやっても良いし、何人かでやるなら役割分担を考える。一人でやったら尖ったアイデアが出るかもしれないし、何人かでやったら多彩なアイデアが出るかもしれない。

マネージャ不在だとその役割分担が上手く行かないし、そういう状況は腐るほどあるだろうと思う。ってか自分もそう。

んー、よくわかんないけど、マネージメントってそんなに難しいんでしょうか。

あー、

結局、技術的なことを技術者がユーザに直接語れるようにするのが一番早いってことなんだろうな。時代的にはアプローチ方法は増えてるけど技術も複雑化する、単純には行かないかもしれないが。もしかしてユーザを、彼に閉じた世界での技術者に仕立てる感じなんだろかね。

そして、

自分も、期待されるほどポンポンと巧妙な仕様を考えられないですし、ユーザに巧く説明できないときもありますし、コード書けばバグを増やすし、ユーザ環境での試験中に仕様変更を頻発するし。だからこそ、それに耐えうる環境をどう整備してもらえるか、させてもらえるかが、自分の少ない能力からどれだけ多くの良い結果を捻り出せるかになってくるわけで。良い環境を整備して貰えるような幸運がない限り、自分には環境を整備する権限がほしい。これが、お仕事には政治力が必要という理由です。自分に向いていない環境で仕事をしても、役に立つことはできないです。俺に絵を書けって言われても、多分お役に立てないと思いますし。

世の中、期待するほど優秀な人間が回してるわけじゃないんですよね。調達できる範囲の人材ならどうやれば上手くいくかを考えるのが、現実的な選択肢でしょう。

*1:人月商売はこの限りではない。