This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Opportunistic Problem Solving in Software Engineering
November/December 2005 (vol. 22 no. 6)
pp. 60-67
Pierre N. Robillard, ?cole Polytechnique de Montr?al
Software development is a complex, mainly cognitive endeavor. What is specific about software engineering relative to other engineering disciplines, and how can we measure what can be improved? Many concepts, such as problem solving and opportunistic design, are common to all engineering disciplines. The author reviews these concepts from a software engineering perspective in order to highlight their links to software practices. Software engineering activities are composed of cognitive actions performed by human beings. For many years, researchers and developers have helped improve software engineering practice by suggesting various intuitive approaches, proposing modeling techniques, and presenting case studies of successful projects. Real and durable improvements are likely to emerge from a scientific approach based on observation and measurement of real human behaviors. Based on results from measuring cognitive actions, the author proposes synchronization meetings to improve practices with a high degree of opportunistic problem-solving content.
Index Terms:
Software engineering, software process, process assessment, process qualitative and quantitative measurements, cognitive actions, process practices, cognitive synchronization, synchronization meeting
Citation:
Pierre N. Robillard, "Opportunistic Problem Solving in Software Engineering," IEEE Software, vol. 22, no. 6, pp. 60-67, Nov.-Dec. 2005, doi:10.1109/MS.2005.161
Usage of this product signifies your acceptance of the Terms of Use.