Course syllabus for Behavioral software engineering

Course syllabus adopted 2022-02-01 by Head of Programme (or corresponding).

Overview

  • Swedish nameMänskliga aspekter på programvaruteknik
  • CodeDAT520
  • Credits7.5 Credits
  • OwnerMPSOF
  • Education cycleSecond-cycle
  • Main field of studyComputer Science and Engineering, Software Engineering
  • DepartmentCOMPUTER SCIENCE AND ENGINEERING
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language English
  • Application code 24114
  • Maximum participants50 (at least 10% of the seats are reserved for exchange students)
  • Block schedule
  • Open for exchange studentsYes

Credit distribution

0121 Written and oral assignments 4.5 c
Grading: TH
0 c0 c0 c4.5 c0 c0 c
0221 Take-home examination 3 c
Grading: TH
0 c0 c0 c3 c0 c0 c

In programmes

Examiner

Eligibility

General entry requirements for Master's level (second cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

English 6 (or by other approved means with the equivalent proficiency level)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

1. Bachelor of science degree in Software Engineering, Computer Science, or corresponding/equivalent,
2. Successfully completed project course in software development/engineering (7.5hp)

Aim

Much of software engineering research as well as practice focus on technical or process aspects of software development. In contrast, the Behavioral Software Engineering (BSE) course gives knowledge about how the humans that participate in and drive software engineering and development processes and organisation are key in making software projects successful. Humans are not always rational, but commonly irrational, and act in groups and organizational settings where politics, group norms, personal agendas, and unconscious biases and preconceptions govern and affect them. A deeper understanding of human nature helps software organizations better cater to the needs of their employees, build on their strengths as well as overcoming their weaknesses, and, overall, increases the chance that software development work succeeds. BSE is a relatively new area within Software Engineering that complements the technology and process focus that dominates the area today. It also introduces the research methods that are needed for BSE studies and discuss how they differ from many of the traditionally used research methods.

Learning outcomes (after completion of the course the student should be able to)

Knowledge and Understanding
  • Explain why human and social factors are critical in (successful) SE, - Describe the risks of focusing mainly on technology in SE,
  • Describe and explain what Behavioral Software Engineering (BSE) is and how it relates to socio-technical systems analysis, human factors studies, and Human-Computer Interaction,
  • Describe important units of analysis in BSE: individual, group, organisational levels as well as how they interact,
  • Describe key cognitive biases and how they affect software developers,
  • Explain models of team development and maturity and how they relate to BSE,
  • Give an overview of recent, empirical research on BSE

Skills and Abilities
  • Analyse why an SE intervention, like a process improvement or the introduction of a new tool, failed or succeeded from a BSE perspective,
  • Diagnose software teams based on their developmental maturity,
  • Propose interventions to improve a software development team based on a BSE analysis,
  • Identify cognitive biases that affect a particular developer or team,
  • Design a SE study using research methods suited to BSE

Judgement Ability and Approach
  • Analyse and hypothesize about sources of software project failures, and reflect on whether they are primarily because of technical or behavioral/human factors,
  • Assess and discuss ethical aspects and concerns as well as sustainability in software development on an individual and societal level

Content

The course will comprise a number of modules/themes:
  • Introduction to BSE
  • Individuals: Personality and Cognitive Biases
  • Individuals: Motivation and Attitudes
  • Individuals: Experience and Emotion
  • Individuals: Personal sustainability
  • Groups: Norms and Creativity
  • Groups: Social factors on SW teams, Group dynamics
  • Organisations: Politics, happiness & freedom
  • Organisations: Gender, ethics and sustainability
  • Research methods: Ethnography, Interview studies, Reflexivity
  • Course summary: BSE implications and effects, Future of BSE in research & practice

Organisation

The course is provided in the form of modules, which combines lectures, discussions and supervised practical work with exercises in small groups (assignments). The exercises are both theoretical and practical in nature. A final, individual essay/report is the final element of the course.

Literature

Course literature will be announced at the latest 8 weeks prior to the start of the course.

Examination including compulsory elements

Individual- and group-based exercises is the basis for examination. A final, individual essay/report is also part of the examination.

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.