6.8 KiB
6.8 KiB
- #CT216 - Software Engineering I
- Previous Topic: Introduction to Agile Methods
- Next Topic: Agile Methods - Extreme Programming
- Relevant Slides:
-
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.
- Define the features of the product.
-
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.
- Represents management to the project.
-
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.
-
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.
- Changes
- 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
-
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.
-