- The Knowledge-Creating Company, Nonaka, Takeuchi, Oxford Univ. Press, 1995.
- Papers handed out in class
- Software Engineering, Systems Analysis, or equivalent
The course will introduce students to research issues in the emerging field of knowledge management for software development. In particular, an organizational learning approach will be studied that utilizes a defined software process to capture and apply project experiences to new software development efforts. The course will emphasize organizational and social aspects of the software development process, with an emphasis on creating innovative tools to support these issues. We will explore the tension between standard development processes and the need for tailoring and improvisation when developing innovative software systems. The following topics will be studied in the course:
- Knowledge Management and tools supporting KM
- The social construction of knowledge
- Organizational memory and organizational learning techniques
- Case-based and knowledge-based approaches to knowledge management
- Software reuse and the "Domain Lifecycle"
- Software process methodologies
- Use of usability guidelines in the software development process
- Domain-Oriented Design Environments
- Metrics and assessment techniques
The course will be oriented toward projects that investigate creating software tools supporting knowledge management. Background readings will be handed out during the semester and students will be expected to participate in class discussions on selected topics. Students will also lead a class discussion on a chosen topic area. Group projects will be assigned to investigate solutions to problems uncovered in the background readings and embody design principles discussed in class. The projects will investigate software development activities through case studies of software development organizations, development of prototype software tools, or empirical studies.
Students will be graded on the items listed below:
- Class participation (20%). This is a seminar course, meaning that the material covered is research-oriented with few hard answers. The course should be seen as a mutual learning experience for every involved, including the instructor. Your opinions count, and I would like to hear them. Many lectures will be open discussions rather than one-way instructor dialog. Many students fail to understand that this means coming to class prepared – having read the assigned materials and being prepared to offer insightful and reasoned viewpoints.
- Nonaka and Takeuchi Essay (20%). An essay will be assigned that asks students to find research papers that involve knowledge management for software engineering. Details one the assignment and grading criteria will be provided in a separate handout.
- Research Presentation and Discussion Moderator (20%). Students will give a presentation outlining a topic area and lead a class discussion of the issues involved. A list of topics to choose from and dates for the presentations will be given in a separate handout.
- Projects (40%). Most of the second half of the semester will be devoted to projects involving knowledge management for software development. Projects can range from developing prototypes to lab studies to case studies of knowledge management practices in software development organizations. Ideas and further information on project assignments will be given in a separate handout. The general process will be to submit a proposal, give two to three oral and written presentations of status reports, and submit a final report.