Learn More
Projects where developers are geographically distributed and with high personnel turnover are usually considered to be hard to manage. Any organisation that successfully handles such projects merits closer analysis so that lessons can be learned and good practice disseminated. Open Source Software projects represent such a case. One important factor is good(More)
Versioning of components in a system is a well-researched field where various adequate techniques have already been established. In this paper, we look at how versioning can be extended to cover also the structural aspects of a system. There exist two basic techniques for versioning-intentional and exten-sional-and we propose a unified extensional(More)
This paper reports on experience from teaching basic software engineering concepts by using Extreme Programming in a second year undergraduate course taken by 107 students. We describe how this course fits into a wider programme on software engineering and technology and report our experience from running and improving the course. Particularly important(More)
The activities of configuration management and version control are common to a number of engineering tasks. These activities are particularly important for software engineers since they, during most of a system life cycle, have to deal with a growing number of versions of a single component, and to rebuild the complete system in different ways using(More)
Feature oriented development using models has many advantages. However, there are serious obstacles when it comes to using this approach because of lack of support for teamwork when using models. We believe that one solution is a better connection between research and problems -- and we suggest some strategies to pursue to achieve better support for(More)