Dev Productivity & Tools
Lakehouse — Team Development Guidelines
Development guidelines for Lakehouse team: Git workflow, coding standards, testing, security, deployment, code review, communication.
2026-03-175 min read
Document Info
- Sprint: 01 - Infrastructure Foundation
- Created: June 25, 2025
- Version: 1.0
- Status: Approved
- Owner: Development Team
Summary: Comprehensive development guidelines for Lakehouse team including Git workflow, coding standards, testing practices, and collaboration protocols to ensure consistent, high-quality deliverables.
Development Workflow
Git Workflow (GitLab Flow)
- Main branch: Production-ready code only
- Staging branch: Pre-production testing
- Develop branch: Integration branch for features
- Feature branches: Work stream specific development
Branch Naming Convention
feature/ws1-infrastructure-devops
feature/ws2-data-engineering-platform
feature/ws3-customer-domain-data
feature/ws4-data-catalog-governance
feature/ws5-analytics-api-layer
feature/domain-01-customer-analytics
feature/domain-02-lending-risk
Commit Message Standards
Follow conventional commits format:
<type>(<scope>): <description>
[optional body]
[optional footer]
Types: feat, fix, docs, style, refactor, test, chore
Scopes: ws1, ws2, ws3, ws4, ws5, domain-01, domain-02, etc.
Examples:
feat(ws1): add docker-compose for complete lakehouse stack
fix(ws3): resolve customer data generation encoding issue
docs(ws4): add data catalog setup instructionsDevelopment Environment
Required Tools
- Git: Version control
- Docker Desktop: Container orchestration
- VS Code: Primary IDE with workspace configuration
- Python 3.9+: Data engineering scripts
- Node.js 16+: Frontend development (if needed)
VS Code Extensions (Auto-installed)
- Python, Docker, YAML, SQL
- GitHub Actions, Black formatter
- Docker Explorer, Pylint
Environment Setup
# 1. Clone repository
git clone <repository-url>
cd <project-root>
# 2. Open VS Code workspace
code .vscode/workspace.code-workspace
# 3. Create Python virtual environment
python -m venv venv
source venv/bin/activate # Linux/Mac
# or
venv\Scripts\activate # Windows
# 4. Install dependencies
pip install -r requirements-dev.txt
# 5. Start Docker stack
docker-compose up -dCode Standards
Python Code Style
- Formatter: Black (auto-format on save)
- Linter: Flake8, Pylint
- Line length: 88 characters
- Import organization: isort
Docker Standards
- Use official images when possible
- Pin specific versions for production
- Include health checks for all services
- Use multi-stage builds for optimization
Documentation Standards
- Markdown: All documentation in markdown
- Comments: Explain why, not what
- Docstrings: Python functions with type hints
- README: Each domain/component has README
SQL Standards
- Style: Uppercase keywords, lowercase table names
- Naming: snake_case for tables/columns
- Formatting: One column per line in SELECT
Testing Guidelines
Test Structure
tests/
├── unit/ # Unit tests for individual functions
├── integration/ # Integration tests for services
├── performance/ # Performance benchmarks
└── e2e/ # End-to-end workflow tests
Testing Requirements
- Unit tests: >80% code coverage
- Integration tests: All service connections
- Performance tests: Meet SLA targets
- E2E tests: Complete user workflows
Test Commands
# Run all tests
pytest tests/
# Run specific test category
pytest tests/unit/
pytest tests/integration/
pytest tests/performance/
# Run with coverage
pytest --cov=src tests/Security Guidelines
Secrets Management
- Never commit secrets to Git
- Use
.envfiles with.env.exampletemplates - Rotate passwords regularly
- Use strong, unique passwords
Docker Security
- Run containers as non-root users
- Use official base images
- Scan images for vulnerabilities
- Limit container resources
Access Control
- Principle of least privilege
- Use service accounts for automation
- Enable 2FA for all accounts
- Regular access reviews
Monitoring & Logging
Logging Standards
- Format: JSON structured logging
- Levels: DEBUG, INFO, WARN, ERROR, FATAL
- Context: Include request IDs, user IDs
- Sensitive data: Never log passwords/tokens
Monitoring Requirements
- Health checks: All services must have /health endpoint
- Metrics: Prometheus format preferred
- Alerts: Define SLA-based alerting
- Dashboards: Grafana visualization
Deployment Process
Environment Promotion
Developer Local → Dev Environment → Staging → Production
Deployment Checklist
- All tests pass
- Code review approved
- Documentation updated
- Performance benchmarks met
- Security scan clean
- Deployment rollback plan ready
CI/CD Pipeline
- Trigger: Pull request to develop/staging/main
- Steps: Test → Build → Security scan → Deploy
- Notifications: Slack/Teams integration
- Rollback: Automated rollback on failure
Code Review Process
Review Requirements
- Mandatory: All code changes require review
- Reviewers: Minimum 1 for feature branches, 2 for main
- Scope: Code quality, security, performance, documentation
Review Checklist
- Code follows style guidelines
- Tests included and passing
- Documentation updated
- No security vulnerabilities
- Performance acceptable
- Error handling appropriate
Review Timeline
- Response time: <24 hours for review request
- Resolution time: <48 hours for approval
- Escalation: Contact work stream lead if delayed
Communication & Support
Daily Standups
- Time: 9:00 AM daily
- Duration: 15 minutes
- Format: What did you do? What will you do? Any blockers?
Communication Channels
- Slack/Teams: Daily coordination
- Email: Formal communications
- Video calls: Complex technical discussions
- Documentation: Async knowledge sharing
Support Process
- Level 1: Team member support
- Level 2: Work stream lead
- Level 3: Technical architect
- Level 4: Program manager
Troubleshooting Guide
Common Issues
Docker services won't start:
# Check Docker Desktop is running
docker --version
# Check available resources
docker system df
# Clean up if needed
docker system pruneGit push rejected:
# Check commit message format
git log --oneline -1
# Amend if needed
git commit --amend -m "feat(ws1): correct commit message"VS Code workspace issues:
- Close VS Code
- Delete
.vscode/settings.json - Reopen workspace file
- Reinstall recommended extensions
Getting Help
- Check this guide first
- Search project documentation
- Ask team member
- Contact work stream lead
- Escalate to technical architect
Document Version: 1.0
Created: June 25, 2025
Owner: Lakehouse Program Team
Next Review: Weekly team meeting
