"New Package" and "Package Update" flows
Background
While we are currently adding a number of new components to the CloudRouter Project, as well as updating existing components on a regular basis, the project is not following a formal process for either. We need to establish both processes (new and updates) and then instrument that process in JIRA.
Currently Proposed Flows
Initial Package Review Workflow
Open
-> Closed (Resolution: Withdrawn)
-> Closed (Resolution: Rejected)
-> Accepted
Accepted
-> Closed (Resolution: Rejected)
-> Under Review
Under Review
-> Closed (Resolution: Rejected)
-> Security Review
Security Review
-> Closed (Resolution: Rejected)
-> Pending
Pending
-> Closed (Resolution: Rejected)
-> Under Review
-> Building
Building
-> Pending
-> Testing
Testing
-> Pending
-> Ready for Release
Ready for Release
-> Under Review
-> Pending
-> Closed (Resolution: Released)
* Accepted is there to denote the difference between a request that someone has initially looked at and one that is just left sitting there.
* Pending is a sort of catch-all state where releases get booted back to if there is a technical problem - testing found a bug, or if there is a build issue.
* Under Review is where higher-level project decisions are made.
The difference between 'Withdrawn' and 'Rejected' is that the user who made the request withdraws it vs the project rejecting it.
-> Closed (Resolution: Withdrawn)
-> Closed (Resolution: Rejected)
-> Accepted
Accepted
-> Closed (Resolution: Rejected)
-> Pending
Pending
-> Closed (Resolution: Rejected)
-> Under Review
-> Building
Building
-> Pending
-> Testing
Testing
-> Pending
-> Ready for Release
Ready for Release
-> Under Review
-> Pending
-> Closed (Resolution: Released)
I would also like to see an appropriate set of project roles configured so that only people with the appropriate role(s) can advance the workflow at each step. For example, the "security reviewer" role would be the only one that can advance from state "Security Review" to "Pending", etc.
Action items
- Vet these two flows
- Jay Turner implements the flows in JIRA
- Everyone starts using them