“Lazy” consistency: a basis for cooperative software development
CSCW '92 Proceedings of the 1992 ACM conference on Computer-supported cooperative work
How to deal with deviations during process model enactment
Proceedings of the 17th international conference on Software engineering
ICSE '91 Proceedings of the 13th international conference on Software engineering
Making inconsistency respectable: a logical framework for inconsistency in reasoning
FAIR '91 Proceedings of the International Workshop on Fundamentals of Artificial Intelligence Research
Managing inconsistencies in an evolving specification
RE '95 Proceedings of the Second IEEE International Symposium on Requirements Engineering
Consistency checking of SCR-style requirements specifications
RE '95 Proceedings of the Second IEEE International Symposium on Requirements Engineering
IWSSD '93 Proceedings of the 7th international workshop on Software specification and design
An Approach to Preserving Sufficient Correctness in Open Resource Coalitions
IWSSD '00 Proceedings of the 10th International Workshop on Software Specification and Design
Heterogeneity in Model Management: A Meta Modeling Approach
Conceptual Modeling: Foundations and Applications
Hi-index | 0.01 |
This position paper argues that inconsistencies that occur during the development of a software specification offer an excellent way of learning more about the development process. We base this argument on our work on inconsistency management. Much attention has been devoted recently to the need to allow inconsistencies to occur during software development, to facilitate flexible development strategies, especially for collaborative work. Recent work has concentrated on reasoning in the presence of inconsistency, tracing inconsistencies with "pollution markers", and supporting resolution. We argue here that one of the most important aspects of inconsistency is the learning opportunity it provides. We are therefore concerned with how to capture this learning outcome so that its significance is not lost. We present a small example of how apprentice software engineers learn from their mistakes, and outline how an inconsistency management tool could support this learning. We then argue that the approach can be used more generally as part of continuous process improvement.