Implementing Development Workflows
1. Setting Up Local Development
| Tool | Use |
|---|---|
| Docker Compose | Spin deps locally |
| Tilt / Skaffold | Hot reload to local K8s |
| Devcontainers / Nix | Reproducible env |
| Telepresence / mirrord | Run service locally vs remote cluster |
2. Implementing Service Stubs
| Tool | Use |
|---|---|
| WireMock / MockServer | HTTP stubs |
| Prism | OpenAPI mock server |
| grpcmock | gRPC stubs |
3. Using Contract Testing
| Aspect | Detail |
|---|---|
| Pact broker | Share contracts |
| can-i-deploy | Gate on verification |
| Pipeline | Block on broken contract |
4. Implementing Feature Branches
| Practice | Detail |
|---|---|
| Short-lived | ≤ 1–2 days |
| PR per branch | Reviewed |
| Risk | Long branches drift |
5. Using Trunk-Based Development
| Aspect | Detail |
|---|---|
| Single trunk | main always shippable |
| Small PRs | Daily merges |
| Feature flags | Hide unfinished |
| CI gate | All tests must pass |
6. Implementing Code Reviews
| Practice | Detail |
|---|---|
| CODEOWNERS | Auto-assign reviewers |
| Small PRs | ≤ 400 LoC |
| Checklist | Tests, docs, security |
| SLA | Review < 1 day |
7. Setting Up CI/CD Pipelines
| Stage | Detail |
|---|---|
| Lint + unit | Fast feedback (< 5m) |
| Build image | Tag w/ commit SHA + sign (cosign) |
| Integration / contract | Parallelize |
| Deploy | GitOps (Argo CD) |
8. Using Service Templates
| Element | Detail |
|---|---|
| Cookiecutter / Yeoman | Scaffold |
| Backstage Software Templates | Self-service |
| Includes | CI, Dockerfile, Helm, observability |
9. Implementing Database Migrations
| Tool | Detail |
|---|---|
| Flyway | SQL versioned |
| Liquibase | SQL or XML/YAML |
| Atlas | Declarative |
| Run | Init container or job |
10. Managing Shared Libraries
| Practice | Detail |
|---|---|
| Semantic versioning | Avoid breaking consumers |
| Min surface | Don't share business logic |
| Renovate / Dependabot | Auto upgrades |
11. Using Monorepo vs Polyrepo Strategies
| Style | Pros / Cons |
|---|---|
| Monorepo | Atomic changes, shared CI; needs Bazel/Nx for scale |
| Polyrepo | Team autonomy; harder cross-cutting changes |
| Hybrid | Per-domain monorepos |
12. Implementing Developer Experience
| Investment | Detail |
|---|---|
| IDP (Backstage) | Single portal: docs, services, CI status |
| Golden paths | Documented happy path |
| Fast CI | Caching, parallelism |
| DX metrics | DORA: lead time, deploy freq, MTTR, change-fail % |