Value-Based Software Engineering

(This writing is a summary of Barry Boehm’s “Value-Based Software Engineering” article.)

The paper written by Barry Boehm discusses “Value-Based Software Engineering” which is basically about “value”. The dictionary meaning of value is that the regard that something is held to deserve; the importance, worth, or usefulness of something. According to Boehm, in order to have a more realistic software design, division of value should be separated correctly. To give an example, earlier software designs were value-neutral, so they are used to fail due to lack of user input, incomplete requirements, changing requirements, lack of resources, unrealistic expectations, unclear objectives, and unrealistic time frames. Failures occur because the process of design is done without considering essential factors adequately.
He introduces seven key elements which form value based software engineering framework. According to this framework, the first part is shared vision, gathering all information, ideas, concerns, expectations and so on in order to have a realistic prediction for the future of the software, the part which includes first three elements. First one is “Benefits Realization Analysis” in which “Result Chain” which is to determine the initiatives and the stakeholders’ desired outcomes, and the other factors connecting these first two in order to complete the system is used. In this part, the factors are not only the software related but also related to other ingredient such as economic, time, human, and so forth. Second, “Stakeholder Value Proposition Elicitation and Reconciliation” meaning that eliminating arguments by using “Model-Clash Spiderweb” in order to reconcile. In other words, this step is the decision making with various values of different people. Third, “Business Case Analysis” which aims at creating a realistic financial plan considering return on investment across a system’s lifecycle.
The second section of the framework is “Planning and Execution” where the fourth and fifth elements are placed. The fourth element is “Continuous Risk and Opportunity Management” in which risk analysis and risk management are performed, so that eliminating uncertainties by prototypes, surveys, focal point person who watches marketplace or technology. Risk analysis and management is important because there might be rapid changes which might affect the performance of the design. The fifth element is “Concurrent System and Software Engineering” that stands for performing simultaneously product’s or service’s operational concept, requirements, architecture, lifecycle plans, and key sections of code because the changes affect these processes simultaneously. Therefore to be able to respond rapidly to changes, fifth element occurs to fix this emerging issue.
Third part of the framework is monitoring which is the sixth element: “Value Based Monitoring and Control”. Monitoring is the process of checking whether assumptions, outcomes, contributions, cost predictions are the same as the original plan. If not, a corrective action is required.
The last element, “Change as Opportunity”, is proposed by the author in order to identify and reorient the project to address unexpected risks and opportunities. According to Boehm, design should be adaptable to changes because change is the inherent character of the real world.
To sum up, Boehm introduces the value-based software engineering and shows that it has countless advantages compared to value neutral approaches because, as he says, “Better decision making is the key enabler of greater value added.” In order to make better decisions, we need to integrate the value consideration into our design process.

Isa Hatipoglu – 09/24/2014

(This writing is a summary of Barry Boehm’s “Value-Based Software Engineering” article.)

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s