第1章. DevSecOpsの必要性
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
ソフトウェアは問題を解決するために作成される。しかし、ソフトウェアの作成には問題がつきものであり、その過程で新たな問題が発生することさえある。組織は、カスタマイズされたソフトウェアを開発するか、あらかじめ組み込まれたソフトウェアを購入するかを決定する。オフィス生産性スイートのようなコモディティソフトウェアの場合、既成のオプションを選択するのが最も経済的である。しかし、ビジネス機能分野における高度なソリューションの開発には、カスタム開発が必要になることが多い。カスタムソリューションは、競争優位性の獲得や効率性の向上という究極の目標を追求して作成される。
ソフトウェア開発のプロセスは、1990年代後半から2000年代前半にかけて大きく変化した。その大きな変化は、要求の収集に重点を置いたものから、反復とスピードに重点を置いたものへと変化した。ソフトウェア開発の反復的な方法は、新機能の迅速な提供を可能にする反復可能なプロセスと自動化を特徴としており、開発ライフサイクル全体を通じてフィードバックループを組み込んでいる。オープンソースで透明性の高いメンタリティを推進する組織文化の変化と相まって、その結果、領域よりも品質を重視する機能横断的なチームが生まれ、複数チームが合併することになる:開発、and演算子、セキュリティ-DevSecOpsである。
この章では、DevSecOpsムーブメントの背後にある推進力について考察する。ソフトウェア開発のプロセスが初期化の焦点である。ソフトウェア開発方法論の進化は、DevSecOps を完全に理解し、成功させるために必要な背景を提供する。この章は、DevSecOpsに移行する組織にとっての文化的変化の重要性に重点を置いて続く。
ソフトウェアの開発
目標を達成するために、組織はリソースの一部をソフトウェア作成に割り当てる。このようなリソースは、より高いリターンを得られる可能性のある他の場所に投資することができることを考慮することが重要である。例えば、10万ドルをマーケティングに投資すれば、その資金をWebサイトでの顧客登録プロセスの合理化に投資するよりも、より多くの顧客を獲得できるかもしれない。
たとえお金の問題でなくても、スピードは重要だ。ソフトウェアを素早く作成し、デプロイする能力は、競争上の優位性を獲得したり、効率を高めたりするあらゆる努力の制限要因である。ある点を過ぎると、プロジェクトに開発者を増やしても、そのプロジェクトが早く終わることはない。正反対だ。開発者が増えれば増えるほど、首尾一貫したコミュニケーションは不可能になる。
ソフトウェアはアイデアから始まる。そのアイデアを実用的なソフトウェアにするには、先見性と計画が必要である。ソフトウェア開発プロジェクトは、開発するソフトウェアの種類にもよるが、いくつかのプロセスを用いて管理することができる。ソフトウェア開発、要件定義、ソリューションの設計、開発、コーディング、そして最後にリリース直前のソフトウェアのテストが含まれる。このプロセスを図 1-1 に示す。
図1-1. ソフトウェア開発のプロセス ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access