gitpoint / git-point

GitHub in your pocket :iphone:
https://gitpoint.co/
MIT License
4.73k stars 788 forks source link

Discussion: Internal - Project & Releases management #626

Open machour opened 7 years ago

machour commented 7 years ago

Echoing #569, I would like if we could talk about our project management and lay out some guidelines here, in order to streamline the releases and be able to deliver new versions more quickly.

Here's my take on the subject:

Deprecate milestones

In order to avoid confusions, we should only be using the GitHub project management interface to handle releases.

Milestones should be removed.

Project management usage

Only issues should be referenced in cards, no pull-requests.

Proposed columns:

Release manager

I think it would be really nice if we designate a release manager by release, to ease things up on @housseindjirdeh.

The RM responsibility would basically be:

Release QA

Either the RM, or another person should be tasked for QA during the release development. This person would regularly test the app for regressions and post comments / new issues if needed.

@housseindjirdeh would be responsible for the last QA testing before the new version is pushed to stores.

The QA should be performed on both Android & iOS. (and we can have multiple QA members).

Here, I'm not sure if we want to change the QA team for every release, or if some people may want to take this role more permanently.

Releases branches

This have been discussed on gitter, but I'm not sure we have decided yet how we could better use our git branches or tag to help with this. I personally lack the git-project management knowhow to propose something.

This needs to be addressed in order to be able to have real semantical releases (no more new features in patch releases)

How do you feel about this? What would you change?

housseindjirdeh commented 7 years ago

Milestones removed :rocket:

I like the idea of having all those columns as part of the project. Right now I've set it up so that the next minor, major and version releases are on there. Do you think that's alright? Or would you rather we only triage issues for the next coming release and nothing more?

Either the RM, or another person should be tasked for QA during the release development. This person would regularly test the app for regressions and post comments / new issues if needed.

@housseindjirdeh would be responsible for the last QA testing before the new version is pushed to stores.

Thank you :) I definitely don't mind having someone take the lead as a release manager but until then - more than happy to take the reins myself.

Releases branches

@lex111 mentioned it might be a good idea to always have a next branch created for the next release and then merging only tested and triaged PRs into the branch. Since we're extremely close to v.1.4.0, we can make sure to do this for every release after moving forward

machour commented 7 years ago

@housseindjirdeh The next branch is the way react-native-elements is doing things. We could give it a try for 1.4.1 and see how it plays out 👍

housseindjirdeh commented 7 years ago

I like that 👍