Identify the project's business goals, main domain concepts and user groups

Elicit the requirements on a high level

Deliverables

Requirements document (except details of
requirements)

Main tasks

Create a draft of the system architecture and select technologies

Study and prototype new technologies and
third party components

Set up the development environment including
a version control system

Deliverables

None

Main tasks

Start planning QA for the project

Deliverables

None

Implementation 1
phase (I1)

Main tasks

Create the sprint plans

Steer the project

Update the risk log

Retrospective meeting

Project review

Deliverables

Project plan

Progress report

Main tasks

Elicit and represent the
requirements to be implemented in each sprint

Deliverables

Requirements document

Main tasks

Design and document the system architecture

Design, code, test, deliver. Focus in the
core architecture and most important requirements

Deliverables

Technical specification (at least the
general architecture)

Main tasks

Create the QA plan during the first sprint

Concretize the QA plan in the sprint plans

Implement QA practices

Deliverables

QA plan

Test cases and test log

Implementation 2
phase (I2)

Main tasks

Create the sprint plans

Steer the project

Retrospective meeting

Create the final report

Project review

Deliverables

Project plan

Project review slides

Final report

Main tasks

Elicit and represent the
requirements to be implemented in each sprint

Deliverables

Requirements document

Main tasks

Create a user's manual

Revise the technical specification

Design, code, test, deliver

Training, and installation or deployment services

Deliverables

Technical specification

User's manual

Main tasks

Concretize the QA plan in the sprint plans

Implement QA practices

Peer testing

Allocate buffer time for acceptance testing
and resolving bugs

Deliverables

31.3.2013 13:00

Peer test materials to peer group

3.4.2013 13:00

Peer test results to peer group

QA plan

Test cases and test log

Peer test session charters with logs (own
and peer group's)

These guidelines establish the ground rules for developing software on this course.Mandatory requirements are written in the Guidelines using bold style.Mandatory deliverables are listed in the table
above.

Mandatory requirements are included due to

their importance for lowering the risk of project failures

their educational value

their role in increasing visibility to the project for the various stakeholders

There is a varying level of freedom in fulfilling each of the requirements. Most of the included requirements are crucial for improving the success rate of the projects. However, some of the requirements are included as educational exercises. Their cost/benefit ratio in a small, low-risk project is not necessarily very high, but often they have at least some value to the project in addition to the educational value.

The group can propose to the mentor ignoring requirements that do not have any value for the project and whose application would be too artificial to have any educational value.