Customer-Value Engineering in the Software Development Process. David M. Raffo' ... School of Business Administration, Portland State University, Portland, OR 97207-075 1, USA ... In most companies, value-creating functions such as.
Customer-Value Engineering in the Software Development Process David M. Raffo', Robert R. Harmon', and Stuart Faulk2
' School of Business Administration, Portland State University, Portland, OR 97207-0751, USA * Computer Science Department, University of Oregon, Eugene, OR, USA
In most companies, value-creating functions such as product management, marketing, and development are not only separated organizationally, they are separated by culture, language, and perception of overall goals. Such functionalsilo organizations discourage information flows across functional boundaries. Further, standard softwaie development models do not support active management of the relationship between business goals and software design. The result is often a mismatch between market concerns and business goals for a software product and its delivered capabilities. One hears the following kinds of complaints as a result: 0
0
0
0
"We had the best product but by the time it shipped we'd missed the market window." "Our customers wanted us to add a couple of simple features but found we couldn't do it without rewriting much of the code." "We were behind schedule and wanted to deliver a scaled down version of the system but found that nothing would work until the system was completed." "We planned to develop a whole line of products based on our original design but found we had to start over again."
Problems like these stem from inadequacies in the software's foundational design, the software architecture. The software architecture describes the softwarek most basic
design decisions, its organization into components and the relationships between components. This paper describes ongoing work to develop a new software development process we call Value-Based Software Engineering (VBSE). VBSE brings together recent work in Customer Value Analysis and the architectural branch of Software Engineering to directly link relevant software design decisions to both tactical and strategic business objectives. VBSE provides a systematic process for analyzing customer value, casting the results in terms of architectural quality requirements, and then developing architectural structures that satisfy those requirements. Architectural analysis techniques support verification of the match between the resulting design and business goals. VBSE institutionalizes the necessary communication between stakeholders in the software development process. It actively involves customers in setting goals and actively involves management and marketing in critical product design decisions. The immediate result is a development process that substantially reduces the risk of mismatch between a product's design and overall market and business objectives. Integrated with advanced software development methods for creating software product lines, VBSE has the potential to improve product flexibility and quality while substantially reducing cost, risk, and time to market over multiple product developments.
402
,