|
1 | 1 | # Preparation |
2 | 2 |
|
3 | | -TODO |
| 3 | +This module is entirely practical. You will work in a team and go through real development processes: discussing a product, defining an MVP, running sprint planning, daily standups, writing code, doing reviews, and completing a retrospective. |
| 4 | +To participate effectively, you must review key concepts from the Foundation module and study several additional topics that we will actively use during the session. |
| 5 | + |
| 6 | +## Part 1. Review key topics from [the Foundation module](../../../courses/foundation/intro-to-agile/week1/preparation.md) |
| 7 | + |
| 8 | +Before the session, make sure you remember the following concepts: |
| 9 | + |
| 10 | +- Agile Manifesto and core Agile values |
| 11 | +- Differences between Waterfall and Agile |
| 12 | +- Scrum framework: roles, events, artifacts |
| 13 | +- What a Sprint is and what an Increment means |
| 14 | +- How Product Backlog and Sprint Backlog work |
| 15 | + |
| 16 | +## Part 2. Key concepts to study in more depth |
| 17 | + |
| 18 | +### MVP (Minimum Viable Product) |
| 19 | + |
| 20 | +#### What you need to know |
| 21 | + |
| 22 | +- MVP is the smallest version of a product that delivers real value to the user. |
| 23 | +- It is not a “cut-down” product. It is the fastest path to testing a hypothesis. |
| 24 | +- MVP does not need full polish, but it must work and allow learning through feedback. |
| 25 | + |
| 26 | + |
| 27 | + |
| 28 | +> **Simple example** |
| 29 | +> |
| 30 | +> Imagine building a recipe web app. |
| 31 | +> |
| 32 | +> A full version might include: |
| 33 | +> |
| 34 | +> - advanced search |
| 35 | +> - shopping lists |
| 36 | +> - user profiles |
| 37 | +> - photos + video instructions |
| 38 | +> - comments |
| 39 | +> - recommendations |
| 40 | +> - nutrition data |
| 41 | +> |
| 42 | +> But an MVP could be: |
| 43 | +> |
| 44 | +> - a list of recipes, |
| 45 | +> - step-by-step instructions, |
| 46 | +> - one image per recipe. |
| 47 | +> |
| 48 | +> A user can already cook a dish. |
| 49 | +> Value is delivered — the product is validated. |
| 50 | +
|
| 51 | +### Sprint & Planning |
| 52 | + |
| 53 | +#### Sprint |
| 54 | + |
| 55 | +A short, fixed period (usually 1–2 weeks) where the team focuses on delivering a specific, working increment of the product. |
| 56 | + |
| 57 | +#### Sprint Goal |
| 58 | + |
| 59 | +A clear answer to: |
| 60 | +What valuable outcome do we want to deliver by the end of this sprint? |
| 61 | + |
| 62 | +> Example: |
| 63 | +> |
| 64 | +> "The user should be able to add tasks to a list." |
| 65 | +
|
| 66 | +#### Sprint Planning |
| 67 | + |
| 68 | +Planning consists of three core parts: |
| 69 | + |
| 70 | +1. Define the Sprint Goal. |
| 71 | +2. Select the tasks that support that goal. |
| 72 | +3. Estimate and confirm what the team can realistically complete. |
| 73 | + |
| 74 | +#### Important |
| 75 | + |
| 76 | +Sprint Planning is collaborative. |
| 77 | +Tasks are not assigned top-down — the team decides how to achieve the Sprint Goal. |
| 78 | + |
| 79 | +### Code Review |
| 80 | + |
| 81 | +#### Why it matters |
| 82 | + |
| 83 | +- Improves code quality |
| 84 | +- Reduces bugs |
| 85 | +- Shares knowledge within the team |
| 86 | +- Creates consistent standards |
| 87 | + |
| 88 | +#### What makes a good Pull Request |
| 89 | + |
| 90 | +- Small — easy to read and review |
| 91 | +- Atomic — solves one task, not many at once |
| 92 | +- Clear — understandable naming and structure |
| 93 | + |
| 94 | +#### Common pitfalls |
| 95 | + |
| 96 | +- Huge PRs that are difficult to review |
| 97 | +- Missing or unclear descriptions |
| 98 | +- Unrelated changes mixed together |
| 99 | +- Ignoring review comments or resolving them without applying the changes |
| 100 | + |
| 101 | +#### Your responsibility |
| 102 | + |
| 103 | +Even as a junior developer, you must be able to: |
| 104 | + |
| 105 | +- open PRs, |
| 106 | +- request reviews, |
| 107 | +- give constructive comments, |
| 108 | +- update code based on feedback. |
| 109 | + |
| 110 | +> **Example** |
| 111 | +> |
| 112 | +> A developer decides to introduce a new third-party library to improve a component. |
| 113 | +> During review, teammates raise concerns: |
| 114 | +> |
| 115 | +> - the library is incompatible with the existing build setup, |
| 116 | +> - it significantly increases bundle size, |
| 117 | +> - it will require refactoring shared components. |
| 118 | +> |
| 119 | +> The developer ignores the comments and merges the PR. |
| 120 | +> |
| 121 | +> What happens next: |
| 122 | +> |
| 123 | +> - The project stops building for the entire team. |
| 124 | +> - CI pipeline fails on every branch. |
| 125 | +> - Developers spend hours reverting and repairing the codebase. |
| 126 | +> - The sprint plan collapses. |
| 127 | +> - Trust in the process drops. |
| 128 | +> - Overall team productivity declines. |
| 129 | +> |
| 130 | +> Conclusion: |
| 131 | +> Code review is not a formality. It protects the team, the product, and the development flow. |
| 132 | +
|
| 133 | +## Key idea |
| 134 | + |
| 135 | +This module simulates real teamwork in a real development cycle. |
| 136 | +Preparation is needed so we spend the session building, planning, syncing, and reviewing — not learning the theory. |
0 commit comments