Dr. Lionel Briand, P. Eng. (Registered in Ontario)
Systems and Computer Engineering
Carleton University, Ottawa, Canada
Title: Software Documentation: How much is enough?
Software maintenance and evolution involves, in practice, software developers who have to modify systems they have not specified, designed, or coded. It is assumed that some systems should be properly documented in order to avoid the decay of evolving systems and make maintenance a cost-effective activity. From a development perspective, with the dissemination of ideas from extreme programming, documentation should be minimized to the point that test cases may be considered the only source of information regarding the behavior of a software component.
Recent work has shown that practitioners see documentation as a trade-off. It should be detailed enough to be useful (admittedly a vague term) but should be minimized so as not to affect time to market and project delivery. There is, of course, an inherent contradiction in such a statement. Documentation is a time consuming activity and can only make sense, from an economical standpoint, in a context where it is going to be used to ease future system evolution.
A number of issues and research questions then arise from such a situation. What are the consequences of the precepts of extreme programming on software evolution? How much documentation is enough, in which context? What should be documented? How should it be documented? One difficulty is that those general questions need to be better defined into researchable questions and investigated in well-defined contexts. This keynote will focus on documentation in the context of UML analysis and design models, propose research directions, raise issues, and submit a few provocative comments to the audience's attention to stimulate a debate.
Biography: Lionel Briand
Lionel joined the Department of Systems and Computer Engineering, Carleton University, Ottawa, Canada, where he is now associate professor and director of the Software Quality Engineering laboratory. Before that he was the software quality engineering department head at the Fraunhofer Institute for Experimental Software Engineering, Germany. Lionel also worked as a research scientist for the Software Engineering Laboratory, a consortium of the NASA Goddard Space Flight Center, CSC, and the University of Maryland. But his first experiences are in the trenches, designing and developing large software systems, and he has, over the years, acted as a consultant to many industrial and government organizations.
Lionel has been on the program, steering, or organization committees of many international, IEEE/ACM conferences such as ICSE, ICSM, ISSRE, SEKE, and METRICS. He is on the editorial boards of Software and System Modeling (Springer) and IEEE Transactions on Software Engineering, and is the co-EIC of Empirical Software Engineering: An International Journal (Kluwer).
His research interests include: object-oriented analysis and design, inspections and testing in the context of object-oriented development, quality assurance and control, project planning and risk analysis, technology evaluation.
Lionel received the B.Sc. and M.Sc. degrees in Geophysics and Computer Systems Engineering from the University of Paris VI, France. He holds a Ph.D. degree in Computer Science, with high honors, from the University of Paris XI, France.