|
| 1 | +Ticket: <!-- ticket link --> |
| 2 | + |
| 3 | +## Description of changes |
| 4 | + |
| 5 | +<!-- Replace this with a short description of the changes made, specifically focused on the choices you have made within those changes. --> |
| 6 | + |
| 7 | +## How to validate the changes |
| 8 | + |
| 9 | +<!-- Describe how to validate the changes that are made. --> |
| 10 | + |
| 11 | +## ✅ Definition of Done |
| 12 | + |
| 13 | +This checklist helps with risk management during software development. |
| 14 | +It is not a mandatory list to fully check off, but a basis for thinking about quality, safety, and best practices. |
| 15 | +Feel free to adapt it for your own project — as long as the risks are consciously managed. |
| 16 | + |
| 17 | +### 📄 Documentation & Knowledge Sharing |
| 18 | + |
| 19 | +* [ ] Code is documented where necessary (especially for public APIs, complex logic) |
| 20 | +* [ ] `README.md` or relevant project documentation is updated |
| 21 | +* [ ] Any architectural or project-wide decisions are shared (e.g. Notion, Confluence) |
| 22 | + |
| 23 | +### 🧪 Testing & Quality |
| 24 | + |
| 25 | +* [ ] Unit tests are written or updated (if applicable) |
| 26 | +* [ ] UI tests are added or updated (if feature affects UI) |
| 27 | +* [ ] CI pipeline passes (GitHub Actions, Bitrise, etc.) |
| 28 | +* [ ] Manual testing has been performed on real device(s) and/or simulator |
| 29 | +* [ ] App builds and runs successfully in both **Debug** and **Release** configurations |
| 30 | + |
| 31 | +### 🧰 App-Specific Checks |
| 32 | + |
| 33 | +* [ ] Feature behaves correctly on different screen sizes (e.g. iPhone SE, iPhone 15 Pro Max) |
| 34 | +* [ ] Dark Mode and Light Mode are both tested |
| 35 | +* [ ] Localizations are correctly displayed (if applicable) |
| 36 | +* [ ] Accessibility traits are verified (VoiceOver, Dynamic Type, etc.) |
| 37 | +* [ ] App icons, assets, and Launch Screen remain unaffected (or are updated if needed) |
| 38 | +* [ ] No hardcoded strings or layout dimensions — use `String(localized:)` and Auto Layout properly |
| 39 | + |
| 40 | +### 📊 Monitoring & Performance |
| 41 | + |
| 42 | +* [ ] Instruments (Time Profiler, Leaks, etc.) checked if relevant |
| 43 | +* [ ] Analytics or crash logging (e.g. Firebase, Sentry) integration is verified |
| 44 | +* [ ] Performance and memory impact considered (e.g. lazy loading, image caching) |
| 45 | + |
| 46 | +### 🔐 Security & Privacy |
| 47 | + |
| 48 | +* [ ] The changes comply with our [Secure software development policy](https://www.notion.so/q42/12-Secure-software-development-policy-3be5262f736c4a2a854fa2543d90c8be?pvs=4) |
| 49 | +* [ ] No sensitive data is logged |
| 50 | +* [ ] Keychain, biometric, or secure storage is used appropriately |
| 51 | +* [ ] Input validation, authentication, and authorization are properly handled |
| 52 | +* [ ] Network requests are made over HTTPS |
| 53 | +* [ ] App Transport Security settings are correctly configured |
| 54 | +* [ ] User permissions (camera, location, etc.) have clear intent and fallbacks |
| 55 | + |
| 56 | +### 🧩 Traceability & Readiness |
| 57 | + |
| 58 | +* [ ] A Jira ticket is linked, and the ticket number is included in the PR title |
| 59 | +* [ ] No unresolved `TODO`s remain in the code (unless followed up with a Jira ticket) |
| 60 | +* [ ] New build settings or entitlements are reviewed and documented |
| 61 | + |
| 62 | +### 🤝 Review & Collaboration |
| 63 | + |
| 64 | +* [ ] Code follows iOS project conventions (naming, file structure, etc.) |
| 65 | +* [ ] Code is peer-reviewed by at least one team member |
| 66 | +* [ ] Impacted stakeholders or QA have been notified |
| 67 | +* [ ] Merge strategy and release timing are agreed upon |
0 commit comments