One-page guide to OneSyntax XP practices
Print this. Keep it visible. Use it daily.
When to pair:
- Complex features requiring design decisions
- Learning new domains or technologies
- Debugging critical production issues
- Senior/junior knowledge transfer
Quick tips:
- Switch driver/navigator every 25 minutes
- Keep sessions under 3 hours
- Both programmers equally engaged
- Communicate constantly
→ Full guide: 3-processes/pair-programming.md
Anyone can improve any code
Before touching others' code:
- Read and understand the code first
- Have tests in place or write them
- Follow existing patterns and style
- Leave it better than you found it
Remember: You own quality when you touch code
→ Full guide: 3-processes/collective-ownership.md
Dev + PM + QA/Designer collaboration
When to run Three Amigos:
- Before starting any new feature
- When acceptance criteria unclear
- When technical approach impacts UX
- When estimating complex stories
Meeting format:
- PM explains business need (5 min)
- Dev outlines technical approach (5 min)
- QA/Designer asks edge case questions (5 min)
- Together write acceptance criteria (10 min)
→ Full guide: 4-people/whole-team.md
2-week sprints at OneSyntax
Sprint Planning Agenda (2 hours):
- Review last sprint (15 min)
- PM presents priorities (20 min)
- Team estimates stories (60 min)
- Commit to sprint scope (20 min)
- Identify risks and dependencies (5 min)
Estimation scale: 1, 2, 3, 5, 8, 13 (Fibonacci)
- 1-2 points: Less than a day
- 3-5 points: 1-2 days
- 8 points: 3-4 days
- 13 points: Split the story!
→ Full guide: 3-processes/planning-game.md
Deploy every 2 weeks minimum
Pre-deployment checklist:
- All tests passing (unit + integration + acceptance)
- Code reviewed and approved
- Feature flags configured if needed
- Rollback plan documented
- Stakeholders notified
Quality gates:
- Unit test coverage > 80%
- No critical ArchUnit violations
- No high-severity linting errors
→ Full guide: 3-processes/small-releases.md
Customer-facing test format
Template:
Given [initial context]
When [action occurs]
Then [expected outcome]Example:
Given a user has an active subscription
When they click "Cancel Subscription"
Then they see a confirmation dialog
And their subscription is marked for cancellation
And they receive a cancellation emailWho writes what:
- PM/Client: Business scenarios (what)
- QA: Test cases and edge cases
- Dev: Implementation and automation
→ Full guide: 2-standards/acceptance-tests.md
Do the simplest thing that could possibly work
Four rules (in order):
- Passes all tests
- Reveals intention (readable code)
- No duplication (DRY)
- Minimal elements (no speculative code)
When to apply YAGNI:
- Building features "just in case"
- Over-engineering simple logic
- Premature optimization
- Gold plating
When NOT to skip architecture:
- DDD patterns for core domain logic
- Clean Architecture layers
- Test coverage requirements
- Security and data protection
→ Full guide: 2-standards/simple-design.md
40 hours/week average
Warning signs of burnout:
- Working 50+ hours/week for 2+ weeks
- Skipping breaks or lunch
- Working weekends regularly
- Decreased code quality
- Irritability or disengagement
What to do:
- Talk to your manager immediately
- Review sprint commitments
- Identify what to defer
- Take time off if needed
Manager responsibilities:
- Protect team from overcommitment
- Monitor hours and wellbeing
- Adjust scope, not people
- Model healthy work habits
→ Full guide: 4-people/sustainable-pace.md
Starting a new feature?
├─ Complex or unfamiliar? → Pair program
├─ Clear requirements? NO → Schedule Three Amigos
├─ Ready to code? → Write acceptance tests first
├─ During development → Keep design simple (YAGNI)
├─ Before PR → Run code review checklist
└─ Every 2 weeks → Deploy to production
Every Friday, ask yourself:
- Did I pair with someone this week?
- Did I participate in Three Amigos sessions?
- Did I work reasonable hours (≤45/week)?
- Did I help improve code I didn't write?
- Are we on track for 2-week release?
- Did I write acceptance criteria for my stories?
If 3+ are "No" → Talk to your manager
These practices support OneSyntax's mission: True partnership through accountable professional development
- Pair programming → Knowledge sharing (partnership)
- Collective ownership → Shared responsibility (accountability)
- Whole team → Client collaboration (partnership)
- Sustainable pace → Long-term quality (professional)
- Small releases → Consistent delivery (accountability)
- Slack: #architecture
- Owner: Kalpa
- Email: kalpa@onesyntax.com
Full playbook: README.md
Version 1.0 | Last Updated: November 2025