Scrum: Engineering High-Quality Software

Presentation built with:

Reveal.js in Visual Studio Code

Agenda

  • The Scrum Framework
  • The Development Team
  • Engineering for Quality

Let's warm up a bit!

Scrum experience from 1-10

What's the last movie you watched?

My hope for this session is...

The Scrum Framework

The Development Team

Problem

~ an arrangement of pieces in which the solver(s) has to achieve a specified result

Cross-Functional Team

~ a team that has all the neccesary skills to solve a problem

Self-Organization

~ A team that is led and organized by team members

Problem

Cross-Functional Team

Self-Organization

Making values explicit is important because without values practices quickly become rote, activities performed for their own sake but lacking any purpose or direction.

- Kent Beck, Extreme Programming Explained Second Edition

Engineering for Quality

Create "Done" Increments

  • Define what "Done" means
  • Don't accept un-done work
  • Collective Ownership

Application Lifecycle Management

  • Source Control
  • Build Automation
    • Continous Integration/Deployment/Delivery
  • Test Automation
    • Unit, System, Performance, UI, Business, etc.

Engineering Practices

  • Test Driven Development
  • Pair Programming
  • Object Oriented Design Principles (SOLID)
  • Design Patterns
  • Clean Code
  • Refactoring
  • Emergent Architecture

"Done" Increments

Application Lifecycle Management

Engineering Practices