---
title: "Design"
source: Microsoft Code-With Engineering Playbook
source_url: https://github.com/microsoft/code-with-engineering-playbook
licence: CC-BY-4.0
domain: engineering
subdomain: microsoft-code-with-playbook
date_added: 2026-04-25
---

# Design

Designing software well is hard.

ISE has collected a number of practices which we find help in the design process.
This covers not only technical design of software, but also architecture design and non-functional requirements gathering for new projects.

## Goals

- Provide recommendations for how to design software for maintainability, ease of extension, adherence to best practices, and sustainability.
- Reference or define process or checklists to help ensure well-designed software.
- Collate and point to reference sources (guides, repos, articles) that can help shortcut the learning process.

## Code Examples

- Folder Structure
  - [Folder Structure For Python Repository](https://github.com/microsoft/cookiecutter_template_for_python)
- Project Templates
  - Rust
    - [Actix Web, Diesel ORM, Test Containers, Onion Architecture](https://github.com/microsoft/cookiecutter-rust-actix-clean-architecture)
  - Python
    - [Flask, SQLAlchemy ORM, Test Containers, Onion Architecture](https://github.com/microsoft/cookiecutter-python-flask-clean-architecture)
