なぜ技術は難解で時間を要するのか?
難しい問いに思えますが、その問いに対する答えがここにあります。
技術を構築する時に、何が起こりえるかを想像する一助として、仮にあなたが不動産開発者で、新しく建物を建設しようとしていると想像してみてください。
開発には多くの構成要素があります
建物を開発する時、多くの構成要素が関連しています。
建築家、杭打ち会社、そして請負業者。彼ら全員が、開発プロセスにおいて異なる役割を果たします。
プロジェクト・マネージャとしての建築家を視覚化します。時々、UI/UXデザイナーを視覚化することもあります。
請負業者は通常、建築において配管や下水、電気設備面の計画を担当している後端開発者です。
最後に、フロントエンド・エンジニアとして、間取り図の計画を担当している杭打ち会社を視覚化してください。
これら全ての構成要素は、ウェブサイトやアプリを制作するために連携して働く必要があります。
そして、これらの要素はそれぞれにビルドし、コネクトするのに時間がかかります。
表面上は見えない要因を考慮すること
技術を構築する時、私たちは目に見えない要因も考慮に入れなければなりません。
これは、技術のスペシャリストでない人には理解しがたいものです。
建物の中で、配管と汚水が近すぎないか、火災時の時に避難経路が確保されているかどうかにかかわらず、エンジニアは構造問題について考える必要があります。
技術エンジニアとして、私たちは様々な要因が構築中の製品にどのような衝撃を与え、影響を及ぼすかを考えなければなりません。
ユーザーの経験に基づいて、サーバーが取り扱うことの可能な負荷から、ロボットやハッカーに対する弊社の製品の脆さまで、考えなければならないことは多々あります。
再び、製品の機能を構築するために時間と労力を費やしながら現在の状況を理解し、構造を計画しなければなりません。
構造的に不安定な建物に住みたいですか?住みたくないはずです。
同様に、あなたはスピードが遅く、バグに支配された攻撃を受けやすい製品を構築したいとは思わないでしょう。
優れた開発者を見つけることはたやすくはありません
詰まって溢れ出すトイレをつくらないと信用できる建築開発者を見つけることが大変なことであるのと同様に、良質な製品をつくると信頼できる開発者や販売会社を見つけるのも難しいことです。
私たちが暗がりでするようなことに対して報われないような世界、そして迅速かつ安くサービスを提供することができる人々が称賛される世界で、良質なソフトウェアを構築できる開発者を見つけることは、ますます難しくなっています。
信頼できる優秀な開発者を見つけることは、開発作業よりも優先すべきことです。
さもないと、優れたエンジニアに家を建ててもらう必要はないと自分で言っているようなものになります。
しかし、良質な製品を構築してくれる優れた開発者を見つけるのには、かなりの時間と努力を要するでしょう。
プロジェクトの複雑さ
プロジェクトやそれに関連する製品をより複雑にしているものは数多くあります。
あなたが構築計画を立てている機能の中にも、たくさんあります。
例えば、ログインやポータル、プッシュ通知、顔認識、聴衆の規模やサポート・プラットフォームなどです。
これら全てが、プロジェクトの実行をさらに困難にしています。
先ほどの建築の例えに戻るならば、摩天楼は確実に5階建ての建物より多くの構築資源を必要とするでしょう。
スケジュールやバグ、予期しなかった状況、テストに奮闘すること
プロセスは、計画立案と求人活動が終了しても完了していません。
実際、そこがスタート地点です。
プロジェクトにおいて最も重要なことは、与えられた時間です。
家を建てるなら、6ヶ月で建てることのできる家と3年がかりで建つ家、どちらがより安全でクオリティが高いでしょう?
もしも開発者が製品を構築するのに少なくとも3ヶ月は時間が欲しいと要求してきて、あなたが1.5ヶ月で仕上げてほしいと言ったのであれば、その製品の品質にはどういった影響があると思いますか?
私たちのクライアントや上司は、「ごく単純に」何かを構築することに非常に多くの時間を費やすということを理解しないことがあります。
理解しないがために、スケジュールを短縮し、プロジェクトをより困難なものにします。
さらに悪いことにバグや予想外の問題はいつでも起こり、修復するのにかなりの時間を要します。
ユーザーのテストサイクルや、バグの発見、問題の修復は、大部分が修復されるまでは、ユーザーテストに何度も戻ることになるでしょう。
優れた技術を生み出すのがなぜ難しいのかをわかっていただけましたか?
何かをつくり出すのは非常に困難なことだからです。
ゼロから何かをつくることは、決して容易ではありません。
最初のコンセプトから最終的な製品の完成までの過程で、それをつくる開発者または販売会社は途方もない労力を要します。
※本稿は「Dear client, here’s why building good tech is hard」を翻訳・再編集したものです。