This report describes the study of an industrial software-development project during 1999, as seen from a semantic point of view. The project lasted about 6 months, included about 10 persons, and had a medium level of innovation and a high pace. The study was part of an ongoing research project at the department of computer science. It was performed by a researcher while he was participating as a team member in the project. The objective of the study was to gain a better knowledge of how semantic issues are managed in practice and to identify factors that may limit the possibilities to focus on semantics in a development project of this kind. The research group of the researcher is working on a development method with a focus on semantics, and the experiences will be useful for this work.
The semantic modeling done during the project was mostly intuitive, but those parts of the product that were planned semantically had few errors. Design contracts were successfully used in part of the project. Although the project members were not used to working with design contracts, they soon learned to respect them.
Lessons about semantics were learned, regarding as well the management, the work and the product. For management, the main lessons were that semantic planning pays off in terms of high development speed and low error rates and that changes in the specifications occurring during development must be managed. For the project work, the main lessons are that time and effort are saved if clear semantic specifications were given before the implementation and that communication between team members about semantics should be managed. In addition, the theoretical result that strong contracts may be weakened was confirmed. For the product, the main lesson is to adapt the semantics of a module to its intended usage pattern.