Add second year

This commit is contained in:
2023-12-07 01:19:12 +00:00
parent 3291e5c79e
commit 3d12031ab8
1168 changed files with 431409 additions and 0 deletions

View File

@ -0,0 +1,101 @@
- #[[CT216 - Software Engineering I]]
- **Previous Topic:** [[Software Processes]]
- **Next Topic:** [[SCRUM Roles & Ceremonies]]
- **Relevant Slides:** ![Week 3 - Introduction to Agile Methods - Scrum(1).pdf](../assets/Week_3_-_Introduction_to_Agile_Methods_-_Scrum(1)_1663848442133_0.pdf)
-
- # Software Development Lifecycle
- What is the **Software Lifecycle**? #card
card-last-interval:: -1
card-repeats:: 1
card-ease-factor:: 2.5
card-next-schedule:: 2022-09-22T23:00:00.000Z
card-last-reviewed:: 2022-09-22T20:28:27.102Z
card-last-score:: 1
- The **software lifecycle** is an abstract representation of a software process. It defines the steps, methods, tools, activities, and deliverables of a software development project.
- The following **lifecycle phases** are considered:
- 1. Requirement Analysis
2. System Design
3. Implementation
4. Integration & Deployment
5. Operation & Maintenance
- ## SDLC Limitations
- Classical project planning methods have a lot of disadvantages:
- Huge efforts during the planning phase (requirements + design).
- Poor requirements conversion in a rapidly changing environment.
- Treatment of staff as a factor of production.
-
- # Agile
- What is **Agile**? #card
card-last-interval:: 4
card-repeats:: 1
card-ease-factor:: 2.36
card-next-schedule:: 2022-09-30T12:14:38.542Z
card-last-reviewed:: 2022-09-26T12:14:38.542Z
card-last-score:: 3
- There is no single definition of Agile, but the Agile Manifesto is the closest to a defintion.
- Set of principles.
- Developed by Agile Alliance.
- Agile methods focus on:
- Individuals & interactions over processes & tools.
- Working software over comprehensive documentation.
- Customer collaboration over contract negotiation.
- Responding to change over following a plan.
- The [Agile Alliance](www.agilealliance.org) is a non-profit organisation promotes agile development.
- ## Agile Motivation
- Agile proponents argue:
- Software development processes relying on lifecycle models are too heavyweight or cumbersome.
- Too many things are done that are not directly related to the software product being produced, i.e., design, models, requirements docs, documentation that isn't shipped as part of the product.
- Difficulty with incomplete or changing requirements.
- Short development cycles (Mobile Apps).
- More active customer involvement needed.
- There are several Agile methods, including **Scrum** and **Extreme Programming (XP)**.
- ## SCRUM
- What is **SCRUM**? #card
card-last-interval:: -1
card-repeats:: 1
card-ease-factor:: 2.5
card-next-schedule:: 2022-09-22T23:00:00.000Z
card-last-reviewed:: 2022-09-22T20:41:57.926Z
card-last-score:: 1
- **Software Project Management Methodology (SCRUM)** is an agile project management methodology for managing product development.
- It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month).
- The business sets the priorities. The teams **self-manage** to determine the best way to deliver the highest priority features.
- Every two weeks to a month, anyone can see real, working software and decide to release it as is or continue to enhance it for another iteration.
- ### Characteristics of SCRUM #card
card-last-interval:: 4
card-repeats:: 1
card-ease-factor:: 2.36
card-next-schedule:: 2022-09-30T12:13:39.492Z
card-last-reviewed:: 2022-09-26T12:13:39.493Z
card-last-score:: 3
- Self-organising teams.
- No need for project manager (in theory).
- Product progresses in a series of month-long or biweekly **sprints**.
- Assumes that the software cannot be well defined and requirements will change frequently.
- Requirements are captured as items in a list of **product backlog**.
- No specific engineering practices prescribed.
- XP, TDD, FDD.
- Best approach is to start with Scrum and then invent your own version using XP, TDD< FDD, etc.
- ### Daily SCRUM / Standup #card
card-last-interval:: 4
card-repeats:: 1
card-ease-factor:: 2.6
card-next-schedule:: 2022-09-30T12:14:54.429Z
card-last-reviewed:: 2022-09-26T12:14:54.429Z
card-last-score:: 5
- Parameters:
- Daily.
- 15-minutes.
- Stand-up.
- Not for problem solving.
- Only team members, ScrumMaster, & Product Owners should talk.
- Should help to avoid additional unnecessary meetings.
- Commitment in front of peers to complete tasks.
- Answer 3 questions:
- What did you do yesterday?
- What will you do today?
- Is anything in your way?
- The Daily SCRUM is **not** a problem-solving session and is **not** a way to collect information about who is behind the schedule.
- It is a meeting in which members make commitments to each other and to the SCRUM Master.
- It is a good way for a SCRUM Master to track the progress of the team.
-

View File

@ -0,0 +1,101 @@
- #[[CT216 - Software Engineering I]]
- **Previous Topic:** [[Software Processes]]
- **Next Topic:** [[SCRUM Roles & Ceremonies]]
- **Relevant Slides:** ![Week 3 - Introduction to Agile Methods - Scrum(1).pdf](../assets/Week_3_-_Introduction_to_Agile_Methods_-_Scrum(1)_1663848442133_0.pdf)
-
- # Software Development Lifecycle
- What is the **Software Lifecycle**? #card
card-last-interval:: 4
card-repeats:: 2
card-ease-factor:: 2.6
card-next-schedule:: 2022-10-07T11:41:44.734Z
card-last-reviewed:: 2022-10-03T11:41:44.735Z
card-last-score:: 5
- The **software lifecycle** is an abstract representation of a software process. It defines the steps, methods, tools, activities, and deliverables of a software development project.
- The following **lifecycle phases** are considered:
- 1. Requirement Analysis
2. System Design
3. Implementation
4. Integration & Deployment
5. Operation & Maintenance
- ## SDLC Limitations
- Classical project planning methods have a lot of disadvantages:
- Huge efforts during the planning phase (requirements + design).
- Poor requirements conversion in a rapidly changing environment.
- Treatment of staff as a factor of production.
-
- # Agile
- What is **Agile**? #card
card-last-interval:: -1
card-repeats:: 1
card-ease-factor:: 2.36
card-next-schedule:: 2022-10-04T23:00:00.000Z
card-last-reviewed:: 2022-10-04T12:14:50.132Z
card-last-score:: 1
- There is no single definition of Agile, but the Agile Manifesto is the closest to a defintion.
- Set of principles.
- Developed by Agile Alliance.
- Agile methods focus on:
- Individuals & interactions over processes & tools.
- Working software over comprehensive documentation.
- Customer collaboration over contract negotiation.
- Responding to change over following a plan.
- The [Agile Alliance](www.agilealliance.org) is a non-profit organisation promotes agile development.
- ## Agile Motivation
- Agile proponents argue:
- Software development processes relying on lifecycle models are too heavyweight or cumbersome.
- Too many things are done that are not directly related to the software product being produced, i.e., design, models, requirements docs, documentation that isn't shipped as part of the product.
- Difficulty with incomplete or changing requirements.
- Short development cycles (Mobile Apps).
- More active customer involvement needed.
- There are several Agile methods, including **Scrum** and **Extreme Programming (XP)**.
- ## SCRUM
- What is **Scrum**? #card
card-last-score:: 1
card-repeats:: 1
card-next-schedule:: 2022-10-04T23:00:00.000Z
card-last-interval:: -1
card-ease-factor:: 2.5
card-last-reviewed:: 2022-10-04T12:33:02.463Z
- **Scrum** is an agile project management methodology for managing product development.
- It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month).
- The business sets the priorities. The teams **self-manage** to determine the best way to deliver the highest priority features.
- Every two weeks to a month, anyone can see real, working software and decide to release it as is or continue to enhance it for another iteration.
- ### Characteristics of SCRUM #card
card-last-interval:: -1
card-repeats:: 1
card-ease-factor:: 2.36
card-next-schedule:: 2022-10-04T23:00:00.000Z
card-last-reviewed:: 2022-10-04T12:13:22.626Z
card-last-score:: 1
- Self-organising teams.
- No need for project manager (in theory).
- Product progresses in a series of month-long or biweekly **sprints**.
- Assumes that the software cannot be well defined and requirements will change frequently.
- Requirements are captured as items in a list of **product backlog**.
- No specific engineering practices prescribed.
- XP, TDD, FDD.
- Best approach is to start with Scrum and then invent your own version using XP, TDD< FDD, etc.
- ### Daily SCRUM / Standup #card
card-last-interval:: 4
card-repeats:: 2
card-ease-factor:: 2.7
card-next-schedule:: 2022-10-08T12:15:05.415Z
card-last-reviewed:: 2022-10-04T12:15:05.415Z
card-last-score:: 5
- Parameters:
- Daily.
- 15-minutes.
- Stand-up.
- Not for problem solving.
- Only team members, ScrumMaster, & Product Owners should talk.
- Should help to avoid additional unnecessary meetings.
- Commitment in front of peers to complete tasks.
- Answer 3 questions:
- What did you do yesterday?
- What will you do today?
- Is anything in your way?
- The Daily SCRUM is **not** a problem-solving session and is **not** a way to collect information about who is behind the schedule.
- It is a meeting in which members make commitments to each other and to the SCRUM Master.
- It is a good way for a SCRUM Master to track the progress of the team.
-

View File

@ -0,0 +1,101 @@
- #[[CT216 - Software Engineering I]]
- **Previous Topic:** [[Software Processes]]
- **Next Topic:** [[SCRUM Roles & Ceremonies]]
- **Relevant Slides:** ![Week 3 - Introduction to Agile Methods - Scrum(1).pdf](../assets/Week_3_-_Introduction_to_Agile_Methods_-_Scrum(1)_1663848442133_0.pdf)
-
- # Software Development Lifecycle
- What is the **Software Lifecycle**? #card
card-last-interval:: 4
card-repeats:: 2
card-ease-factor:: 2.6
card-next-schedule:: 2022-10-07T11:41:44.734Z
card-last-reviewed:: 2022-10-03T11:41:44.735Z
card-last-score:: 5
- The **software lifecycle** is an abstract representation of a software process. It defines the steps, methods, tools, activities, and deliverables of a software development project.
- The following **lifecycle phases** are considered:
- 1. Requirement Analysis
2. System Design
3. Implementation
4. Integration & Deployment
5. Operation & Maintenance
- ## SDLC Limitations
- Classical project planning methods have a lot of disadvantages:
- Huge efforts during the planning phase (requirements + design).
- Poor requirements conversion in a rapidly changing environment.
- Treatment of staff as a factor of production.
-
- # Agile
- What is **Agile**? #card
card-last-interval:: 4
card-repeats:: 2
card-ease-factor:: 2.22
card-next-schedule:: 2022-10-11T10:14:18.767Z
card-last-reviewed:: 2022-10-07T10:14:18.769Z
card-last-score:: 3
- There is no single definition of Agile, but the Agile Manifesto is the closest to a defintion.
- Set of principles.
- Developed by Agile Alliance.
- Agile methods focus on:
- Individuals & interactions over processes & tools.
- Working software over comprehensive documentation.
- Customer collaboration over contract negotiation.
- Responding to change over following a plan.
- The [Agile Alliance](www.agilealliance.org) is a non-profit organisation promotes agile development.
- ## Agile Motivation
- Agile proponents argue:
- Software development processes relying on lifecycle models are too heavyweight or cumbersome.
- Too many things are done that are not directly related to the software product being produced, i.e., design, models, requirements docs, documentation that isn't shipped as part of the product.
- Difficulty with incomplete or changing requirements.
- Short development cycles (Mobile Apps).
- More active customer involvement needed.
- There are several Agile methods, including **Scrum** and **Extreme Programming (XP)**.
- ## SCRUM
- What is **Scrum**? #card
card-last-score:: 3
card-repeats:: 2
card-next-schedule:: 2022-10-10T04:23:23.437Z
card-last-interval:: 2.77
card-ease-factor:: 2.36
card-last-reviewed:: 2022-10-07T10:23:23.438Z
- **Scrum** is an agile project management methodology for managing product development.
- It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month).
- The business sets the priorities. The teams **self-manage** to determine the best way to deliver the highest priority features.
- Every two weeks to a month, anyone can see real, working software and decide to release it as is or continue to enhance it for another iteration.
- ### Characteristics of Scrum #card
card-last-score:: 3
card-repeats:: 2
card-next-schedule:: 2022-10-11T10:49:04.551Z
card-last-interval:: 4
card-ease-factor:: 2.22
card-last-reviewed:: 2022-10-07T10:49:04.552Z
- Self-organising teams.
- No need for project manager (in theory).
- Product progresses in a series of month-long or biweekly **sprints**.
- Assumes that the software cannot be well defined and requirements will change frequently.
- Requirements are captured as items in a list of **product backlog**.
- No specific engineering practices prescribed.
- XP, TDD, FDD.
- Best approach is to start with Scrum and then invent your own version using XP, TDD< FDD, etc.
- ### Daily SCRUM / Standup #card
card-last-interval:: 4
card-repeats:: 2
card-ease-factor:: 2.7
card-next-schedule:: 2022-10-08T12:15:05.415Z
card-last-reviewed:: 2022-10-04T12:15:05.415Z
card-last-score:: 5
- Parameters:
- Daily.
- 15-minutes.
- Stand-up.
- Not for problem solving.
- Only team members, ScrumMaster, & Product Owners should talk.
- Should help to avoid additional unnecessary meetings.
- Commitment in front of peers to complete tasks.
- Answer 3 questions:
- What did you do yesterday?
- What will you do today?
- Is anything in your way?
- The Daily SCRUM is **not** a problem-solving session and is **not** a way to collect information about who is behind the schedule.
- It is a meeting in which members make commitments to each other and to the SCRUM Master.
- It is a good way for a SCRUM Master to track the progress of the team.
-

View File

@ -0,0 +1,101 @@
- #[[CT216 - Software Engineering I]]
- **Previous Topic:** [[Software Processes]]
- **Next Topic:** [[SCRUM Roles & Ceremonies]]
- **Relevant Slides:** ![Week 3 - Introduction to Agile Methods - Scrum(1).pdf](../assets/Week_3_-_Introduction_to_Agile_Methods_-_Scrum(1)_1663848442133_0.pdf)
-
- # Software Development Lifecycle
- What is the **Software Lifecycle**? #card
card-last-interval:: -1
card-repeats:: 1
card-ease-factor:: 2.6
card-next-schedule:: 2022-10-08T23:00:00.000Z
card-last-reviewed:: 2022-10-08T15:00:18.476Z
card-last-score:: 1
- The **software lifecycle** is an abstract representation of a software process. It defines the steps, methods, tools, activities, and deliverables of a software development project.
- The following **lifecycle phases** are considered:
- 1. Requirement Analysis
2. System Design
3. Implementation
4. Integration & Deployment
5. Operation & Maintenance
- ## SDLC Limitations
- Classical project planning methods have a lot of disadvantages:
- Huge efforts during the planning phase (requirements + design).
- Poor requirements conversion in a rapidly changing environment.
- Treatment of staff as a factor of production.
-
- # Agile
- What is **Agile**? #card
card-last-interval:: 4
card-repeats:: 2
card-ease-factor:: 2.22
card-next-schedule:: 2022-10-11T10:14:18.767Z
card-last-reviewed:: 2022-10-07T10:14:18.769Z
card-last-score:: 3
- There is no single definition of Agile, but the Agile Manifesto is the closest to a defintion.
- Set of principles.
- Developed by Agile Alliance.
- Agile methods focus on:
- Individuals & interactions over processes & tools.
- Working software over comprehensive documentation.
- Customer collaboration over contract negotiation.
- Responding to change over following a plan.
- The [Agile Alliance](www.agilealliance.org) is a non-profit organisation promotes agile development.
- ## Agile Motivation
- Agile proponents argue:
- Software development processes relying on lifecycle models are too heavyweight or cumbersome.
- Too many things are done that are not directly related to the software product being produced, i.e., design, models, requirements docs, documentation that isn't shipped as part of the product.
- Difficulty with incomplete or changing requirements.
- Short development cycles (Mobile Apps).
- More active customer involvement needed.
- There are several Agile methods, including **Scrum** and **Extreme Programming (XP)**.
- ## SCRUM
- What is **Scrum**? #card
card-last-score:: 3
card-repeats:: 2
card-next-schedule:: 2022-10-10T04:23:23.437Z
card-last-interval:: 2.77
card-ease-factor:: 2.36
card-last-reviewed:: 2022-10-07T10:23:23.438Z
- **Scrum** is an agile project management methodology for managing product development.
- It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month).
- The business sets the priorities. The teams **self-manage** to determine the best way to deliver the highest priority features.
- Every two weeks to a month, anyone can see real, working software and decide to release it as is or continue to enhance it for another iteration.
- ### Characteristics of Scrum #card
card-last-score:: 3
card-repeats:: 2
card-next-schedule:: 2022-10-11T10:49:04.551Z
card-last-interval:: 4
card-ease-factor:: 2.22
card-last-reviewed:: 2022-10-07T10:49:04.552Z
- Self-organising teams.
- No need for project manager (in theory).
- Product progresses in a series of month-long or biweekly **sprints**.
- Assumes that the software cannot be well defined and requirements will change frequently.
- Requirements are captured as items in a list of **product backlog**.
- No specific engineering practices prescribed.
- XP, TDD, FDD.
- Best approach is to start with Scrum and then invent your own version using XP, TDD< FDD, etc.
- ### Daily SCRUM / Standup #card
card-last-interval:: 11.2
card-repeats:: 3
card-ease-factor:: 2.8
card-next-schedule:: 2022-10-20T02:54:31.522Z
card-last-reviewed:: 2022-10-08T22:54:31.568Z
card-last-score:: 5
- Parameters:
- Daily.
- 15-minutes.
- Stand-up.
- **Not** for problem solving.
- Only team members, Scrum Master, & Product Owners should talk.
- Should help to avoid additional unnecessary meetings.
- Commitment in front of peers to complete tasks.
- ^^Answer 3 questions:^^
- ^^What did you do yesterday?^^
- ^^What will you do today?^^
- ^^Is anything in your way?^^
- The Daily SCRUM is **not** a problem-solving session and is **not** a way to collect information about who is behind the schedule.
- It is a meeting in which members make commitments to each other and to the SCRUM Master.
- It is a good way for a SCRUM Master to track the progress of the team.
-

View File

@ -0,0 +1,101 @@
- #[[CT216 - Software Engineering I]]
- **Previous Topic:** [[Software Processes]]
- **Next Topic:** [[SCRUM Roles & Ceremonies]]
- **Relevant Slides:** ![Week 3 - Introduction to Agile Methods - Scrum(1).pdf](../assets/Week_3_-_Introduction_to_Agile_Methods_-_Scrum(1)_1663848442133_0.pdf)
-
- # Software Development Lifecycle
- What is the **Software Lifecycle**? #card
card-last-interval:: -1
card-repeats:: 1
card-ease-factor:: 2.6
card-next-schedule:: 2022-10-10T23:00:00.000Z
card-last-reviewed:: 2022-10-10T11:32:31.602Z
card-last-score:: 1
- The **software lifecycle** is an abstract representation of a software process. It defines the steps, methods, tools, activities, and deliverables of a software development project.
- The following **lifecycle phases** are considered:
- 1. Requirement Analysis
2. System Design
3. Implementation
4. Integration & Deployment
5. Operation & Maintenance
- ## SDLC Limitations
- Classical project planning methods have a lot of disadvantages:
- Huge efforts during the planning phase (requirements + design).
- Poor requirements conversion in a rapidly changing environment.
- Treatment of staff as a factor of production.
-
- # Agile
- What is **Agile**? #card
card-last-interval:: 4
card-repeats:: 2
card-ease-factor:: 2.22
card-next-schedule:: 2022-10-11T10:14:18.767Z
card-last-reviewed:: 2022-10-07T10:14:18.769Z
card-last-score:: 3
- There is no single definition of Agile, but the Agile Manifesto is the closest to a defintion.
- Set of principles.
- Developed by Agile Alliance.
- Agile methods focus on:
- Individuals & interactions over processes & tools.
- Working software over comprehensive documentation.
- Customer collaboration over contract negotiation.
- Responding to change over following a plan.
- The [Agile Alliance](www.agilealliance.org) is a non-profit organisation promotes agile development.
- ## Agile Motivation
- Agile proponents argue:
- Software development processes relying on lifecycle models are too heavyweight or cumbersome.
- Too many things are done that are not directly related to the software product being produced, i.e., design, models, requirements docs, documentation that isn't shipped as part of the product.
- Difficulty with incomplete or changing requirements.
- Short development cycles (Mobile Apps).
- More active customer involvement needed.
- There are several Agile methods, including **Scrum** and **Extreme Programming (XP)**.
- ## SCRUM
- What is **Scrum**? #card
card-last-score:: 3
card-repeats:: 2
card-next-schedule:: 2022-10-10T04:23:23.437Z
card-last-interval:: 2.77
card-ease-factor:: 2.36
card-last-reviewed:: 2022-10-07T10:23:23.438Z
- **Scrum** is an agile project management methodology for managing product development.
- It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month).
- The business sets the priorities. The teams **self-manage** to determine the best way to deliver the highest priority features.
- Every two weeks to a month, anyone can see real, working software and decide to release it as is or continue to enhance it for another iteration.
- ### Characteristics of Scrum #card
card-last-score:: 3
card-repeats:: 2
card-next-schedule:: 2022-10-11T10:49:04.551Z
card-last-interval:: 4
card-ease-factor:: 2.22
card-last-reviewed:: 2022-10-07T10:49:04.552Z
- Self-organising teams.
- No need for project manager (in theory).
- Product progresses in a series of month-long or biweekly **sprints**.
- Assumes that the software cannot be well defined and requirements will change frequently.
- Requirements are captured as items in a list of **product backlog**.
- No specific engineering practices prescribed.
- XP, TDD, FDD.
- Best approach is to start with Scrum and then invent your own version using XP, TDD< FDD, etc.
- ### Daily SCRUM / Standup #card
card-last-interval:: 11.2
card-repeats:: 3
card-ease-factor:: 2.8
card-next-schedule:: 2022-10-20T02:54:31.522Z
card-last-reviewed:: 2022-10-08T22:54:31.568Z
card-last-score:: 5
- Parameters:
- Daily.
- 15-minutes.
- Stand-up.
- **Not** for problem solving.
- Only team members, Scrum Master, & Product Owners should talk.
- Should help to avoid additional unnecessary meetings.
- Commitment in front of peers to complete tasks.
- ^^Answer 3 questions:^^
- ^^What did you do yesterday?^^
- ^^What will you do today?^^
- ^^Is anything in your way?^^
- The Daily SCRUM is **not** a problem-solving session and is **not** a way to collect information about who is behind the schedule.
- It is a meeting in which members make commitments to each other and to the SCRUM Master.
- It is a good way for a SCRUM Master to track the progress of the team.
-

View File

@ -0,0 +1,101 @@
- #[[CT216 - Software Engineering I]]
- **Previous Topic:** [[Software Processes]]
- **Next Topic:** [[SCRUM Roles & Ceremonies]]
- **Relevant Slides:** ![Week 3 - Introduction to Agile Methods - Scrum(1).pdf](../assets/Week_3_-_Introduction_to_Agile_Methods_-_Scrum(1)_1663848442133_0.pdf)
-
- # Software Development Lifecycle
- What is the **Software Lifecycle**? #card
card-last-interval:: -1
card-repeats:: 1
card-ease-factor:: 2.6
card-next-schedule:: 2022-10-20T23:00:00.000Z
card-last-reviewed:: 2022-10-20T08:38:27.177Z
card-last-score:: 1
- The **software lifecycle** is an abstract representation of a software process. It defines the steps, methods, tools, activities, and deliverables of a software development project.
- The following **lifecycle phases** are considered:
- 1. Requirement Analysis
2. System Design
3. Implementation
4. Integration & Deployment
5. Operation & Maintenance
- ## SDLC Limitations
- Classical project planning methods have a lot of disadvantages:
- Huge efforts during the planning phase (requirements + design).
- Poor requirements conversion in a rapidly changing environment.
- Treatment of staff as a factor of production.
-
- # Agile
- What is **Agile**? #card
card-last-interval:: 4
card-repeats:: 2
card-ease-factor:: 2.22
card-next-schedule:: 2022-10-11T10:14:18.767Z
card-last-reviewed:: 2022-10-07T10:14:18.769Z
card-last-score:: 3
- There is no single definition of Agile, but the Agile Manifesto is the closest to a defintion.
- Set of principles.
- Developed by Agile Alliance.
- Agile methods focus on:
- Individuals & interactions over processes & tools.
- Working software over comprehensive documentation.
- Customer collaboration over contract negotiation.
- Responding to change over following a plan.
- The [Agile Alliance](www.agilealliance.org) is a non-profit organisation promotes agile development.
- ## Agile Motivation
- Agile proponents argue:
- Software development processes relying on lifecycle models are too heavyweight or cumbersome.
- Too many things are done that are not directly related to the software product being produced, i.e., design, models, requirements docs, documentation that isn't shipped as part of the product.
- Difficulty with incomplete or changing requirements.
- Short development cycles (Mobile Apps).
- More active customer involvement needed.
- There are several Agile methods, including **Scrum** and **Extreme Programming (XP)**.
- ## SCRUM
- What is **Scrum**? #card
card-last-score:: 3
card-repeats:: 3
card-next-schedule:: 2022-10-29T05:29:46.102Z
card-last-interval:: 8.88
card-ease-factor:: 2.22
card-last-reviewed:: 2022-10-20T08:29:46.102Z
- **Scrum** is an agile project management methodology for managing product development.
- It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month).
- The business sets the priorities. The teams **self-manage** to determine the best way to deliver the highest priority features.
- Every two weeks to a month, anyone can see real, working software and decide to release it as is or continue to enhance it for another iteration.
- ### Characteristics of Scrum #card
card-last-score:: 3
card-repeats:: 2
card-next-schedule:: 2022-10-11T10:49:04.551Z
card-last-interval:: 4
card-ease-factor:: 2.22
card-last-reviewed:: 2022-10-07T10:49:04.552Z
- Self-organising teams.
- No need for project manager (in theory).
- Product progresses in a series of month-long or biweekly **sprints**.
- Assumes that the software cannot be well defined and requirements will change frequently.
- Requirements are captured as items in a list of **product backlog**.
- No specific engineering practices prescribed.
- XP, TDD, FDD.
- Best approach is to start with Scrum and then invent your own version using XP, TDD< FDD, etc.
- ### Daily SCRUM / Standup #card
card-last-interval:: 11.2
card-repeats:: 3
card-ease-factor:: 2.8
card-next-schedule:: 2022-10-20T02:54:31.522Z
card-last-reviewed:: 2022-10-08T22:54:31.568Z
card-last-score:: 5
- Parameters:
- Daily.
- 15-minutes.
- Stand-up.
- **Not** for problem solving.
- Only team members, Scrum Master, & Product Owners should talk.
- Should help to avoid additional unnecessary meetings.
- Commitment in front of peers to complete tasks.
- ^^Answer 3 questions:^^
- ^^What did you do yesterday?^^
- ^^What will you do today?^^
- ^^Is anything in your way?^^
- The Daily SCRUM is **not** a problem-solving session and is **not** a way to collect information about who is behind the schedule.
- It is a meeting in which members make commitments to each other and to the SCRUM Master.
- It is a good way for a SCRUM Master to track the progress of the team.
-