Annals of Software Engineering

, Volume 6, Issue 1–4, pp 343–363 | Cite as

Improving academic software engineering projects: A comparative study of academic and industry projects

  • Pierre N. Robillard
  • Martin Robillard


A project course in software engineering is often part of the curriculum in computer engineering or computer science. This paper studies the relationship between academic and industrial projects in software engineering. The purpose is to compare the practices followed in a project-course approach with the practices of professional software engineers. The approach is to compare the measurements obtained from academic and industrial projects. The critical factors regarding the process, the people and the project are discussed. The structure of the software processes and the measurement tools are presented. The data analyses show that the academic projects are found to be strongly dominated by programming activities. Based on the data from the industrial projects, we formulate seven recommendations to improve the software engineering practices in academic projects. They are related to management, predevelopment, development, testing, reviews documentation and team activities. The concluding remarks discuss some of the actions that could be taken to improve academic projects.


Operating System Computer Science Critical Factor Software Engineering Software Engineer 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Boloix, G. and P.N. Robillard (1995), “A Software System Evaluation Framework,” IEEE Computer, December, pp. 17–26.Google Scholar
  2. Finnie, G.R., G.E. Wittig, and D.I. Petkov (1993), “Prioritizing Software Development Productivity Factors Using the Analytic Hierarchy Process,” Journal of Systems and Software 22, 129–139.Google Scholar
  3. Freedman, D.P. and G.M. Weinberg (1990), Handbook of Walkthroughs, Inspections, and Technical Reviews, 3rd Edition, Little, Brown Computer Systems Series, Boston, MA.Google Scholar
  4. Marsan, A. (1990), “Stochastic Petri Nets: An Elementary Introduction,” In Advances in Petri Nets, G. Rozenberg, Ed., Springer-Verlag, pp. 1–29.Google Scholar
  5. Robillard, P.N. (1995), “Experience in Teaching Team Software Design,” In Proceedings of the 6th World Conference on Computers in Education, Chapman and Hall, Birmingham, UK, pp. 441–453.Google Scholar
  6. Robillard, P.N. (1996a), “Teaching Software Engineering Through a Project-Oriented Course,” In Proceedings of the 9th Conference on Software Engineering Education, Springer-Verlag, Daytona Beach, FL, pp. 85–94.Google Scholar
  7. Robillard, P.N., M. Simoneau, J. Mayrand, and D. Coupal (1996), “Experimental Data on the Usefulness of a Structured Editor,” In Structured-Based Editors and Environments, G. Szwillus and L. Neal, Eds., Academic Press, Amsterdam, The Netherlands, Chapter 6, pp. 193–206.Google Scholar
  8. Robillard, P.N. (1996b), “Programming Environment for Eliciting Knowledge Types,” In Proceedings of 8th Annual Workshop, Psychology of Programming Interest Group, Gent, Belgium, pp. A1–A9.Google Scholar
  9. Robillard, P.N. (1999), “The Role of Knowledge in Software,” Communications of the ACM 42, 1, 87–92.Google Scholar
  10. Schemacode (1998), Schemacode International Inc., Scholar
  11. Software Engineering (1997), IEEE Standards Collection, The Institute of Electrical and Electronics Engineers, Inc., New York, NY.Google Scholar

Copyright information

© Kluwer Academic Publishers 1998

Authors and Affiliations

  • Pierre N. Robillard
    • 1
  • Martin Robillard
    • 2
  1. 1.Laboratoire de Recherche en Génie Logiciel, Département de Génie Électrique et de Génie InformatiqueÉcole Polytechnique de MontréalSuc. Centre-villeCanada
  2. 2.Department of Computer ScienceUniversity of British ColumbiaVancouverCanada

Personalised recommendations