ソフトウェア「ファクトリーテクノロジー」(パート1)

ソフトウェア「ファクトリーテクノロジー」(パート1)

「ハッカーは、画家、建築家、作家と同じように、クリエイターでもあります」
-シリコンバレー起業家精神の創設者、YCの創設者、「ハッカーと画家」の著者、ポール・グレアム

ICTコンバージェンスとインテリジェンスの時代において、コンピューティング業界におけるコンピュータアーキテクチャとチップテクノロジーの進化は別として、最もエキサイティングなことは、世界が「ソフトウェア時代」に入ったことであることは間違いありません。ここでポールが言及したハッカーは、典型的なソフトウェア職人、職人です。

ソフトウェアについて議論するとき、誰もがそれを議論するために産業時代の思考や学術用語を使用します。ソフトウェアは単に産業または科学として議論されるため、企業のソフトウェアレベルを大規模に改善するための決まり文句になります。「難しさ」それは途方に暮れています。

ソフトウェアエンジニアリングは普遍的な答えのようであり、同社はソフトウェアエンジニアリング機能を改善するために大規模な変更プロジェクトも開始しており、それに巨額の費用を払う用意があります。しかし、ソフトウェア開発を深く理解し、従事している人なら誰でも知っていることは間違いありません。あるいは、業界の人々は、ソフトウェアエンジニアリングが行き詰まり、長年にわたって分野として停滞していることを知っています。単純な方法論、プロセス、およびプロジェクト管理では、ソフトウェア分野で多くの価値ある結果を生み出すことはできません。過去数年間でわずかに人気があったエクストリームプログラミングとアジャイル開発は、業界に大きな変化をもたらしませんでした。誰もが情熱を注いでいるクラウドネイティブテクノロジーの多くは、開発者がプロ​​ジェクトファイル、パッケージ、ミラー環境、テスト、リリースなどを作成する方法を支援するためのものでもあります。多くのプログラマーの目には、ソフトウェアエンジニアリングは否定的な用語になっています。これは、ソフトウェアエンジニアリングが、「プログラミングできない人々が一緒に高品質のプログラムを作成できるようにする」という代名詞を表しているように見えるためです。

方法論が機能しないので、「ヒーロー」を呼びます。今日では、ソフトウェアに関する議論の多くのトピックが最終的には終わり、才能のある、または非常に優れたアーキテクトが必要になります。これは直感的に最も説得力があります。Googleの「ジェフディーン」を含むIT業界全体のさまざまな伝説には、多かれ少なかれそのような「伝説」があります。しかし、残念ながら、口の中毒の後、あなたはそのような人々をどのように育て、どのように彼らを見つけるかを尋ねなければなりませんか?コンセンサスがあり、栽培できないようで、見つけにくいです。問題は人事部に投げ込まれ、解決策はありません。天才を手に入れるのは難しく、彼の性格や環境への要求を満たすのは難しいです。さらに、一部の大企業がそのような天才を持っている場合は、彼について楽観的であってはなりません。どうすれば簡単に彼を作ることができますか。タレントマーケットで?それはそれに「ぶら下がっている」です。

方法論に頼るだけでは不十分であり、人事の採用に頼ることは喉の渇きを癒すことはできません。また、天才が発見され、発見がここで成長できるという保証はありません。プログラマーの能力を大規模に向上させたいのですが、簡単なトレーニング、クラス、試験、認定などは、従来の製造業の労働者にとっては非常に効果的であるため、あまり効果的な方法ではないこともわかりました。ソフトウェアの測定は困難です。生産効率の観点からは、非常に困難です。

近年のオープンソースコミュニティの観察と経験により、ソフトウェアは魔法の産業であり、その法律は大規模な製造と初期の手作業のワークショップの間の産業であるとますます感じられるようになりました。彼は開業医を必要としています。これらの人々は、労働者の協力と、職人のような「職人」の個々の貢献と能力を持たなければなりません。同時に、コピーするのは非常に困難です。プロセス、システム、方法論、そして紙に書くことができるすべてのものだけに頼ってコピーすることはできません。以前のCMM認定と同様に、効果的な規模でコピーすることはできません。ここでは、それを「工場」能力と呼びましょう。または「テクノロジー」。。

対応する技術は、医薬品、化学、電子機器などの「実験室」技術と呼ぶことができます。科学者が実験室でテストおよび検証した限り、彼らは持っているいくつかの企業の大規模な製造および産業管理のアイデアを使用できます過去に開発されました。スケールアップにより、品質、コスト、または効率が向上します。もちろん、医薬品の臨床検証段階も少し複雑であり、統計に見られる大規模な「二重盲検ランダム」実験によって検証する必要があります。しかし、これらはソフトウェアファクトリーのコピーと検証の難しさと比較するのは難しいです。したがって、厳密には、ソフトウェアは科学でも工学でもない「芸術」ですが、ICT産業や情報化時代には、そのような職人に対する大規模で複製可能な需要があります。現在の状況すべてのソフトウェア管理問題の核心。
ここに写真の説明を挿入

幸いなことに、近い将来、説明するための良い例えとして使用できる作品があります。これは、上海にあるテスラの「スーパーファクトリー」であり、著者がここで示した「ファクトリーテクノロジー」の概念を鮮やかに解釈することができます。テスラの製造方法、技術は古くから成熟しており、米国でのテスラの「スーパーファクトリー」の製造方法も古くから検証され、実践されてきました。ですから、問題は、上海テルサの「スーパーファクトリー」を構築するのは簡単ですか?この「スーパーファクトリー」を世界の他の場所に複製するのは簡単ですか?答えはもちろんノーです。これは、上海でのイーロン・マスクの工場建設式典の興奮とダンスから見ることができます。そのような「工場技術」の特徴を見ることができます。もちろん、マスクがカリフォルニアで最初の「スーパーファクトリー」にいて、会社で数ヶ月寝ていたとき、私たちはこれも理解できます。

そのような業界では、すべての面が最も難しいわけではないようです。技術、個々の人的スキル、方法などはすべて成熟しています。小さな家や実験室で結果を出すことは難しくありません。数百または数千数千平方メートルの工場やオフィスエリアで大規模なコラボレーションに取り組んでいる人々の中で、製品を安定して、継続的に、そして信頼できる方法で作る方法は「難しい」です。産業用の「LCDパネル技術」、Telsaの「スーパーファクトリー」、ICTチップ産業もその一例です。そうですね、個人的にはソフトウェア工学の能力も「工場技術」のレベルまで引き上げるべきだと思います。
ここに写真の説明を挿入

アルゴリズムを研究するために1人か2人を見つけることは難しくなく、検証済みバージョンを開発するために12人を見つけることも難しくありません。場合によっては、適切な小さなチーム(このようなグループの人々がいる)にとっても難しいことではありません。大規模なソフトウェアを継続的かつ着実に開発、保守、反復的かつ革新的に開発する方法は、さらに困難です。マイクロソフトのようないくつかの大規模なソフトウェア会社はそのような機能を持っています。そして、そのような能力を単に「人を掘る」または「エンジニア」を採用することを望んでいる企業は、単なる誤解です。「ファクトリーテクノロジー」の中核は、人、環境、コラボレーション、方法、そして言葉では言い表せないスキルを統合する包括的な「システム」テクノロジーだからです。一点から改善するだけでは「運命で魚を物乞いする」のではないかと疑われ、迷いやすい。これらは、特定のプログラミング言語のプログラミングガイドに代わるものではありません。ここでの「知識」とノウハウは、数百人のエンジニアのブログである場合もあれば、プロジェクトチームまたは会社の技術フォーラムに投稿されている場合もあります。エンジニアの脳に存在する「経験」。しかし、1人のスキルや経験を、何十万人もの人々が一緒に作業する経験に重ね合わせることができず、より多くの顧客のニーズを解決するために創造的に「プレイ」することができます。それは状態であるだけでなく、「プロセス」でもあります。

ソフトウェアの「ファクトリーテクノロジー」は、前述の液晶パネルよりも難しいものであり、現在多くの人が議論している会社の「遺伝子」もソフトウェアファクトリーテクノロジーの特徴です。つまり、上記の工場技術の特性には、企業文化、創業者、経営志向など、より複雑な「要素」が存在することが多い。正直なところ、良い「万能薬」は本当にありません。唯一目に見えるのは、ソフトウェアの開始以来実施されてきた「フリーソフトウェア文化」が、ソフトウェア産業の法則と性質。これから発展した「オープンソース文化」と「オープンソースコミュニティ」は、活況を呈しているICT産業に暗黙のうちに関連付けられている地下を流れる一種の「マグマ」または「土砂崩れ」です。オープンソースソフトウェアコミュニティのオープン性、コラボレーション、イノベーション、および自己組織化とフラット化は、企業がソフトウェアエンジニアリング機能を構築およびスケールアップし、コアソフトウェアの競争力を備えた「ファクトリーテクノロジー」を構築するのに役立つ最善の方法かもしれません。複製して学ぶのは難しいです。
ここに写真の説明を挿入

したがって、この記事は、オープンソースコミュニティを検討するための文化的または産業的手段として、オープンソースソフトウェアコミュニティから飛び出します。これは、現在または将来のオープンイノベーションとより一致し、大規模な「ソフトウェアファクトリーテクノロジー」である可能性があります。これらの人々のスキルに焦点を当てる方法は?これらの人々が一緒に行うことの有効性に注意を払いながら、単に「形而上学的に」ではなく、単に人々と物(製品)を分離することはできないのです。それらを人的資源またはプロセス品質として要約します。

このような「工場技術」をより適切に管理する方法は、ICT業界における企業の競争力とリーダーシップさえも決定します。

さらなる議論は次のパートで行われます。

おすすめ

転載: blog.csdn.net/rxdboy77/article/details/112578061