質問:開発者として、製造業界のプロセスから学ぶことはできますか?彼らのプロセスを採用することで、ソフトウェア開発の成功率を上げることができますか?
回答:はい、もちろんです。ソフトウェア開発は創造的なプロセスであるという事実にもかかわらず、ソフトウェア開発者が製造から学ぶことができる多くの教訓があります。ソフトウェア開発はそれ自体がプロセスであり、他の多くのプロセスが含まれます。これらのプロセスを定義および制御できるほど、ソフトウェア開発のプロセス全体をよりよく制御できます。これは、開発者が行うすべてのキーストロークを規定する必要があるという意味ではありません。これは、開発者が自然に特定の順序でタスクを実行し、それらのタスクを管理できることを意味します。ここではいくつかの例を示します。
欠陥追跡:バグが観察または報告された場合、それはどうなりますか?それを紙くずに書き留めて、「調査」スパイクに貼り付けますか?後でそれらのスクラップを1つずつ削除して調査し、最終的にそれらを「解決済み」スパイクに移動しますか?バグレポートを受け取るたびにそれを確実に行うと、明確で測定可能なプロセスが得られ、おそらく、面倒でハイテクな欠陥追跡システムを持っている人よりもはるかに優れているでしょう。一部のチームメンバーは他の方法でバグを追跡するか、まったく追跡しません。
バージョン管理:作業中にバージョン管理を使用する可能性が高く、誰もが同じように使用する場合、バージョン管理は明らかに非常に便利です。
製品設計:付箋紙で覆われた壁にダーツを投げて、実装する機能を決定しますか?もしそうなら、あなたはプロセスを持っています。それが素晴らしいプロセスであると誰もが主張することはないと思いますが、少なくともそれは出発点です。プロセスを変更した場合、前後を測定しない限り、変更が実際に改善されたものであることを確実に知るにはどうすればよいですか できません。
コードレビュー:レビューごとにレビュープロセスとコーディング基準が変更された場合、コードレビューは役に立ちますか?もちろん違います。
ソフトウェア開発ライフサイクル:分析全体->設計->実装->テスト->メンテナンスサイクルは、明確に定義する必要があるプロセスです。
これらの各ケースで、プロセスを実施することで、入力と出力を測定し、加えた変更が意図した効果をもたらすかどうかを判断できます。プロセスを設定していないということは、仕事のやり方を改善しようとするときに推測しているだけということです。これこそが製造業の本質であり、製造業の一連の改良ツールを適切なときに借りることだけが理にかなっています。
ソフトウェアの作成と保守に使用されるプロセスの定義と改善に専念する分野全体があります。これはソフトウェアエンジニアリングと呼ばれます。CMMIについて読んでいる間に開発プロセスについて質問があるのも当然です。CMMIはSoftware Engineering Instituteの製品です。
ソフトウェア開発はすでに多くの製造コンセプトを採用しています:
EOPとコンポーネントベースの開発の両方で、Eli Whitneyの交換可能なパーツの影響を見るのは難しいことではありません。
ソフトウェア開発で使用されるプロジェクト管理手法は、製造用に開発されたものとそれほど変わりません。ほんの2つの例として、ソフトウェアの世界では、数十年前にトヨタで開発されたかんばんの概念を最近採用しました。ガントチャートは、最初の電子コンピュータが構築されるずっと前から製造に使用されていました。
製造用に開発されたシックスシグマのような品質管理方法論は、ソフトウェア開発に適応されています。
重いプロセス主導の環境にもかかわらず、開発者は「オンザフライ」で物事を作成することに従事しなければなりません。
誰かが自分で顔認識パッケージにパッチを追加することを決定し、追跡システムで問題を作成せずに設計をレビューせずに製品ビルドにパッチを追加することを教えてくれますか?コードをバージョン管理にチェックインするのか、それともテスト担当者に最初にそれを見てもらうのか?私たちのプロセスは、いくつかの非常に正当な理由のためにそれらのものを必要とします。「オンザフライ」で「プロセス外」を意味する場合、それは受け入れられません。
その場で物事を行うことは、製造の精神に反しています。
繰り返しになりますが、「オンザフライ」が「プロセス外」を意味する場合、そのとおりです。しかし、製造で問題を迅速に考え、創造的な解決策を開発する必要がないと考えるなら、それは間違いです。製造プロセスであらゆる種類の問題が発生します-カップケーキに十分なクリームが充填されておらず、塗装面がQAのスクラッチテストに合格しなくなり、完成した部品の20%に重要な止め輪がなくなっています。生地の混合システムが壊れています重要な部分...