Learn More
Maintenance costs make up the bulk of the total life cycle costs of a software system. Besides organizational issues such as knowledge management and turnover, the long-term maintenance costs are largely predetermined by various quality attributes of the software system itself such as redundancy and adequate documentation. Unfortunately, many quality(More)
Defect-detection techniques, like reviews or tests, are still the prevalent method to assure the quality of software. However, the economics behind those techniques are not fully understood. It is not always obvious when and for how long to use which technique. A cost model for defect-detection techniques is proposed that uses a reliability model and expert(More)
Open source software development follows a development process that is defined by various rules and conventions as well as the set of tools that is being used, depending on the particular project. Commercial organizations which plan to enter the open source scene usually use quite different processes and tools. They have to integrate the tools used by the(More)
In today's software industry a software engineer is not only expected to successfully cope with technical challenges, but also to deal with non-technical issues arising from difficult project situations. These issues typically include understanding the customer's domain and requirements, working in a team, organizing the division of work, and coping with(More)
Commercial organizations show increasing interest in using and improving Open Source (OS) software – they want to participate in the OS community, but still have commercial interests. We believe there is not necessarily a conflict of interests, and the OS community can gain from the participation of commercial organizations. But this special situation(More)
Creating long-lived software systems requires a technology to build systems with good maintainability. One of the core ideas of the Model Driven Architecture (MDA) is to ease the change of the run-time platform by raising the level of abstraction in which just the business aspects are modelled, and by separating business aspects from technical issues and(More)