NOTE
Mr. Gordon generated this concept summary using ChatGPT (here are the prompts given and responses received).
He then reviewed and edited the results for clarity and accuracy.
This page is intended as a reference (please bookmark for future use).
Methodologies
Waterfall
This traditional software development method follows a step-by-step process, like falling down a waterfall.
The steps are:
- Requirements
- Specifications
- Design
- Implementation
- Testing
- Delivery
- Maintenance
Each stage must be completed before moving to the next, and it’s difficult to go back (much like it is hard, or impossible, to climb up a waterfall).
This method works best for projects where all requirements are clear from the beginning.
- Strength: Clear structure and planning.
- Weakness: Inflexible to changes during development.
Agile
Agile is a flexible and team-focused approach.
Instead of completing one phase at a time, Agile breaks the project into smaller cycles called sprints, usually lasting 1-4 weeks.
Teams plan, develop, test, and get feedback on each sprint. It’s ideal for projects where requirements might change.
- Strength: Adapts to change and includes regular feedback.
- Weakness: Needs close communication and teamwork, which can be hard to manage.
Key Differences
Waterfall is like following a map with one clear route that never changes, while Agile is more like adjusting your path based on feedback as you travel.
Scrum
Scrum is a popular framework for implementing Agile principles.
It emphasizes teamwork, flexibility, and iterative progress toward a goal.
Here’s a breakdown of the key roles and processes:
Roles in Scrum
-
Product Owner:
- Responsibilities:
- Represents the customer or end-user.
- Creates and prioritizes the Product Backlog, which lists features, fixes, and improvements needed.
- Decides what work has the most value and must be done first.
- Works closely with the team to clarify requirements and ensure they understand the work.
- Responsibilities:
-
Scrum Master:
- Responsibilities:
- Acts as a coach for the team, ensuring they follow Scrum practices.
- Removes any obstacles (or “impediments”) that slow down progress.
- Facilitates meetings like sprint planning, standups, and sprint reviews.
- Focuses on improving teamwork and processes, not managing the team like a boss.
- Responsibilities:
-
Development Team Member:
- Responsibilities:
- Contributes to designing, coding, testing, and delivering the product.
- Collaborates with the Product Owner and other team members to understand tasks and clarify requirements.
- Works together to achieve the sprint goal.
- Responsibilities:
Comparison of Roles
| Role | Key Focus | Main Contribution |
|---|---|---|
| Product Owner | Business Value | Ensures the team builds the right thing. |
| Scrum Master | Process and Team Support | Guides the team and removes roadblocks. |
| Team Member | Execution and Collaboration | Builds the product and solves problems. |
Processes in Scrum
- Sprint:
- A sprint is a time-boxed iteration, usually lasting 1-4 weeks.
- During a sprint, the team works on a specific set of tasks from the backlog.
- At the end of each sprint, the team delivers a usable product increment that could be shown to customers.
- The sprint includes planning at the start and a retrospective review at the end to improve future work.
- Product Backlog:
- This is a list of tasks or features, maintained by the Product Owner.
- Items in the backlog are ranked by priority, so the most important work is tackled first.
- It’s dynamic, meaning new tasks can be added or reprioritized as needed.
- Daily Standup Meeting:
- A short daily meeting (about 15 minutes) where team members share:
- What they did yesterday.
- What they plan to do today.
- Any obstacles they’re facing.
- The goal is to keep everyone informed, aligned, and able to address issues quickly.
- A short daily meeting (about 15 minutes) where team members share: