Building a scalable app!

If you follow the points mentioned below, it should help you scale your app smoothly.

  1. Identify dependencies, risks, blockers early. Coordinate with respective teams/owners and align on the resolution.
  2. Use a board to track implementation, bugs, launch.
  3. Have a internal and external chat group for individual and external communications.
  4. When implementing the feature:
    1. Seperate code concerns
      1. Understand responsibilities
      2. Abstract layers/modules: define 2 modules – public and internal
      3. Delegate based on behaviour to respective components – Analytics, Payment, Network, Identity, etc
    2. Use board tickets in PRs, commits for easy reverts.
    3. Keep feature flag for launching, testing features, initially enable them to developers only.
  5. Release fast with regular release pipeline
  6. Setup XP, if possible, do this early.
  7. Share nightlies with your feature to stake holders.
  8. Once ready, perform UAT with product
    1. Ramp up, low percentages to capture early failures like 1% – 5% – 20% – 50% – 100%. This reduce failure impact
  9. Build dashboards to measure, monitor impact. Define SLOs, budget to your monitoring.