Knowledge-oriented software engineering process in a multi-cultural context
In software engineering, leading trends can be detected that will affect the characteristic features of a product and its development process. On a product level, the growth of size and complexity is apparentbut on the one hand only. On the other hand, there is also a growing demand for simple and reasonable small software products executed by handheld terminals and smartphones; these applications are in many cases expected to collaborate with databases over the Internet. In addition, different kinds of service concepts (ASP, SaaS) are becoming recognized alternatives to the traditional way of buying software. Increasingly, software products are also distributed in a wide geographical scope to users with different cultural backgrounds and expectations. In software engineering work, as a consequence of this growth in size and complexity, the development work is more and more often distributed. The software business itself is becoming global because of acquisitions, offshoring, and international subcontracting. The globalization of work sets new requirements to the engineering processes: in international teams the organisational and cultural differences of the development subteams have to be recognized. In this paper, the focus is on the software development and its global dimensionespecially the roles of multi-cultural and cross-organizational issues in software engineering. Our paper presents the results of the first phase of our three phases research project related to Culture-Aware Software Engineering. The main result of the first phase is the multi-cultural software engineering working model introduced in our paper. Culture is seen as one example of the context, i.e. the situation at hand. The concept of culture has also different meanings, which have to be understood in well-organized software engineering. Software engineering work is analyzed as a knowledge creation process, in which both explicit and tacit knowledge are recognized and the transformation between these establishes baselines along the development life cycle.
knowledge software engineering process culture context