­

Project Assignment 2. semester Fall 2017

Opgaven er af historiske årsager skrevet på engelsk

The task

Working in groups and using Scrum as the process model, you must develop major parts of a multi-user database application.

The project constitutes the formal basis for the exam on 2nd semester.

The constraints on your work can be summarized in a set of requirements regarding:

  1. what you have to develop (the product)
  2. how you have to work (the process)
  3. what you must hand in or demonstrate (the documentation).

Product requirements

The case you work with is the Fog-case, which was presented by Fog. Further documentation can be found in the project folder on github.

You must develop and (partly) test a system that meets (parts of) the needs of the customer.

Note that the requirements may be subject to changes and “clarifications” during the project period.

The solution must respect the following set of technical and design related constraints:

  1. It must use a MySQL 5.7 database.
  2. The design must reflect a logical multilayer architecture running on a Java server (Tomcat).
  3. Your application must use both plain java classes, servlets and JSP’s.
  4. The web page must be usable in either Chrome or Firefox.
  5. The developed application must be deployed in the cloud (e.g. digital ocean).
  6. The source code must be available in a github repository.
  7. The Javadoc should be available online put link on front page of reports.

Process requirements – in short

The project covers a number of Scrum sprints. Planning these sprints must be done according to the guidelines in Scrum. You are the Scrum Team and the teachers will act as Product Owner, but you will be responsible for identifying and writing the stories. Note that days are set aside in the end of the project period to finish the report.

At the end of each sprint (every Friday), a sprint review will be held where you must prepare a demo of the stories implemented by the group during the sprint. Also, there will be a technical review of your implementation (every Wednesday).

During the project period you can get ad hoc guidance from the TA’s (Tuesday and Thursday).

Documentation requirements – in short

The project is documented using the extended report template. You are free to structure it as you want, but it must contain all the elements in the template.

About achieving academic goals while working on a project

Working on a project is considered a way of learning in line with conducting regular class sessions and exercises. This implies that you are expected to acquire a certain amount of new knowledge and experience regarding central topics of the 2nd semester through your personal commitment and effort during the project.

There is no final list of solutions for this type of task. Hence, do expect problems to arise to which the teachers don’t have a “quick solution”. In these situations, you are encouraged to work systematically and follow the steps:

Sprint Meetings

A number of Scrum meetings must be held during the project period. They are described below.

Sprint Planning and Review Meetings

At the start of each sprint we will hold a combined “Sprint Planning and Review Meeting” with each team. A teacher will participate and act as “Product Owner”.

The group must bring the following artifacts to the meetings

  1. Product Backlog *)
  2. Sprint Backlog
  3. Program (demo of implemented user stories)

The outcome and decisions from these meetings should be documented (in the process section of the report)

*) Because it is a school project, the team is responsible for making and updating the Product Backlog (stories, story points, how to demo descriptions). This is normally done by the Product owner.

Sprint Retrospective Meetings

The team holds its own “Retrospective Meeting” after each Sprint review meeting with the Product Owner in order to identify any possible improvements with regards to people, relationships, process and tools for the next sprint.

The outcome and decisions from these meetings should be documented (in the process section of the report)

Daily Scrum Meeting

Teams are expected to do daily Scrum meetings (max 15 min) reporting to each other.

The outcome and decisions from these meetings should be documented (in the process section of the report).

Technical Review meetings

Each team holds meetings where technical artifacts are reviewed. A teacher will participate and act as technical mentor .

The group must bring the following artifacts to the meetings

  1. Updated Domain Model
  2. E/R-diagram
  3. Source code
  4. Test cases

Final Delivery (Exam Report and Product):

The delivery must as a minimum contain the following artifacts:

Product Report

Follow the extended version of the project template

Executable software

Process Report

See the process section of the extended version of the project template

Formalities

The front page must contain class name, group number and name of each group member as well as hand-in date.

It must be clearly stated which member of the group is responsible for which part of the report and program. Every one is expected to know the whole report at the exam, but put your names on the different sections - or two if you worked on each section in pairs.

The reports must not exceed 60 standard pages (each of 2.400 characters).

You are not allowed to make changes to the main branch on github after the handin. (Which mean you are allowed to work in other branches, or fork the whole project to a different github project).

Assessment Procedure (exam)

The final delivery must be handed in electronically through WiseFlow exam system (information will be specified in later).

The exam schedule will be published shortly after hand-in.

The oral exam is a group exam. The time set aside for the group exam is computed as follows:

  1. 30 min per student
  2. 10 min per student for the presentation, though not more than 30 min total.

That mean, a 4 person group gets 2:30, 3 person get 2:00, and 2 persons get 1:20.

Each student will be given a mark that reflects the combined assessment of the final deliveries, the group presentation and the oral examination.