Domain-Driven Design and Soft Systems Methodology as a Framework to Avoid Software Crises
Crisis is considered to be an issue concerning complex systems like societies, organizations or even families. It can be defined as the situation in which the system functions poorly, the causes of the dysfunction are not immediately identified and immediate decisions need to be made. The type and the duration of a crisis may require different kinds of decision making. In a long-term crisis, when system changes may be required, the active participation of the affected people may be more important than the power and dynamics of the leadership. Software crises, in their their contemporary form as oganizational maffunctions, can still affect the viability of any organization. In this contribution we highlight the systemic aspects of a crisis, the complexity behind that and the role of systemic methodologies to explore its root causes and to design effective interventions. Our focus is on modeling as a means to simplify the complexity of the regarded phenomena and to build a knowledge consensus among stakeholders. Domain-Driven Design comes from software as an approach to deal with complex projects. It is based on models exploration in a creative collaboration between domain practitioners and solution providers. SSM is an established methodology for dealing with wicked situations. It incorporates the use of models and, along with Domain-Driven Design and other systemic methodologies can be employed to develop a common perception of the situation and a common language between interested parties in a crisis situation.