Maarit Tihinen

Learn More
The maturation of the technical infrastructure has enabled the emergence and growth of distributed software development. This has created tempting opportunities for companies to distribute their software development, for example, to economically favourable countries so as to gain needed expertise or to get closer to customers. Nonetheless, such distribution(More)
Requirements engineering is a process in which a most diverse set of product demands from a most diverse set of stakeholders has to be considered. Thus, requirements engineering is generally thought of as the most critical and complex process within the development of embedded systems. Over the years, a lot of requirements engineering research has been(More)
This paper describes the results of a survey about the problems of and solutions for collaborative SW development. The survey was done through several interviews of companies doing collaborative development and also through a literature search to find already published experiences and solutions. As a result, we found that the literature focuses on solutions(More)
In globally distributed projects, successful product development requires companies to pay special attention to project management and controlling activities during the projects' life cycle. If controlling activities are not done well, the productivity of product development decreases. This is due to, e.g., unnecessary work caused by unclear(More)
The size and complexity of embedded systems is increasing rapidly, making it difficult for companies to develop all the required functionality alone. On the other hand, experience has shown that traditional single-company development technologies do not support collaborative product development well. Thus, by improving the collaborative way of working, the(More)
A number knowledge-related challenges may complicate the work in global software development (GSD) projects. In practice, even a small amount of missing knowledge may cause an activity to fail to create and transfer information which is critical to later functions, causing these later functions to fail. Thus, knowledge engineering holds a central role in(More)