App Development Process Documentation
Purpose
This document outlines our standard development process to ensure:
Clean, peer-reviewed, production-grade code
Full visibility into feature and bug tracking
Proper staging verification before release
Professional documentation of releases
We are using the Tagging + Milestones method with a Dev → Staging / Pre-Production / Demo → Production flow.
High-Level Workflow
Create Issue → Prioritize → Create Branch → Open PR → Review by Peer → Merge → Deploy to Staging → Staging Approval → Tag Final Release → Deploy to Production
1. Create and Assign Issues
Every task must have a GitHub Issue.
Assign it to the appropriate Milestone (e.g., Release 1.0.0).
Add relevant labels (Feature, Bug, Chore, etc.).
2. Prioritize
Every issue will be prioritized, assigned to you and put in “Ready”
Every issue will need an estimate of time before you start working on the issue. Issues without an estimate of time before started may be disputed on invoicing or payment.
Every issue will need the following :
Label
Type
Priority
Size
Estimate
Milestone (or Epic)
3. Create a Branch
Naming format:
feature/<short-description>
bugfix/<short-description>
chore/<short-description>
· Example: feature/fraud-detection
4. Open a Pull Request (PR)
Link to the Issue using: Closes #123
Peer Review
No self-approvals.
5. Peer Review
Every issue will need to be reviewed by a peer
Peer review should include code specific, testing and documentation
Recommendations and comments should be made on the issue itself within GitHub
6. Merge
Must pass all CI/CD checks.
Merge into main branch.
7. Draft a Staging Release
Include full draft release notes.
Deploy to Staging.
8. Staging Testing and Approval
Ben will test the staging release for UI/UX, otherwise peer review:
Verify functionality
Verify stability
Verify fixes/features
9. Finalize Production Release
After approval:
Create a final tag (e.g., v1.0.0).
Create a Final GitHub Release (not marked pre-release).
Deploy code to Production.
Example Release Flow Checklist
Templates
Issue Template
Summary
Brief description of task.
Acceptance Criteria
Clear, testable goals
Related
Milestone: Release v1.0.0
Epic: [Optional]
GitHub Staging Release Template (Draft)
** Work in Progress. Do not use yet. **
Release v1.0.0-rc1 (Draft / Pre-release)
Features
Added Fraud Detection Engine
Implemented ACH Payment Support
Fixes
Resolved duplicate transaction bug
Testing Instructions
Deploy to Staging
Test Credit Card + ACH payments
Review Admin Dashboard for merchants
Best Practices
Pull Request Template
Summary
Describe what was added/changed.
Related Issues
Closes #123
Reviewer
Assigned peer reviewer.
Testing Instructions
Steps to manually test the change.
Checklist
Code builds without errors
Unit tests (if applicable)
Linked to Issue
Reviewed by peer
Deployed to Staging
GitHub Final Release Template (Production)
Release v1.0.0
What's New
Added Fraud Detection Engine
Integrated ACH Payment Support
New Admin Dashboard for Merchant Management
Fixes
Fixed duplicate payment issues
Improved payment processing performance
Deployment Notes
No database migrations required
Confirmed working in staging by Ben
Approved for Production
No PR merged without peer review.
No code deployed to production without Ben's staging approval for UI/UX or peer review.
Every Issue and PR properly linked.
Every Release properly tagged and documented.
All issues must have time estimate prior to starting
All issues must be prioritized and assigned to developers
Closing Summary
Following these processes can be annoying and tedious, but it ensures that we deliver the highest quality code with full visibility, auditability, and trust. It’s one of our highest priorities and it’s imperative that we all do things the same way. But more than that—it reflects who we are and the standards we choose to uphold. As we build one of the best payment platforms in the industry, these practices serve as the foundation for scalability, accountability, and excellence.
Our commitment to quality, consistency, and operational clarity isn’t just about process—it’s about creating a culture of ownership and integrity. Every line of code, every pull request, and every release is an opportunity to reinforce our reputation, earn the trust of our partners, and prove that great software is built by disciplined teams who care.
Previous : Code of Conduct | Next : Time & Invoice Requirements