M10 — Course Summary and New Ideas

SENG 365 — Software Engineering

Neil Ernst

University of Victoria

2026-07-24

Learning Objectives

Learning Objectives

  • Course summary
  • New ideas: knowing when and how to apply design

Wider View

Watch and Reflect

Cynefin and 3X: matching the design approach to the situation.

Summary

Key Concepts

  • The design space and tradeoffs
  • When to design: always. Refactoring vs. architecture.
  • Capturing and sharing knowledge (ADRs)

What We Covered

  • Encapsulation, refactoring, testing, code smells
  • New paradigms: functional programming, concurrency

Continuing to Learn

  • Learning new things is a core skill of the discipline.
  • Match design effort to the problem: sometimes just start; sometimes probe and spike; sometimes step back and architect.

In-Class Activities

Day 1

Day 2

  • Course summary and Cynefin / 3X discussion — when and how to apply design.