プリンキピア

第9章ソフトウェア工学

Suggested Process Model推奨するプロセスモデル

Which process model is the best? There is no best process model, and no process model will work for every project or group of people. Each model has advantages and disadvantages to be considered.
どのプロセスモデルが最良なのだろうか。最良のプロセスモデルというものはなく、あらゆるプロジェクトや集団に通用するモデルもない。各モデルには、考慮すべき利点と欠点がある。
The recommended approach is to use the model that can be tailored best to fit the current project and the skills of the team members. Many organizations have already made this determination and will have their own internal guidance on which model should be used. Regardless, it is often important to consider software process improvement, which is the process of transforming the existing approach to software development into something that is more focused, more repeatable, more reliable (in terms of the quality of the product produced and the timeliness of delivery), and more cost-effective. As shown in Figure 9.16, software process improvement typically involves four steps.
英語のヒント
勧められるのは、現在のプロジェクトとチームメンバーの技能に合わせて、最もうまく調整できるモデルを使うことである。多くの組織では、すでにこの判断が行われ、使用すべきモデルについて社内の指針が定められている。いずれにしても、ソフトウェアプロセス改善を検討することが重要な場合が多い。これは、ソフトウェア開発の既存の手法を、焦点がより明確で、より再現しやすく、より信頼性が高く、費用対効果もより高いものに変えていくプロセスである。ここでいう信頼性とは、作る製品の品質と、提供の時期が適切であることに関するものである。図9.16に示すように、ソフトウェアプロセス改善は通常、四つの手順からなる。
Figure 9.16

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典

Figure 9.16 Software process improvement can be used to transform any chosen software process model into one that is more focused, repeatable, reliable, and cost-effective. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図9.16 ソフトウェアプロセス改善によって、選んだソフトウェアプロセスモデルを、焦点がより明確で、再現しやすく、信頼性が高く、費用対効果にも優れたモデルに変えていくことができる。(帰属:Rice University、OpenStax著作権、CC BY 4.0ライセンス。)
INDUSTRY SPOTLIGHT産業界に注目
Applying the Right Process適切なプロセスの適用
The proper selection and application of a software engineering process are important in every industry today as these processes help ensure the success of the software solutions being developed. Software engineering offers many industries opportunities for improvement. For example, the New York Stock Exchange (NYSE) has engineered its software to offer stock trading capabilities to anyone anywhere so that they can trade at almost any time. As you can imagine, the NYSE software is complex, and any software issues encountered during trading hours can generate financial losses or cause reputational damages. These are some of the considerations that must have gone into the decision about which software engineering process to use to complete this upgrade.
英語のヒント
現在、あらゆる産業でソフトウェア工学のプロセスを適切に選択し、適用することが重要である。こうしたプロセスが、開発するソフトウェアによる仕組みの成功を確かなものにする助けとなるからだ。ソフトウェア工学は、多くの産業に改善の機会をもたらす。たとえばニューヨーク証券取引所(NYSE)は、誰もがどこからでも株式を取引でき、ほぼいつでも取引できるようにするために、ソフトウェアを設計・開発した。想像できるように、NYSEのソフトウェアは複雑であり、取引時間中にソフトウェアの問題が発生すると、金銭的損失や評判の低下につながる可能性がある。これらは、この更新を完成させるのにどのソフトウェア工学のプロセスを使うかを決める際、考慮されたはずの事柄の一部である。
Of all the processes you’ve learned about so far, which one(s) do you think might be best for a project that involves developing a software solution to serve the global markets industry? Think about the possible ramifications of software development delays when addressing a software issue on a trading floor. Imagine a software defect causes stock prices to display incorrectly during peak trading hours. How could this impact the market and investors?
英語のヒント
これまでに学んだプロセスのうち、世界の金融市場に関わる産業向けにソフトウェアによる仕組みを開発するプロジェクトには、どれが最も適していると思うか。取引フロアのソフトウェアの問題に対処するとき、ソフトウェア開発が遅れると、どのような影響が広がる可能性があるかを考えよう。取引が最も活発な時間帯に、ソフトウェアの欠陥によって株価が誤って表示される状況を想像してみよう。市場と投資家には、どのような影響が及ぶだろうか。