# Methodology

## **Introduction**

This is the first time we will build a software product, but how do we start? Do we create a file in Visual Studio and write the first lines of code? Do we draw and write everything like in a building plan before start coding?

Build a software product doesn't require the same specification as a building, but you will have to make some questions before start coding, like:

1. What are the requirements?
2. What budget/time/resources do we have to do it?
3. How could be the product to give an answer to those requirements?

## Software development life cycle

### Waterfall model

{% embed url="<https://en.wikipedia.org/wiki/Systems_development_life_cycle>" %}

### Agile Methodologies

{% embed url="<https://en.wikipedia.org/wiki/Agile_software_development>" %}

### SCRUM

SCRUM is an Agile Methodology

{% embed url="<https://en.wikipedia.org/wiki/Scrum_(software_development)>" %}

![](/files/-MSX27vFk4DcQgMoud7o)

Actors:

* Product Owner:&#x20;
* Development Team:&#x20;
* Scrum Master:&#x20;

Items:

* Scrum Task Board:&#x20;
* Product Backlog:
* Sprint Backlog:

Meetings:

* Sprint Planning:
* Sprint Review
* Sprint Retrospective

## **Final Project Phases**

The main work phases are:

1. Requirements Analysis & Design
2. Planning
3. Development
4. Testing
5. Presentation

To these phases we will apply SCRUM

Actors:

* Product Owner: the client or the idea's owner
* Development Team: the developers
* Scrum Master: the instructor

Items:

* Scrum Task Board: we will use Trello
* Product Backlog: column with all functionalities we would like to have in our product
* Sprint Backlog: column with all functionalities we would like to finish during a Sprint

Meetings:

* Sprint Planning:
* Sprint Review


---

# Agent Instructions: 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:

```
GET https://syllabus.migracode.org/courses/introduction-3/course-content/introduction-1/methodology.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
