> For the complete documentation index, see [llms.txt](https://syllabus.migracode.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://syllabus.migracode.org/courses/introduction-3/course-content/introduction-1/methodology.md).

# 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
