リーンソフトウェア開発とは
リーンソフトウェア開発は、ソフトウェア作成のための理想的な一連の状況を記述するパラダイムです。 リーンソフトウェア開発は、それぞれ長所と短所がある多くのソフトウェア開発理論の1つにすぎないと考えることが重要です。 リーンソフトウェア開発モデルを使用する場合、7つの重要なポイントを理解する必要があります。無駄の排除、学習の拡大、意思決定の遅れ、短納期、チームの権限付与、整合性の構築、全体の視覚化です。
廃棄物の除去は、時間とお金を節約する目的の両方です。 Lean Software Developmentの余剰コードと不要な機能の量を減らすことにより、ソフトウェア開発チームはお金を節約し、よりタイトなコードをエンドユーザーに提供します。 したがって、Lean Softwareモデルを使用して作成されたプログラムは、リソースをあまり消費せず、より集中的になります。
リーンソフトウェア開発における学習増幅とは、テストフェーズの間に短いサイクルを使用するという概念を指します。 理論的には、これによりエンジニアにより多くのフィードバックが提供されるため、開発チェーンの初期段階で問題を特定できます。 エンドユーザーはこれらのフェーズに含まれ、ベータ版のプログラムがニーズを満たしていることを確認します。
後期の意思決定により、設計スケジュールの柔軟性が高まり、最大数のファクトが収集された後にのみ決定を下すことができます。 たとえば、開発を開始する前に、プログラムXに機能A、B、およびCを含めることを決定することは、地上テストでそれらの機能を時間どおりに完了できないことが判明するまで、良いアイデアのように思えます。 リーンソフトウェア開発では、A、B、およびCを含めるという決定は、実際に可能かどうかが明確になるまで遅延されます。
高速配信とは、可能な限り迅速に(おそらくプログラムが85〜90%完了したときに)エンドユーザーに作業ベータモデルを提供し、プログラムの存続期間にわたってそのモデルのパッチとアップグレードを継続することです。 これは、プログラムが100%完了するまで待ってから配信するのとは対照的です。 理論的には、これによりエンドユーザーはプログラムからより多くの命を奪い取ることができ、開発チームは作業中のベータモデルから追加のフィードバックを得ることができます。
チームエンパワーメントとは、プログラミングプロセス中にチームにより多くの自律性を与えることです。 その結果、彼らは理論的にはプロジェクトにもっと投資されるようになります。 さらに、顧客へのアクセスを提供し、実際の配達に期待をより厳密に一致させることを意味します。
最後に、整合性の構築と全体の確認は、プログラムを単一のユニットとして表示することに焦点を当てています。 これを、プログラムを異なるシステムのパッチワークのコレクションと見なす他のシステムと比較してください。 この「全体像」の考え方は、完成した製品に関してはチーム全体が同じページにいるため、理論的にはより完全な製品を提供します。