Requirements on development efficiency and cost effectiveness are constantly increasing. In order to achieve high efficiency companies are investigating different approaches such as outsourcing, using open source software components, and agile development methods. During the introduction of these approaches there is a need to understand and monitor the effects on non-functional aspects.
There is a need to investigate both individual approaches, such as open source in commercial organizations, and the combination of several approaches, such as agile methods in an outsourcing organization.
Agile practices emerged as an alternative to more plan-driven development approaches aiming at overcoming their limitations. Thus, many different organizations have applied different levels of agility on different in-house or global projects. However, the circumstances under which agile is efficient have not been well explored.
The objective of this research project is to identify different factors, which affect successful implementation of agile, and hence to propose guidelines on how and when agile practices and lean software development can be efficiently applied.
Commercial organizations can use open source, both as components in their development and as a way of collaborating in a community. Research is conducted on understanding how software quality and software architecture change under the community process, and understanding the community organization and collaboration. Research is also investigating the possibilities of applying open source methods within a company.