Wikimedia Apps/Team/iOS/Development Cycle

iOS Development Process with phases
The following is an outline of the team's standard process. It is important to ensure that everyone has a shared understanding of what each phase means. There are no pre-set dates or durations for phases, as the team will discuss timing as they work and agree together on when to move from one phase to the next.


 * 1) Stories and Scope
 * 2) * Create initial board with epic stories
 * 3) Design Research
 * 4) * Comparative analysis
 * 5) * Present design proposal
 * 6) * Fill in epics
 * 7) Exploratory Stage
 * 8) * Engineers research and experiment with design, deliver prototypes for testing
 * 9) * Initial evaluative user testing
 * 10) * Most major unknowns should be identified, remaining work is understood
 * 11) Development
 * 12) * Most functionality delivered to internal users
 * 13) * Scope trimmed to final size (remove tickets from board as necessary)
 * 14) Feature Freeze
 * 15) * Only minor bugs and edge cases remain or added are to scope
 * 16) * Evaluative design work completed and ticketed
 * 17) * Initial QA and design review completed on all epics
 * 18) Code Freeze
 * 19) * Do pre-release smoke test and beta
 * 20) * Monitor beta release crash reports for at least three days before another beta release
 * 21) * Remove all “nice to haves” from the board
 * 22) * All tickets are well defined
 * 23) * Only new tickets come from QA or tester feedback
 * 24) * Create a new branch from develop named as the version number for the release; any changes to the release are done as pull requests/patches targeted to this branch
 * 25) * Finalize marketing messages and materials, update app store assets
 * 26) Release Call
 * 27) * Final check with engineers
 * 28) * Actual release happens
 * 29) * Release notes publicized
 * 30) * Documentation updated
 * 31) Release
 * 32) *See Release Process

Rituals
These meetings ensure that the team maintains regular communication and has time for planning and board upkeep.