Skip to content

Instantly share code, notes, and snippets.

@bdfinst
bdfinst / os-corp-dev-practices.md
Last active November 27, 2025 15:29
Contrast best practices between OS and enterprise
Aspect Open Source Enterprise
Governance Maintainers, community consensus, meritocracy-based influence Empowered teams, lightweight oversight, guardrails over gates
Code Review Public PRs, async reviews from global contributors, emphasis on transparency Small PRs, fast feedback loops, pair/mob programming as alternative
Documentation README-driven, contributor guides essential, public wikis Living documentation, lightweight ADRs, docs as code
Branching Strategy Fork-and-PR model, contributors work in personal forks Trunk-based development, short-lived feature branches (< 1 day)
Communication Public channels (GitHub issues, Discord, mailing lists) Co-located teams (in space /and or time), minimal ceremony
Release Cadence Varies widely, often semver-based, maintainer-driven Continuous delivery, deploy on merge, feature flags for controlled rollout
Testing CI on PRs, community-contributed
@bdfinst
bdfinst / small-bdd-example.md
Last active November 13, 2025 12:09
Small BDD Example
Feature: I want to be able to add items to a shopping cart so that I can purchase them

Scenario: Adding a new item to an empty cart
Given the cart is empty
When I add item 123 to the cart
Then the cart should contain item 123
And the quantity should be 1

Scenario: Increasing quantity for an item already in the cart
@bdfinst
bdfinst / cd-dependency.md
Last active October 22, 2025 17:41
2015 CD Dependency Diagram

2015 CD Dependency Diagram

This is the diagram Bryan Finster created to decompose the CD problem for the original pilot.

flowchart TD
%% ========= Nodes =========
%% Top practices
CDD["Contract Driven Development"]:::behavior
BDD["Behavior Driven Development"]:::behavior
@bdfinst
bdfinst / feature-flag-decision.md
Last active October 22, 2025 11:04
Feature Flag Decision Tree

Feature Flag Decision Tree

graph TD
    Start[New Code Change] --> Q1{Is this a large or<br/>high-risk change?}
    
    Q1 -->|Yes| Q2{Do you need gradual<br/>rollout or testing<br/>in production?}
    Q1 -->|No| Q3{Is the feature<br/>incomplete or spans<br/>multiple releases?}
    
    Q2 -->|Yes| UseFF1[✓ USE FEATURE FLAG<br/>Enables safe rollout<br/>and quick rollback]
@bdfinst
bdfinst / project_to_product.md
Last active February 10, 2024 13:23
Product Manufacturing vs. Product Development

Product Manufacturing vs Product Development

Manufacturing Development
Each item is identical Each delivery is unique
The value of the item is known The value of the change is uncertain
The effort to build the item is known The effort to develop is uncertain
The raw materials have value The raw materials have no value
# Perform a similarity search between the embedding of the query and the embeddings of the documents
query = "How big should a story be?"
results = vector_search.similarity_search(query)

print(results[0].page_content)

Stories should be sliced vertically. That is, the story should be aligned such that it fulfills a consumer request

@bdfinst
bdfinst / Wrong_1.md
Last active November 18, 2023 20:01
Handoffs kill productivity

Misunderstanding the Users' Need

PO Misunderstands Dev Team Misunderstands QA Team Misunderstands Rework Needed
False False False False
False False True True
False True False True
False True True True
True False False True
True False True True
@bdfinst
bdfinst / wrong_2.md
Last active November 18, 2023 17:30
Wrong #2

Effect of Handoffs on the Value Stream

Feature Defined and Sent to Cross-Functional Team

Team Misunderstands Rework Needed
True True
False False

Feature Defined and Sent to Dev & QA Teams

Scenario: Swarming user stories as a team
Given we have a story we can complete in less than 3 days


When we decompose the story
And we agree that any team member with the technical skills can work on the story
Then the team member should be able to complete the story in less than 3 days
And the team member should not need to ask clarifying questions
And the team memeber should have all information needed to test the story
Scenario: A story is ready to start
Given we have a story to refine
When we decompose the story
And we agree that any team member with the technical skills can work on the story
Then the team member should be able to complete the story in less than 3 days
And the team member should not need to ask clarifying questions
And the team memeber should have all information needed to test the story