Project Background
Meta’s mobile team is building a new Reels collaboration workflow in the Facebook app that lets multiple creators co-edit drafts, review changes, and publish from the same project. The feature must ship on both iOS and Android in one quarter and will be maintained by multiple teams after launch. You are the mobile engineer driving execution and need to recommend whether the feature should use MVVM, MVP, or VIPER as its primary client architecture.
Key Stakeholders
The Engineering Manager wants a decision this week so implementation can start. The Product Manager for Reels Creation is pushing for a fast launch before a creator event in 12 weeks. The Mobile Platform team prefers consistency with existing app patterns and wants to avoid adding long-term maintenance burden. The QA lead wants strong testability because the feature includes offline draft recovery and sync conflict states. The Design lead expects rapid UI iteration during development.
Constraints
- Timeline: 12 weeks to public launch, with architecture decision due in 5 business days
- Team: 6 mobile engineers total (3 iOS, 3 Android), 1 shared QA, 1 PM, 1 designer
- Budget: no additional headcount; only $40K available for tooling, test automation, or short-term contractor support
- Dependencies: backend draft-sync API available in week 4; mobile platform review required before week 3 ends
- Current state: Facebook app uses a mix of legacy MVC-style screens and newer MVVM patterns; no recent VIPER adoption
Complications
- Two senior engineers disagree strongly: one argues VIPER is best for scale, while another says it will slow delivery too much.
- The PM wants the first creator beta in week 8, even though offline sync edge cases may not be fully implemented by then.
- The platform team warns that introducing a new pattern without clear justification may block approval.
Your Task
- Recommend how you would evaluate and choose between MVVM, MVP, and VIPER for this feature.
- Create an execution plan for making the decision and delivering the feature on time.
- Define success criteria for both the architecture choice and launch.
- Identify key risks, trade-offs, and fallback options if the chosen approach causes delays.