An Approach for Software Architecture by understanding Value requirements, developing Value proposition, and subsequently realizing Value
2015
Software Architecture is both a design activity (process) as well as the schema of fundamental things about a system (work product). As a design activity, architecture is the act of creating a representation of an unknown and original object whose properties (like technical aspects, formal and spatial structures) must be well enough understood in advance. As a work product, software architecture is the structure of the components of a system, their interrelationships, externally visible properties of those components and principles and guidelines governing their design and evolution over time. Handling this duality and realizing architectural designs that improve the value of the solution within cost limitations; provisioning for evolution over the system lifetime; considering the needs of all stakeholders; and ensuring that the system is well matched to its environment are the typical responsibilities of Software Architects. The outcome of Software Architecting process is Software Architecture. Traditionally, this process provides general guidance to the Software Architect and utilizes an envelope of practices and design patterns that govern the Software Architecture creation. Its purpose is to aid the Software Architect to synthesize a solution that satisfies the requirements and it is the responsibility of the Software Architect to identify the right practices/patterns necessary for creating an appropriate solution. While most of the existing practices look at developing an Architecture that satisfies the requirements identified by the Software Architect, we propose a value understanding, value proposition and value realization based approach for Software Architecting that is based on the value co-creation system that exists in the software development and usage life cycle. In this paper, we discuss about the theoretical framework necessary for such a Value based approach. This theoretical framework is based on insights arrived at by asking four questions that needs to be answered for the software to succeed economically. These four questions are: a) What are the benefits and how to discover, diagnose and understand these benefits? b) What are the carriers for achieving these benefits? How can one derive these carriers of value? c) What are the cumulative net benefits that should be delivered by the software? d) How does one compose and deliver the software so as to realize these benefits? The basis of the framework is the values viewpoint for creating and describing software. We illustrate our theoretical framework and approach by architecting a task automation system.
Keywords:
- Correction
- Cite
- Save
- Machine Reading By IdeaReader
26
References
1
Citations
NaN
KQI