I am using Scrum with a small team for the first time and I have gone through many presentations and documents explaining this agile method, but I still don't know exactly what a requirement should be and what a task should be!
Say I want to develop a mobile application that tracks my moves in real time, my first thought was organizing my requirements and tasks like this:
Requirement 1: As a user I can see my position in real time on a map.
Tasks that belong to the requirement 1:
- Code the class that creates a map using the Google Map API.
- Code the geolocalisation class.
- Draw a set of icons to represent the user.
- Write the unit tests.
- etc.
Or, should we organize the tasks this way:
- Write the Unit tests.
- Code the Business logic.
- Code the UI.
Now for the requirements should we have:
- As a user I can manage my account.
Or:
- As a user I can login.
- As a user I can logout.
- As a user I can reset my password.
- etc.
Finally is there a level above the requirements in Scrum? I have seen that some people separate the feeatures and the requirements but I can't see the benefit? If features exist in Scrum, what do they represent exactly?
Thank you!