出版日: 2024年5月6日
結婚式に間に合うために急いでおり、スーツにはいくつかの作業が必要です。例えば、パンツの丈を短くする、シャツをアイロンがけする、ジャケットをクリーニングする、ベルトに追加の穴を開けるなどです。
通常、これらのことをすべて行う場所があり、スーツをそこに持って行くことで、合理的な時間で完了させることができます。
これらの作業を別々の場所で行う必要があると想像してみてください。これらを完了するには数日かかり、絶対に結婚式に間に合わなくなります。
この物語は、専門家と比較して一般家屋主義者が私たちの生活にどれほど有益かを要約しています。一般家屋主義者が私たちの生活を容易にしてくれる以上のことが、なぜ専門家と専門家を賞賛し、なぜ私たちは専門家だらけになったのでしょうか?
以前、誰もが一般家屋主義者でした。自分で食べ物を育て、自分で財産を守り、自宅で子供を教育し、自宅で壊れたものを修理しました。
その後、これらの義務の一部を他の人に委託し始めました。これらのことすべてが得意ではなかったためです。熟練した農夫に食べ物を育てさせ、優れた配管工に家の壊れたものを修理させました。
さらに、私たちは国と政府を作り、防衛、犯罪防止、子供の教育などの大きな義務を任せました。
このようにして、誰もが得意な分野を見つけ、スキルを開発し、専門分野でのみお金を稼ぎました。その後、このお金を他人に委託したサービスを受けるために使用し始めました。
全体として、特定の分野に特化することで、人々は効率を向上させ、そのような活動の経済的生産性は、誰もがすべてを行っていた時代と比べてはるかに高くなりました。専門化は、文明がすべての分野で知識とスキルを向上させるのに役立ちました。
専門化は素晴らしいですが、過度に行うと問題が発生します。
これは通常、ソフトウェア開発で発生します。
通常、各チームメンバーが責任を担うチームで働きます。たとえば、典型的なソフトウェアプロジェクトでは、デザイナー(UX、UIデザイナー)、エンジニア(多くの場合: フロントエンド、バックエンド、品質保証)、プロダクトオーナー、ソフトウェアアーキテクトなどがいます。
データサイエンスプロジェクトでは、機械学習エンジニア、データエンジニア、データサイエンティスト、チームリーダー、専門家などの役割があります。
最近では、スクラムマスターやプロンプトエンジニアなど、新しく作成された役割もあります。
これは私が過度の専門化と呼ぶ問題の表れです。過度の専門化の問題は、総合的なアプローチを失うことです。チームメンバーが不在でも、プロジェクト全体が停滞してしまうスキルセットのウェブに依存してしまいます。
プロダクトオーナーはコーディングを知らないので、エンジニアリングの観点から製品の可能性を理解することができません。彼女は時にエンジニアに実行不可能なことを要求します。時には、何かが実装が難しいと考えていますが、それはエンジニアリングの観点からは容易かもしれません。全体的に彼女はプロジェクトのエンジニアリングスタックに対する可視性を持っていません。
他の役割にも同じことが当てはまります。たとえば、エンジニアは新機能を考えるかもしれませんが、ビジネスの観点からは実装する意味がありません。
チーム内に役割を作成するほど、依存関係が増え、これらの役割が通信する間に失われる時間も増えます。これがソフトウェアプロジェクトがスケジュールをオーバーする主要な理由の1つです。
これはまた、プロジェクトの改善可能性を著しく阻害します。チームにすべての役割を包括的に理解している人物がいない場合、製品に根本的で持続的な改善をもたらすことはほぼ不可能です。
チーム内の役割を再評価することをお勧めします。たとえば、フロントエンドとバックエンドの別々の人が必要ですか?両方を行うことができる人がいればどうでしょうか?
機械学習エンジニアやデータエンジニアが必要ですか?データサイエンティストがこれらの役割に関連するタスクを処理できますか?
なぜプロンプトエンジニアが必要なのでしょうか?その役割に関連する作業は、別個の役割を持つことを正当化しますか?
エンジニアリングに詳しくないプロダクトオーナーが必要ですか?これはプロジェクトの配信を時期通りにおよび品質面で深刻に阻害する可能性があります。
このような自己反省を行った後、チーム内で不要な役割を見極めることができるようになります。これらの人々には、スキルを向上させてチームにとどまる機会を与えるべきです。
相互に関連する複数のことに長けた人々がいると、製品がより速く、より良く出荷されるようになります。コストも削減されるはずです。
あなたの職場でも過度の専門化が問題だと感じますか?それとも違うと思いますか?コメントで教えてください。
このブログは英語からChatGPTによって翻訳されました。不明な点がある場合は、お問い合わせページからご連絡ください。
コメントを残す
コメント
その他のブログ
2024/06/19
SvelteとJavaScriptを使用してシンプルで動的なツールチップを作成する
2024/06/17
JavaScriptを用いて東京都のインタラクティブな地図を作成する
2024/06/14
Matplotlibで日本語文字化けを解決できる簡単な方法
2024/06/13
書評 | トーキング・トゥ・ストレンジャーズ 「よく知らない人」について私たちが知っておくべきこと by マルコム・グラッドウェル
2024/06/07
日本語で最もよく使われる3000字の漢字
2024/06/07
VSCodeでRegexを使用してReplaceする方法
2024/06/06
SvelteではReadable Storeを使用するな
2024/06/05
GzipとPakoでデータを圧縮してWebサイトのローディング速度を上げる方法
2024/05/31
JavaScriptを使用してWebページ上でマウスが指している単語を特定する
2024/05/29
SvelteとSVGを用いてインタラクティブな地図を作成する
2024/05/28
書評 | Originals 誰もが「人と違うこと」ができる時代 by アダム・グラント & シェリル・サンドバーグ
2024/05/27
Javascriptを使用して数独を解く方法
2024/05/26
ウェブサイトへのトラフィックを1か月で10倍に増やした方法
2024/05/24
人生はサイクリングに似ている
2024/05/19
JavaScriptでバックトラッキング・アルゴリズムを用いて完全な数独グリッドを生成する
2024/05/16
Tailwindが素晴らしい理由とWeb開発をいかに楽にするか
2024/05/15
PythonとGitフックを使用してサイトマップを自動的に生成する
2024/05/14
書評 | Range (レンジ) 知識の「幅」が最強の武器になる by デイビッド・エプスタイン
2024/05/13
SvelteとSvelteKitはなんですか?
2024/05/12
SvelteKitで国際化(多言語化)
2024/05/11
SvelteでCachingを用いてDeploy時間を短縮する方法
2024/05/10
SvelteとIntersection Oberverによるレイジーローディング
2024/05/10
遺伝的アルゴリズムで最適な株式ポートフォリオを作る方法
2024/05/09
Pythonを用いてShapeFileをSVGに変換できる方法
2024/05/08
Svelteの反応性:変数、バインディング、およびキー関数
2024/05/07
書評 | 孫子の兵法
2024/05/03
トルコ人の有権者の投票行動をPythonでの分析
2024/05/01
Seleniumを用いてトルコ投票データベースを作る方法
2024/04/30
SvelteとTailwindを使用してInfinite Scrollできる方法
2024/04/29
1年間以内で日本語を駆使できるようになるための方法
2024/04/25
SvelteとTailwindを用いたWebサイトテンプレート
2024/01/29
怠惰なエンジニアとひどいデザイン
2024/01/28
偉大さについて
2024/01/28
MacBook で PDF を PNG に変換する
2023/12/31
2023年振り返り:24冊の読んだ本のまとめ
2023/12/30
Python PILを使用して写真コラージュを作成する方法
2024/01/09
ウェブサイトの訪問者のデバイスとブラウザを検出する方法
2024/01/19
ChatGPT回答の解析