Skip to main content

Standard Operating Procedures

Team SOPs for development, deployment, and maintenance across Burdenoff products.

Purpose

Standard Operating Procedures ensure:

  • Consistency across products
  • Quality standards
  • Efficient workflows
  • Knowledge sharing
  • Onboarding efficiency

SOP Categories

Development

  • Code development workflows
  • Code review processes
  • Testing procedures
  • Documentation standards

Deployment

  • Deployment procedures
  • Release management
  • Rollback processes
  • Environment management

Maintenance

  • Routine maintenance
  • Dependency updates
  • Security patches
  • Performance optimization

Core Principles

Consistency

  • Follow established patterns
  • Use boilerplates
  • Maintain standards
  • Document deviations

Quality

  • Code reviews required
  • Tests must pass
  • Security scanning
  • Documentation updated

Communication

  • Clear commit messages
  • PR descriptions
  • Incident updates
  • Team notifications

Quick Reference

Common Commands

Development

# Frontend
npm install
npm run dev
npm run lint
npm run test

# Backend (Python)
poetry install
poetry run python main.py
poetry run pytest

# Backend (Node.js)
npm install
npm run dev
npm run test

Deployment

# Docker build
docker build -t [image:tag] .

# Kubernetes deploy
kubectl apply -f deployment.yaml

# Helm deploy
helm upgrade --install [product] ./helm

Git Workflow

# Feature branch
git checkout -b feature/description

# Commit
git add .
git commit -m "feat: description"

# Push
git push origin feature/description

# Create PR
gh pr create

Development Workflow

1. Task Assignment

  • Task assigned in Linear
  • Review requirements
  • Estimate effort
  • Plan approach

2. Development

  • Create feature branch
  • Write code
  • Write tests
  • Update documentation

3. Testing

  • Run unit tests
  • Run integration tests
  • Manual testing
  • Test edge cases

4. Code Review

  • Create pull request
  • Request review
  • Address feedback
  • Update tests/docs

5. Deployment

  • Merge to main/alpha
  • CI/CD pipeline runs
  • Monitor deployment
  • Verify functionality

Code Standards

TypeScript

  • Strict typing (no any)
  • ESLint compliance
  • Prettier formatting
  • Semantic tokens for styling

Python

  • Type hints everywhere
  • Black formatting (line 100)
  • isort for imports
  • Ruff linting
  • mypy type checking

Documentation

  • README in every repo
  • Inline code comments
  • API documentation
  • Architecture diagrams

Branching Strategy

Branch Types

  • main: Production-ready code
  • alpha: Staging/alpha environment
  • feature/*: Feature development
  • hotfix/*: Emergency fixes
  • release/*: Release preparation

Branch Naming

feature/add-user-authentication
bugfix/fix-login-redirect
hotfix/critical-security-patch
release/v1.2.0

Commit Messages

Format

<type>(<scope>): <description>

[optional body]

[optional footer]

Types

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation
  • style: Formatting
  • refactor: Code restructuring
  • test: Adding tests
  • chore: Maintenance

Examples

feat(auth): add OAuth 2.0 support

Implement OAuth 2.0 authentication flow with support for
Google and GitHub providers.

Closes #123

Pull Request Process

PR Template

## Description
Brief description of changes

## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update

## Testing
- [ ] Unit tests pass
- [ ] Integration tests pass
- [ ] Manual testing completed

## Checklist
- [ ] Code follows style guidelines
- [ ] Self-review completed
- [ ] Documentation updated
- [ ] No new warnings

Review Guidelines

  • Review within 24 hours
  • Provide constructive feedback
  • Approve or request changes
  • Test locally if needed

Testing Requirements

Unit Tests

  • Test individual functions
  • Mock external dependencies
  • Achieve >80% coverage
  • Test edge cases

Integration Tests

  • Test component interaction
  • Test API endpoints
  • Test database operations
  • Test authentication flows

E2E Tests

  • Test user workflows
  • Test critical paths
  • Test across browsers
  • Test responsive design

Documentation Standards

README Structure

# Product Name

Brief description

## Features
- Feature 1
- Feature 2

## Installation
Step-by-step installation

## Usage
Code examples

## Development
Development setup

## Deployment
Deployment instructions

## License
License information

API Documentation

  • OpenAPI/Swagger specs
  • GraphQL schema docs
  • Authentication guide
  • Example requests/responses

Security Procedures

Code Security

  • No secrets in code
  • Input validation
  • Output encoding
  • Secure dependencies

Review Checklist

  • No hardcoded secrets
  • Input validation present
  • SQL injection prevented
  • XSS protection implemented
  • CSRF protection enabled

Deployment Procedures

Pre-Deployment

  • All tests passing
  • Code reviewed
  • Documentation updated
  • Changelog updated

Deployment Steps

  1. Merge to deployment branch
  2. CI/CD pipeline triggers
  3. Automated tests run
  4. Build Docker image
  5. Deploy to Kubernetes
  6. Run health checks
  7. Monitor metrics

Post-Deployment

  • Verify functionality
  • Monitor error rates
  • Check performance
  • Update status
  • Notify team

Maintenance Tasks

Daily

  • Monitor alerts
  • Review error logs
  • Check system health
  • Respond to incidents

Weekly

  • Review metrics
  • Update dependencies
  • Clear old data
  • Team sync meeting

Monthly

  • Security updates
  • Performance review
  • Backup verification
  • Cost optimization

Quarterly

  • Major version updates
  • Architecture review
  • Disaster recovery test
  • Team retrospective

Emergency Procedures

Production Issue

  1. Acknowledge alert
  2. Assess severity
  3. Notify team
  4. Begin investigation
  5. Implement fix
  6. Verify resolution
  7. Document incident

Security Incident

  1. Isolate affected systems
  2. Notify security team
  3. Assess damage
  4. Contain breach
  5. Investigate root cause
  6. Implement fixes
  7. Post-incident review

Onboarding

New Team Member

  • Access to repositories
  • Development environment setup
  • Read documentation
  • Review architecture
  • Pair programming session
  • First task assignment

Resources

  • Internal documentation
  • Product documentation
  • Architecture diagrams
  • Team contacts
  • Tools and access

Next Steps