Value-based Software Engineering is the introduction of value considerations into the software engineering principles and practices. It aims at ensuring that software principles and practices bring value.
The value-based approach to software development integrates value considerations into current and emerging software engineering principles and practices, while developing an overall framework in which these techniques compatibly reinforce each other.
With value-based software engineering, the value that software adds to a business must be closely monitored and controlled.
Consider the example of value-based software engineering below:
Company A has a dedicated team to ensure that the business need for the software being developed still exists at the time the software will be delivered and that no competitor had already captured the market niche within which the software exists.
There are some key processes involved in value-based software engineering:
1. Requirements engineering: Principles are developed to identify a system's success-critical stakeholders, value propositions with respect to the system, matching these value propositions to a set of objectives for the system.
2. System Architecting: Matching the system objectives to achievable system architecture.
3. Design and Development: Ensuring the design and development aligns with the system's objectives and value propositions.
4. Verification and Validation (V&V): Ensuring that software satisfies its value propositions.
5. Planning and Control: Extending the cost, schedule and planning and control techniques to include the value delivered to stakeholders.
6. Risk management: Putting in place principles and practices for handling risk.
7. Quality management: Prioritizing desired quality factors with respect to stakeholder's value propositions.
8. People management: This entails team building and expectations management, managing the project's accommodation of all stakeholder's value propositions throughout the life cycle, and integrating ethical considerations into daily project practice.
9. Principles and practices: These include COTS-based systems, rapid development, agile methods, high dependability systems, systems of systems and ethics.
This agenda has been actively pursed by the Economics-Driven Software Engineering Research (EDSER) community (www.edser.org).
1. B. Boehm, Value-Based Software Engineering, to be published in ACM Software Eng. Notes, Mar. 2003.