Files
uni/year2/semester1/logseq-stuff/pages/SCRUM Roles & Ceremonies.md

184 lines
6.8 KiB
Markdown

- #[[CT216 - Software Engineering I]]
- **Previous Topic:** [[Introduction to Agile Methods]]
- **Next Topic:** [[Agile Methods - Extreme Programming]]
- **Relevant Slides:** ![Week 3 - SCRUM - Roles and Ceremonies.pdf](../assets/Week_3_-_SCRUM_-_Roles_and_Ceremonies_1663849748773_0.pdf)
-
- # Scrum Framework
- ## Roles
collapsed:: true
- Product Owner
- ScrumMaster
- Team
-
- ### Product Owner #card
card-last-interval:: 31.36
card-repeats:: 4
card-ease-factor:: 2.8
card-next-schedule:: 2022-12-16T04:11:05.335Z
card-last-reviewed:: 2022-11-14T20:11:05.336Z
card-last-score:: 5
- Define the features of the product.
- Tries to remove conjecture - "I know the customer wants this" as opposed to "I believe this would be a good feature".
- Decide on release date and content.
- Usually responsible for press release.
- Be responsible for the profitability of the product (ROI).
- Prioritise features according to market value.
- Conduct market research, feasibility studies.
- Adjust features & priority every iteration, as needed.
- Accept or reject work results.
- ### Scrum Master #card
card-last-interval:: -1
card-repeats:: 1
card-ease-factor:: 2.22
card-next-schedule:: 2022-11-15T00:00:00.000Z
card-last-reviewed:: 2022-11-14T16:42:56.790Z
card-last-score:: 1
- Represents management to the project.
- Often one of the engineers.
- Responsible for enacting Scrum values & practices.
- Removes impediments.
- Ensure that the team is fully functional & productive.
- Enable close cooperation across all roles & functions.
- Shield the team from external interfaces.
- ### Scrum Team #card
card-last-interval:: 9.28
card-repeats:: 3
card-ease-factor:: 2.32
card-next-schedule:: 2022-11-23T22:36:47.636Z
card-last-reviewed:: 2022-11-14T16:36:47.637Z
card-last-score:: 5
- Typically 5-10 people.
- Cross-functional.
- QA, Programmers, UI Designers, etc.
- Members should be full-time.
- May be exceptions (e.g., System Admin, etc.).
- Teams are self-organising.
- Membership can change only between sprints.
-
- ## Ceremonies
collapsed:: true
- Sprints
- Sprint Planning
- Sprint Review
- Sprint Retrospective
- Daily Scrum Meeting
-
- ### Sprints #card
card-last-interval:: 23.43
card-repeats:: 4
card-ease-factor:: 2.42
card-next-schedule:: 2022-12-08T06:05:48.351Z
card-last-reviewed:: 2022-11-14T20:05:48.351Z
card-last-score:: 5
collapsed:: true
- Scrum projects make progress in a series of **sprints**.
- Target duration is one month.
- + / - a week or two (2 - 6 weeks max).
- Product is designed, coded, and tested during the sprint.
- The output is a built which may or may not be a release.
- Move onto the next sprint.
-
- #### No changes during Sprint
- Plan sprint durations around how long you can commit to keeping the change out of the Sprint.
- ### Sprint Planning #card
card-last-interval:: 11.34
card-repeats:: 3
card-ease-factor:: 2.56
card-next-schedule:: 2022-11-26T00:48:37.703Z
card-last-reviewed:: 2022-11-14T16:48:37.703Z
card-last-score:: 5
collapsed:: true
- The Team selects items from the **product backlog** that they can commit to completing.
- The **Sprint Backlog** is created.
- Tasks are identified & the length of each is estimated (1-16 hours).
- This is done collaboratively by the team.
- ![image.png](../assets/image_1663942604788_0.png)
- #### Sprint Backlog
- What is the **Product Backlog**? #card
card-last-interval:: 31.36
card-repeats:: 4
card-ease-factor:: 2.8
card-next-schedule:: 2022-12-16T04:11:04.051Z
card-last-reviewed:: 2022-11-14T20:11:04.052Z
card-last-score:: 5
- The **Product Backlog** is a list of desired work on the project (the requirements).
- It's usually a combination of:
- **story-based work** - "let user search & replace".
- **task-based work** - "improve exception handling".
- The list is prioritised by the **Product Owner**.
- The **Product Owner** is typically a Product Manager, Marketing, Internal Customer, etc.
- Priority groupings (high, medium, low, etc.).
- Re-prioritised at the start of each sprint.
- Spreadsheet (usually).
- To create a Sprint Backlog, you must have a Sprint goal.
- The Scrum team takes the Sprint Goal and decides what tasks are necessary.
- The Team self-organises around how they will meet the Sprint Goal.
- Manager does not assign tasks to individuals.
- Managers don't make decisions for the team.
- A Sprint Backlog is created.
- #### Sprint Backlogs during the Sprint
- Changes
- The Team adds new tasks whenever they need to, in order to meet the Sprint Goal.
- The Team can remove unnecessary tasks.
- But, the Sprint Backlog can only be updated by the team.
- Estimates are updated whenever there's new information.
-
- ### Sprint Review Meeting #card
card-last-interval:: 23.43
card-repeats:: 4
card-ease-factor:: 2.42
card-next-schedule:: 2022-12-08T06:05:33.096Z
card-last-reviewed:: 2022-11-14T20:05:33.096Z
card-last-score:: 5
- The Team presents what it accomplished during the sprint.
- It typically takes the form of a demo of new features or underlying architecture.
- Informal.
- 2 hour prep time.
- No slides.
- Participants.
- Customers.
- Management.
- Product Owners.
- Engineering Team.
- ### Sprint Retrospective Meeting #card
card-last-interval:: 29.04
card-repeats:: 4
card-ease-factor:: 2.56
card-next-schedule:: 2022-12-13T20:03:02.515Z
card-last-reviewed:: 2022-11-14T20:03:02.515Z
card-last-score:: 5
- Typically 15-30 mintues.
- Done after every sprint.
- Feedback meeting - time to reflect on how things are going...
- Many participants.
- Scrum Master
- Product Owner
- Team
- Possibly customers & others
- The whole team gathers & discusses what they'd like to:
- Start doing.
- Stop doing.
- Continue doing,
-
-
- ## Pros / Cons of Agile Methods #card
card-last-interval:: 23.43
card-repeats:: 4
card-ease-factor:: 2.42
card-next-schedule:: 2022-12-08T06:05:31.402Z
card-last-reviewed:: 2022-11-14T20:05:31.402Z
card-last-score:: 5
- ### Advantages
- Completely developed & tested features in short iterations.
- Simplicity of the process.
- Clearly defined rules.
- Increasing productivity.
- Self-organising.
- Each team member carries a lot of responsibility.
- Improved communication.
- Combination with Extreme Programming.
- ### Disadvantages
- "Undisciplined hacking" (no written documentation).
- Violation of responsibility.
- Current mainly carried by the inventors.
- Employee burnout & fatigue.