Write short units of code -- Write simple units of code -- Write code once -- Keep unit interfaces small -- Separate concerns in modules -- Couple architecture components loosely -- Keep architecture components balanced -- Keep your codebase small -- Automotive tests -- Write clean code -- Next steps -- How SIG measures maintainability