Abstract
Software development is a knowledge intensive activity involving the integration of diverse knowledge sources that undergo constant change. Most approaches to knowledge management assume that information exists and is readily sought by software developers, usually through a search tool. In this paper, an approach is presented that actively delivers information through a rule-based system that matches system requirements to experience-based knowledge embedded in work breakdown structures. A reuse-based methodology based on an organizational learning process is used to capture and organize knowledge as it is created. The combination of tool and methodology work together to capture characteristics of individual projects and tailor processes to meet diverse and emerging software development needs. The tool and methodology are demonstrated using two examples of how this technique can be applied.
Acknowledgements
We gratefully acknowledge the efforts a number of graduate students that have helped develop BORE, particularly Kurt Baumgarten, Michelle Conway, and Roger Van Andel. This research was funded by the National Science Foundation (CCR-9502461 and CCR-9988540).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
V. R. Basili, G. Caldiera, and G. Cantone, “A Reference Architecture for the Component Factory”, ACM Transactions on Software Engineering and Methodology, vol. 1, pp. 53–80, 1992.
V. R. Basili and H. D. Rombach, “Support for Comprehensive Reuse”, Software Engineering Journal, pp. 303–316, 1991.
V. R. Basili and H. D. Rombach, “The TAME Project: Towards Improvement-Oriented Software Environments”, IEEE Transactions on Software Engineering, vol. 14, pp. 758–773, 1988.
D. Batory, G. Chen, E. Robertson, and T. Wang, “Design Wizards and Visual Programming Environments for GenVoca Generators”, Transactions on Software Engineering, vol. 26, pp. 441–452, 2000.
N. Belkin, “Helping People Find What They Don’t Know”, Comm. of the ACM, vol. 43, pp. 58–61, 2000.
F. P. Brooks, “No Silver Bullet: Essence and Accidents of Software Engineering”, Computer, vol. 20, pp. 10–19, 1987.
E. J. Conklin and K. Yakemovic, “A Process-Oriented Approach to Design Rationale”, Human-Computer Interaction, vol. 6, pp. 357–391, 1991.
G. Cugola, “Tolerating Deviations in Process Support Systems via Flexible Enactment of Process Models”, IEEE Transactions on Software Engineering, vol. 24, pp. 982–1000, 1998.
B. Curtis, M. I. Kellner, and J. Over, “Process Modeling”, Communications of the ACM, vol. 35, pp. 75–90, 1992.
B. Curtis, H. Krasner, and N. Iscoe, “A Field Study of the Software Design Process for Large Systems”, Communications of the ACM, vol. 31, pp. 1268–1287, 1988.
P. Devanbu, R. J. Brachman, P. G. Selfridge, and B. W. Ballard, “LaSSIE: A Knowledge-Based Software Information System”, Communications of the ACM, vol. 34, pp. 34–49, 1991.
S. Dunbar, S. Goddard, S. Henninger, and S. Elbaum, “Bootstrapping the Software Design Studio”, Fifth Annual National Collegiate Inventors and Innovators Alliance Naitonal Conference, Washington, DC, pp. 180–188, 2001.
G. Fischer, J. Grudin, A. Lemke, R. McCall, J. Ostwald, B. Reeves, and F. Shipman, “Supporting Indirect Collaborative Design With Integrated Knowledge-Based Design Environments”, Human-Computer Interaction, vol. 7, pp. 281–314, 1992.
G. Fischer, R. McCall, J. Ostwald, B. Reeves, and F. Shipman, “Seeding, Evolutionary Growth and Reseeding: Supporting the Incremental Development of Design Environments”, Proc. Human Factors in Computing Systems (CHI’ 94), Boston, MA, pp. 292–298, 1994.
V. Gruhn and J. Urbainczyk, “Software Process Modeling and Enactmant: An Experience Report Related to Problem Tracking in an Industrial Project”, Proc. 20th International Conference on Software Engineering, pp. 13–21, 1998.
S. Henninger, “Capturing and Formalizing Best Practices in a Software Development Organization”, The Ninth International Conference on Software Engineering and Knowledge Engineering (SEKE’ 97), Madrid, Spain, 1997.
S. Henninger, “Case-Based Knowledge Management Tools for Software Development”, Journal of Automated Software Engineering, vol. 4, pp. 319–340, 1997.
S. Henninger, “Software Process as a Means to Support Learning Software Organizations”, Twenty-fifth Annual NASA Software Engineering Workshop, Greenbelt, MD, 2000.
S. Henninger, “Supporting Software Development with Organizational Memory Tools”, International Journal of Applied Software Technology, vol. 2, pp. 61–84, 1996.
S. Henninger, “Tools Supporting the Creation and Evolution of Software Development Knowledge”, Proceedings of the Automated Software Engineering Conference, Lake Tahoe, NV, pp. 46–53, 1997.
S. Henninger, “Using Software Process to Support Learning Software Organizations”, 1st International Workshop on Learning Software Organizations (LSO 1999), Kaiserlautern, FRG, 1999.
S. Henninger, K. Lappala, and A. Raghavendran, “An Organizational Learning Approach to Domain Analysis”, 17th International Conference on Software Engineering, Seattle, WA, pp. 95–104, 1995.
C. C. Huff, “Elements of a Realistic CASE Tool Adoption Budget”, Communications of the ACM, vol. 35, pp. 45–54, 1992.
J. L. Kolodner, Case-Based Reasoning: Morgan-Kaufman, San Mateo, CA, 1993.
J. L. Kolodner, “Improving Human Decision Making through Case-Based Decision Aiding”, AI Magazine, vol. 12, pp. 52–68, 1991.
J. Lee, “Design Rationale Capture and Use”, AI Magazine, vol. 14, pp. 24–26, 1993.
M. Lindvall and I. Rus, “Process Diversity in Software Development”, IEEE Software, vol. 17, pp. 14–18, 2000.
A. Maclean, V. Bellotti, R. Young, and T. Moran, “Questions, Options, and Criteria: Elements of Design Space Analysis”, Human-Computer Interaction, vol. 6, pp. 201–251, 1991.
T. Moran and J. Carroll, “Design Rationale: Concepts, Techniques, and Use”,. Hillsdale, NJ: Lawrence Erlbaum Associates, 1996.
L. Osterweil, “Software Processes are Software Too”, Ninth International Conference on Software Engineering, Monterey, CA, pp. 2–13, 1987.
M. C. Paulk, B. Curtis, M. Chrissis, and C. V. Weber, “Capability Maturity Model, Version 1.1”, IEEE Software, vol. 10, pp. 18–27, 1993.
L. Terveen and D. Wroblewski, “A Collaborative Interface for Browsing and Editing Large Knowledge Bases”, National Conference of the American Association for AI, Boston, MA, pp. 491–496, 1990.
L. G. Terveen, P. G. Selfridge, and M. D. Long, “Living Design Memory’-Framework, Implementation, Lessons Learned”, Human-Computer Interaction, vol. 10, pp. 1–37, 1995.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Henninger, S., Schlabach, J. (2001). A Tool for Managing Software Development Knowledge. In: Bomarius, F., Komi-Sirviö, S. (eds) Product Focused Software Process Improvement. PROFES 2001. Lecture Notes in Computer Science, vol 2188. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44813-6_18
Download citation
DOI: https://doi.org/10.1007/3-540-44813-6_18
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42571-7
Online ISBN: 978-3-540-44813-6
eBook Packages: Springer Book Archive