# Software Engineering with an Agile Development Framework/Iteration Two/Tasks

* Task
* Describe the tasks that people are carrying out
* 10 hours
* Functional Requirements
* Completed
* Discussion with client
Tasks are what happens to functional requirements when you mix them with people. For each we carry out an analysis of that task. It is important that the descriptions are from the point of view of the person, not the computer.
e.g.: if the task was to brush your teeth, then focus on the sequence of steps, the clean feeling etc, not how bendy the toothbrush is.

### Analysis checklist

| Task: | Task number and name - descriptive and concise |
| Function(s) | Function(s) being carried out relationship with other tasks |
| Viewpoint: | Which user is doing it |
| User analysis: | What are the characteristics of the users in this task e.g. Skills experience |
| Environment: | In what environment will the task be carried out; Physical - office noise lighting, Social -stress confidentiality |
| Pre-requisite knowledge: | What does the user need to know before carrying out task: may be information e.g. student ID number or skills e.g. training in SMS |
| Priority: | high/med/low |
| Frequency: | How often is this task carried out by this user group Eg Once a day, twenty times per hour |
| Duration: | How long does this task take eg 5 minutes, one hour |
| Fragmentation: | Does the task consist of several short tasks or must it be completed in one session? Describe which. |
| Independence: | Is the task dependent on other tasks or can it be carried out in isolation from other tasks? |
| Task performance criteria: | How can we measure how well the task is being carried out? From human point of view - measurable standards e.g. Size of queues, satisfaction, accuracy of results |
| Typical use: | Describe the task, what steps are carried out (bullet points) Make sure this is from the point of the user. Avoid specific reference to computer terms. |
| Variants: | List of variations on the task - user error, change mind, machine eats EFTPOS card |
| Associated tasks: | List very similar tasks by number and name same task - different user group same task - different environment |

### Worked example

| Task: | Enroll student |
| Function(s) | Function Student enrollment carried out at Customer Services, student at desk. |
| Viewpoint: | Customer Services staff member |
| User analysis: | Trained and experienced in use of SMS, confident computer user,good customer skills. |
| Environment: | Front desk reception, good lighting and layout. Could be busy, noisy, pressured for time. Dealing with confidential information at times. |
| Pre-requisite knowledge: | Student needs to be already entered in SMS (contacts task), POS complete and signed, user trained in SMS |
| Priority: | med - varies with peak times, impt to be efficient if student is waiting for enrollment. |
| Frequency: | Very frequent but varies with time of semester, time of day. 10 per hour in first week of term. |
| Duration: | 5-10 minutes |
| Fragmentation: | Several stages involved, data can be saved at any point and enrollment completed later. All data from enrollment form needs to be entered for completion. |
| Independence: | Dependent on contacts task. Can be completed at same session. |
| Task performance criteria: | Speed of processing, feedback from students, feedback from departments, backlog of enrollments not processed. Error free. |
| From human point of view - measurable standards | e.g. Size of queues, satisfaction, accuracy of results |
| Typical use: | - collect information from student - find student in SMS - enter details from enrollment form - enter details from POS form - check validation - Visa, birth certificate etc - complete enrollment - print docs for student |
| Variants: | information incomplete - no validation, student not in system, student data not matched to system data |
| Associated tasks: | enrollment - back office - student not present online enrollment process |