Cheat Sheet: Product / Project Kick-Off
My cheat sheet for kicking off new products and projects
![](/post/cheat-sheet-project-kick-off/featured_hucd1ccee92469f310252890874eadfaee_59582_720x0_resize_q90_lanczos.jpg)
2025 Update
I’ve updated this cheat sheet for easier reading, including using a more concise style of writing. I’ve also added a few new points based on recent experiences and conversations with colleagues. I hope you find this cheat sheet useful for your own projects!
Introduction
I’ve led many engineering teams and launched numerous projects and products. Over time, I’ve compiled this cheat sheet to streamline project kick-offs and ensure best practices are baked in from day one. Use it to validate whether you’ve covered critical considerations in your own projects.
As always, I am very open to feedback on these ideas.
1. Pipelines and CI/CD
- Incorporate static code analysis (linters, SonarQube, etc.) into pipelines.
- Automate accessibility checks and dependency scanning (e.g., npm audit).
- Favor trunk-based development; minimize complex branching.
- Automate release notes if needed.
- Aim for reliable, efficient paths to production early on.
- Aim to set your pipelines up so that you can deploy something to production on day one?
2. Monitoring, Logging, and Observability
- Define clear strategies for monitoring and alerting to catch issues quickly.
- Implement correlation and journey IDs in logs.
- Evaluate analytics and APM tools (e.g., Google Analytics, Instana).
3. Architecture
- Prioritize maintainability and ease of change.
- Evaluate clean or hexagonal architectures for simplicity.
- Support blue/green or canary releases if possible.
- Leverage existing infrastructure-as-code solutions where you can.
- Identify domain boundaries early.
- Consider the need for data warehousing, CQRS, or specialized databases.
- Automate dependency updates with tools like Dependabot or Renovate.
- Integrate feature flags into your architecture as early as possible, if you think you’ll need them.
- Try to keep your architecture and design as simple as possible, but no simpler.
- Evolve coding standards over time, but start with a simple, agreed-upon set.
4. Technology
- Opt for “boring”, well-understood tech that meets your business goals.
- Choose language or framework stacks that are proven and easily hireable.
5. Team Shape and Processes
- Minimize team size to maximize agility and communication.
- Prioritize having a product owner and real users available for rapid feedback.
- Use lightweight processes (e.g., Kanban) for disciplined teams rather than heavy frameworks if possible.
- Go test-first (TDD) from day one.
- Encourage refactoring.
- Pair program when possible.
- Maintain a sustainable pace! Burnt out teams are not productive, and treating people like machines is unethical and unkind.
- Get an actual customer into, or as close to, your team as possible.
Conclusion
By thoughtfully setting up pipelines, architecture, and teams from the start, you position projects for long-term success. Review this cheat sheet periodically to keep your approach aligned with ever-evolving best practices.
Main sources for this post
- Lessons and mentors over the course of my career.
- Lots of conversations with Neil Kidd, David Capper, and Craig J. Bass.
- Dave Farley’s YouTube channel.