This repository was archived by the owner on Jun 10, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Product development process
Tobias Schubotz edited this page Jun 11, 2020
·
3 revisions
- Software engineers 🛠️
- Product managers 🚀
- UX/UI designers, UX researchers 🎯
- QA engineers (?)
We are doing sprints with a length of 2 weeks (10 working days).
| Week | Day | Activities Sprint A | Activities Sprint B | Activities Sprint C | ... |
|---|---|---|---|---|---|
| 1️⃣ | Monday | ||||
| Tuesday | (Estimation ⚖️), Sprint planning 📑 | ||||
| Wednesday | |||||
| Thursday | |||||
| Friday | |||||
| 2️⃣ | Monday | Work on requirements ✒️ | |||
| Tuesday | Work on reqs ✒️ | ||||
| Wednesday | Work on reqs ✒️ | ||||
| Thursday | Reqs final at 3pm ✒️ | ||||
| Friday | QA 🚨 | ||||
| 3️⃣ | Monday | Release 🚢 | |||
| Tuesday | Sprint review 🚦, retro 🎢 | (Estimation ⚖️), Sprint planning 📑 | |||
| Wednesday | |||||
| Thursday | |||||
| Friday | |||||
| 4️⃣ | Monday | Work on requirements ✒️ | |||
| Tuesday | Work on reqs ✒️ | ||||
| Wednesday | Work on reqs ✒️ | ||||
| Thursday | Reqs final at 3pm ✒️ | ||||
| Friday | QA 🚨 | ||||
| 5️⃣ | Monday | Release 🚢 | |||
| Tuesday | Sprint review 🚦, retro 🎢 | (Estimation ⚖️), Sprint planning 📑 |
Meeting outside of sprint cycle: Gnosis Safe Team weekly every Tuesday.
- Product managers 🚀 define requirements
- Product manager prioritizes tickets
- Always make sure that tickets are prioritized properly.
- Software engineers 🛠️ add technical details and split epics up into tech tasks
- UX researchers perform research and tests
- UX/UI designers 🎯 refine screens
- Prototypes on Invision
- Later stages on Zeplin
- Software engineers 🛠️ discuss technical details
- The entire team 🎳 thrives for clarifying open questions and thriving for adding details to requirements
- The requirements should be final from product the week before a start of a sprint at Thursday 3pm.
- Estimate implementation effort for features
- Run by Software engineers 🛠️
- Doesn't have to happen Tuesday as indicated in the table above. This is just the last possible moment.
- Team 🎳 commits to a set of features
- Potentially reprioritize tickets based on estimations
- Ideally no technical discussions
- The specific QA process is to be defined.
- Types of QA that make sense:
- Feature QA
- Release QA
- Regression tests
- Requires release notes and potentially updated store assets
- Mobile apps are release to the store
- Further activities to be defined, e.g.
- Internal announcement on Slack
- External accouncement on Twitter
- Meeting for the entire team 🎳
- Review features and completion.
- Demo current state and new features.
- Meeting for the entire team 🎳
- Reflect on performance and collaboration during the last 2 weeks
- Decide on process changes.
- Specific retro format to be defined
- Team meeting with the entire Gnosis Safe team 🎳
- Independent of the sprint activities
- We are using a Zenhub agile board.
- Epics for features reside in https://github.com/gnosis/safe/.
- Epics describe product features to be implemented.
- Epics are generally created by the product manager.
- Epics are refined by the product manager together with the rest of the team.
- Epics in the
Product backlogcolumn are not prioritized and work in progress. - Epics in the
Specs to reviewcolumn are sorted by priority and ready for feedback and development. - Epic labels
-
Android/iOS 🏗: Epic is in to do or implementation is in progress on Android/iOS - added by product manager -
Android/iOS ready for QA 🙏: Epic is marked as ready for QA by devs on Android/iOS - added by dev team -
Android/iOS ✅: Marked as done by QA on Android - added by QA
-
- Epic is closed when it is done on both platforms - moved/closed by product manager
- Client repos: https://github.com/gnosis/safe-android/ & https://github.com/gnosis/safe-ios/
- Dev teams splits up epics into technical tasks that get estimated.
- Client tasks are connected to the epic.
- After implementation, devs move tickets to
Ready for QA - QA either closes the ticket when happy, otherwise ticket gets reopened and moved to
Dev backlog
- Bugs are created on the respective client repo.
- When a ticket is part of the current sprint, it is re-opened. When it was part of a past sprint, a bug ticket is created instead.