cdp-ucsc / doc

0 stars 0 forks source link

CDP Scrum Workflow #58

Open insuhpak opened 1 month ago

insuhpak commented 1 month ago

⚠️ This issue serves as documentation for our CDP Scrum workflow. Do not close this issue. ⚠️

![CDP Scrum Cycle](https://github.com/user-attachments/assets/bc925534-4097-426b-910b-8792e475ff1f) # The Sprint
What is the Sprint? - The Sprint contains all of the Scrum actions: Product Backlog Management, Sprint Planning, Daily Scrum, Sprint Review, and Retrospective - CDP's Sprint is not concluded with one closing 'Release' that delivers all the done work achieved in the Sprint - Instead, CDP's Sprint is intended to be a fixed duration that tracks progress via Sprint Items/SIs - Different SIs can be delivered at different points of the Sprint
## Product Backlog Management
What is Product Backlog Management? - Product Owners, with the help of the Scrum Master, manage the Product Backlog - Effective management is - Creating clear PBIs - Communicating PBIs - Prioritizing/ordering PBIs - Continuously refining PBIs as needed - Developing and communicating the Product Goal - Product Backlog Management occurs throughout the Sprint and is not dependent on any other Sprint event
How to create a Product Backlog Item (PBI). All items should: - Have a friendly name > - All members of the Scrum Team should be able to understand the item name. - Have a description > - The description of the item should describe the work being requested. > - The description of the item should be maintained with relevant updates. > - Placeholder PBIs may not have a full description at the time of creation. However, for the PBI to be a candidate for Sprint selection the description must be filled out. > - All members of the Scrum Team should be able to understand the description. - All of the following labels and field should be filled out > image > - The labels and custom fields are how items are organized and prioritized. The custom fields are very important in how we display items in the various project board views. > #### Parent or Child Item > All items are parent items unless the item tracks other items. The item that is tracking the other sub items is the parent item and the items tracked by the parent item are child items. > - Parent > - Child > #### Scrum Status > All items should have a scrum status selected. The Scrum Status field is the main indicator to differentiate between Product Backlog Items and Sprint items. The Product Backlog view will reflect all statuses except "Hide from View". The Current Sprint Items view will reflect only "SI - Included in Sprint" items. The "Hide from View" items will not be reflected in any Product Backlog or Sprint views. The "Hide from View" value may be useful when there are redundant items on the board. For example, when there exists both an issue item and PR item. It is redundant and creates clutter to have both of the items appear on the board. In these cases, the PR item can use "Hide from View". > - 🔍 Needs PO Review > - PBI - Not Ready for Sprint > - PBI - Ready for Sprint > - SI - Included in Sprint > - Hide from View > #### Domain > Domain is pretty self-explanatory. Usually, the domain aligns with the project repo where the item originates. However, there are cases where an item is cross-domain and/or is not associated with a repo. These are kept as draft issues and are often parent tickets. As best as possible developers should identify a domain for these types of items. > - 💰 Financial > - 👩‍🎓 Student > - 🧑‍🤝‍🧑 Personnel > - 🐌 Internal > - 🔌 Infrastructure > - 🆔 Identity > - 📚 Documentation > - 🎁 Advancement > - 🏛 Facilities > #### Priority > Item priority is used during sprint planning to identify which PBIs should be included in the next sprint. Item priority can further be used during sprints for workload management. The Product Owner defines and manages this field. > - 💥 Hot Fix > - 🌋 Urgent > - 🏔 High > - 🏕 Medium > - 🏝 Low > #### Size > Item size should reflect the level of effort/time required by the developer to complete the item. The developer defines and manages this field. > - 🐋 X-Large > - 🦑 Large > - 🐂 Medium > - 🐇 Small > - 🦔 Tiny > #### Sprint Status > Sprint Status is how items are organized in the Sprint Backlog view. The Sprint Status should reflect the status of the item in the developer's workflow. The developer defines and manages this field. > - 🫥 Dev Not Started > No work for this item has begun. > - 🤓 In Dev > This item is in development. > - 🤨 In Review > This item is in review. Items may require internal review only, user review only, or both. During the review process, additional development may be needed. > - 🤩 Done and Waiting > This item meets its specific DoD and is awaiting its next step. > - 🥳 Done and Delivered > This item has been delivered. Delivery is defined for each item. Some items may need to be delivered to UAT. For others, it may be MAIN/Production. > #### Sprint Iteration > Sprint Iteration is the period the development of the item is taking place. Sprint Iteration takes a naming convention of MONTHYEAR like JULY2024. The developer defines and manages this field.
### Sprint Planning
What is the Sprint Planning event? - Select PBIs to include in the Sprint - This turns PBIs into Sprint Items (SIs) - When PBIs turn into SIs, - They can be refined into multiple SIs - The description should be enhanced where possible and provide the development roadmap - Each SI should have a Definition of Done (DoD) that describes what it means to be done and delivered - The labels and fields that were left for developers should be filled out - Determine Sprint Goal(s) that are reflective of the SIs
### Daily Scrum
What is the Daily Scrum event? - Developers provide concise daily updates of their progress - Developers communicate blockers and the Scrum Master facilitates the removal of blockers - Spin-off meetings are identified if needed
### Sprint Review
What is the Sprint Review event? - TBD
### Retrospective
What is the Retrospective event? - TBD