> For the complete documentation index, see [llms.txt](https://program.hackyourfuture.dk/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://program.hackyourfuture.dk/course-content/foundation/intro-to-agile/week-1/preparation.md).

# Preparation

## Introduction to Agile

### Part 1: Introduction to Agile and Waterfall

#### What is Waterfall?

Waterfall is a **sequential software development model**: Requirements, Design, Implementation, Verification, Maintenance.

**Pros:**

* Predictable
* Good for fixed requirements
* Suitable for some large-scale production such as manufacturing, rocket launching etc.

**Cons:**

* Late feedback
* High cost of change
* Misalignment risk

#### Why Agile Emerged

Agile was created in response to Waterfall's rigidity. The **Agile Manifesto (2001)** values:

1. Individuals and interactions over processes and tools
2. Working software over comprehensive documentation
3. Customer collaboration over contract negotiation
4. Responding to change over following a plan

#### Agile vs. Waterfall

| Aspect               | Waterfall  | Agile       |
| -------------------- | ---------- | ----------- |
| Structure            | Sequential | Iterative   |
| Change Handling      | Rigid      | Flexible    |
| Customer Involvement | Limited    | Continuous  |
| Testing              | At the end | Ongoing     |
| Delivery             | Big-bang   | Incremental |

**Key Takeaway:** Agile is not a methodology — it's a **mindset** focused on value, learning, and adaptability.

### Part 2: Basics of Scrum

#### What is Scrum?

Scrum is a lightweight framework used by 87% of Agile teams (2024). It is based on empirical process control and supports frequent delivery, learning, and feedback.

#### Scrum Principles

* **Empiricism** — Transparency, Inspection, Adaptation
* **Self-management** — Teams decide how to work
* **Cross-functionality** — Team has all skills needed
* **Iterative Progress** — Frequent increments to inspect and adapt

#### Scrum Roles

| Role          | Responsibilities                                    |
| ------------- | --------------------------------------------------- |
| Product Owner | Maximizes value, owns the Product Backlog           |
| Scrum Master  | Coaches, facilitates, removes impediments           |
| Developers    | Cross-functional professionals building the product |

#### Scrum Events

| Event                | Purpose                                              |
| -------------------- | ---------------------------------------------------- |
| Sprint               | Time-boxed iteration (max 1 month)                   |
| Sprint Planning      | Define Sprint Goal, select work, plan delivery       |
| Daily Scrum          | 15-min sync for progress and re-planning             |
| Sprint Review        | Present Increment, gather feedback                   |
| Sprint Retrospective | Reflect and improve team collaboration and processes |

#### Scrum Artifacts

| Artifact        | Description                                              |
| --------------- | -------------------------------------------------------- |
| Product Backlog | Ordered list of everything needed in the product         |
| Sprint Backlog  | Selected work for Sprint + delivery plan                 |
| Increment       | Working product output that meets the Definition of Done |

**Definition of Done (DoD):** Shared understanding of “complete,” enforced by Developers, ensures transparency and consistency.

**Key Takeaway:** Scrum gives structure to Agile — it’s simple, but powerful when practiced with discipline and empathy.

### Scrum Master vs. Project Manager

#### Scrum Master

The Scrum Master is a facilitator and coach for the Agile team. Their primary role is to support the team in following Scrum principles, ensure that Scrum events (like Daily Standups, Sprint Planning, and Retrospectives) run smoothly, and help remove any impediments that block progress. They don’t manage the team or assign tasks. Instead, they enable the team to self-organize, collaborate, and continuously improve. The Scrum Master also works closely with the Product Owner to maintain focus on delivering value.

#### Project Manager

A Project Manager is traditionally responsible for the overall planning, execution, and delivery of a project. This includes defining scope, creating schedules, managing budgets, assigning tasks, and ensuring that the project is completed on time and within budget. They typically operate in more structured or Waterfall environments, where they lead and direct the team’s work based on pre-defined plans.

#### Main Difference

The key distinction lies in their approach and authority. The Scrum Master supports a self-managing Agile team without directing them, while the Project Manager takes ownership of the entire project lifecycle and actively directs team tasks. Scrum Masters focus on process and team empowerment. Project Managers focus on control, coordination, and delivery.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://program.hackyourfuture.dk/course-content/foundation/intro-to-agile/week-1/preparation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
