Hi HN,
Our startup company is about to initiate a 6 month long development cycle for a mobile app project which will be published in Turkey next year. The team consist of back-end and front-end engineers as well as UI/UX designers with at least 2 years of experience.
It is arguable that there is a supreme approach that our product will benefit most but we are eager to know our options and be able adapt ourselves.
We've done some research on how to apply scrum to our process and although in many cases, the guidelines seem beneficial, some of us argued that a plan driven scrum or some merge of scrum and waterfall may suit us better. TDD is not an option.
There are a few points we all agree which are:
- A week is a sprint in which each developer and designer achieve at least one goal by the end of Friday, unit tested and pushed to master branch in the end.
- Every member of the team at some point have to be given the chance to monitor the other without interfering with their work. This will help us track whether we are falling behind or some estimations that are done incorrectly or not. The one responsible for this task is also appointed to update our weekly change log and schedule board. A single entity/manager comparing the planned schedule with actual development for 6 months is therefore discouraged.
- Meetings should be short but also informative enough for the team to boot a single sprint.
- Stories should be prioritized and categorized by their importance and estimated development time.
- At least some sort initial plan (not a draft but a real one) is necessary to minimize future modifications to already developed parts. The requirements are not likely to change unless our technology stack suddenly meets a major update in its components.
We may have studied our lessons but a kind commenter may and should suggest any methodology if he/she finds it more suitable for our case.
Thank you!
Retrospective meetings (where the topic is how the work is getting done, not what is getting done) are a standard and useful way to do this (assuming the results lead to actionable change). The frequency of the retros themselves should be part of your discussion (pick something to start with ("every 2 weeks") and periodically decide if that's the right cadence). Length of sprints, styles of coding, amount of pairing, etc. -- all of these are variable based on the experience of the team and the problem being tackled. Pick reasonable defaults to start with and regularly ask yourselves if those defaults make sense given your experiences.
I could say more, but the above is the base minimum I've found for success across different teams, different problems, different companies. Cheers.