Skip to content

Margaret Hamilton

John von Neumann (AI Generated Artwork)

Crew Manifesto

We, the development crew, pledge to uphold the highest standards of technical excellence and agility in every project engagement. This manifesto serves as our guide and commitment to fostering a culture of collaboration, innovation, and respect.

Collective Ownership

Unified Stewardship: Our code belongs to all, not the individual. We champion a shared responsibility model, ensuring collective decision-making and ownership over our codebase for sustained quality and adaptability.

Respect

Foundation of Trust: Respect for every crew member's ideas, contributions, and feedback is non-negotiable. It's the bedrock of our team's integrity and success.

Collaboration

Together, We Excel: Our strength lies in our unity. Through tools like Git for version control and VS Code LiveShare for real-time collaboration, we transcend geographical boundaries to innovate and solve problems together.

Transparency

Openness Is Key: We commit to transparency in all our endeavors—sharing progress, challenges, and insights openly in retrospectives, daily stand-ups, and via our chosen agile project management tools.

Craftspersonship

Pride in Our Work: Mastery of our tools and processes is essential. We continually refine our skills in technologies relevant to our projects, including but not limited to Git, continuous integration/delivery tools, and coding standards for excellence.

PR Sizing

Small and Manageable: We aim for small, digestible pull requests (PRs) that facilitate easier review, faster integration, and quicker feedback cycles.

Branching

Strategic and Simple: Our branching strategy supports our development workflow, using a simple yet effective model (e.g., Git Flow or Trunk-Based Development) to enable continuous delivery.

Commit Standards

Clarity and Consistency: Commit messages are clear, concise, and consistent, following a defined format that includes a brief description of changes and the context or issue number.

Clean Code

Simplicity and Elegance: We adhere to clean code principles, writing code that is readable, simple, and refactored, without unnecessary complexity.

Pair/Mob Programming

Collaborative Coding: We embrace pair or mob programming practices as needed, valuing the shared learning and improved code quality that comes from these collaborative techniques.

Release Process

Quality First: Our release process includes defined quality gates, peer reviews, and automated tests to ensure each release meets our high standards.

Code Review

Diligence and Detail: Code reviews are mandatory, requiring at least two approvals and focusing on both the quality of the code and its alignment with project goals.

Action Readiness

Prepared and Proactive: Backlog items are thoroughly refined, with clear definitions of done and acceptance criteria, ensuring readiness for action.

TDD

Test-Driven Development: We commit to TDD practices, writing tests before code to ensure functionality meets specifications and reduces bugs.

Test Coverage

Comprehensive and Continuous: We aim for high test coverage, using unit, integration, and functional tests to ensure comprehensive quality assurance.

Dimensions in Testing

Depth and Breadth: Our testing approach is holistic, covering unit, integration, system, and acceptance testing to ensure a robust and reliable software product.

Build Process

Efficient and Automated: Our build process is automated, ensuring consistent builds and enabling continuous integration/delivery.

Bug Fix

Prompt and Precise: Bugs are addressed promptly, with clear processes for tracking, fixing, and verifying to maintain software quality.

Technical Debt

Managed and Monitored: We are vigilant about technical debt, actively managing and addressing it through regular refactoring and prioritization in the backlog.

Refactoring

Continuous Improvement: Refactoring is an ongoing practice, integrated into our development process to improve code quality and maintainability.

Agile Documentation

Just Enough: We value efficient documentation that is just enough to provide clarity and understanding, favoring diagrams, concise guides, and interactive sessions for knowledge sharing.

Efficient Documentation

Purpose-Driven: Documentation is created with a clear purpose, serving as a tool for knowledge transfer and a reference for the team, without becoming a burden.

Definition of Fun

Joy in Collaboration: Fun is an integral part of our crew's spirit. We incorporate team-building activities, interactive sessions, and moments of celebration into our routine to maintain a positive and energized team environment.


This manifesto is a living document, reflecting our commitment to growth, excellence, and agility. It serves as the foundation for our work, guiding us in delivering software that not only meets but exceeds expectations.