Add dl_setup wiki authored by Federico Izzo's avatar Federico Izzo
Agile is widely used in industry IT projects. It helps a team or a single developer to write more understandable code, keeping all information related to the project well organized.
## DSIP approach
DSIP aims to use this approach to enforce better project documentation. Moreover, this could also speed up the process of writing work progresses. The three main components are:
* User Story: description of a project requirement;
* Epic: groups of related users stories;
* RFC: project description which contains general-purpose information.
All the Agile-related documentation should be provided using GitLab issues: to simplify the process, some issue templates are provided too. It is possible to instantiate an issue from a template during its creation.
### User story
A user story is a description of a project requirement described by the user perspective. For example:
*As a developer I want to split the data into training, validation, and test datasets.*
The user story is defined in a way that allows understanding three main concepts:
* the problem the developer wants to solve;
* the proposed solution;
* a little brief about the solution implementation.
The developer can simply view a user story as an abstraction tool that everybody can read to understand how a particular problem is approached. It includes mainly:
* summary;
* long description;
TODO - write an example
### Epic
An epic is a collection of several user stories related to a specific task. It includes mainly:
* summary;
* long description;
* collection of linked user stories (using #issue_numbers syntax).
TODO - write an example
### RFC
The RFC consists of a particular document that collects the general pieces of information about a project. It includes mainly:
* project description;
* proposed solutions;
* implementation choices;
* constraints;
* timeline scheduling;
* additional notes.
TODO - write an example