Views
Distinct screens or APIs that display data (e.g., admin dashboards, customer profiles, reporting UIs).
Examples: user settings page (1 view), e-commerce product listings (1 view), analytics dashboard (1 view per
major chart). More views mean more frontend/backend logic and testing overhead.
Aggregates
Complex data rollups (e.g., monthly sales reports, leaderboard rankings, real-time trend calculations).
Each requires JOINs, GROUP BYs, or window functions—like summarizing daily revenue (1 aggregate) or
calculating customer lifetime value (1 aggregate). Higher counts mean heavier database tuning and caching
needs.
Tables
Core database entities (e.g., users, orders, inventory). A blog might have 5 tables (posts, authors,
comments), while an ERP system could need 50+ (invoices, suppliers, warehouses). More tables increase schema
complexity, foreign key management, and migration risks.
Inbound Integrations
External systems pushing data in (e.g., Stripe for payments, Salesforce for CRM, IoT device telemetry
streams). Each integration requires authentication, error handling, and data mapping—like syncing Shopify
orders (1 inbound) or ingesting weather API data (1 inbound).
Outbound Integrations
Systems exposing your data externally (e.g., REST APIs, webhook endpoints, CSV exports for partners).
Examples: a public API for mobile apps (1 outbound) or automated Excel reports for regulators (1 outbound).
More outbound flows increase documentation and security reviews.
Team Size
Larger teams speed up work but suffer from communication decay. A solo dev (1x) moves fast but burns out; 5
people (1/4x) split tasks efficiently; 125-person teams (1/16x) drown in meetings. Choose based on project
urgency vs. coordination tolerance.