CENG 556

Software Management

This course focuses on two advanced aspects of software management; organizational change and software measurement. Primary topics include software process improvement frameworks, agile maturity models, software process modeling languages, software measurement and social aspects of organizational change. Students participate in a modelling and organizational assessment project as well as gain hands on experience on measurement and prediction for software projects.

Reference book(s):

  • ISO 330XX Information technology — Process assessment, family of standards, 2015.
  • Weinberg, G. M., Quality Software management, Volume 1, System Thinking, Dorset House, 1992.
  • Argyris, C., Knowledge for action: A guide to overcoming barriers to organizational change. Jossey-Bass, 1993.
  • Senge, P. M. The Fifth Discipline: The Art and Practice of the Learning Organization, 1990.

 Course Objectives: To advance students on the current trends in software quality management and software measurement.

Week Topics
1 Concepts of Quality Improvement
2 Quality Control to Quality Assurance to Quality Management
3 Adding Value through Quality Management
4 Software Subcultures
5 Maturity Models
6 Agile Maturity Models
7 Changing Patterns
8 Process Modelling Notations
9 Process Modelling
10 Measurement Theory
11 Measuring Quality
12 Software Size Measurement and Prediction
13 Barriers to Organizational Change
14 Knowledge Based Organizations, Learning Organizations

Grading:

Final Exam                    %40

Term Project                  %40

Assignments                  %20

Course Learning Outcomes:

C1 – Assess and describe software organizations maturity levels

C2 – To be able to model organizational processes in different setting by various notations

C3 –  Measure size of software products using different techniques

C4 – Understand and apply techniques to predict effort for software projects

Contribution of Program Learning Outcomes:

 

          P01      P02       P03       P04      P05       P06       P07

C01                                                x                       x             x

C02                                  x                                                    x

C03                                               x                                       x

C04                                               x                                       x

Justification of the course: An elective course of the Computer Engineering Master of Science and PhD Programs. Management of software is crucial for overall success of software systems development. This course gives a thorough grounding in software management from quality and measurement perspectives and establishes the skills needed to manage innovative technologies and techniques. It is the first course focused on Software Management within the department.

Overlapping with or complementing topics in courses:

CENG 551 Advanced Software Engineering – General software engineering knowledge is a crucial part for understanding and evaluating the models of software management. Although, CENG 551 is not a prerequisite for this course, students are advised to have fundamental knowledge on software engineering.