Official course description:
Full info last published 15/11-19

Second Year Project: Software Development in Large Teams

Course info
Language:
English
ECTS points:
7.5
Course code:
BSANSSG1KU
Participants max:
130
Offered to guest students:
yes
Offered as a single subject:
yes
Price (single subject):
10625 DKK (incl. vat)
Programme
Level:
Bachelor
Programme:
Bachelor of Science in Software Development
Staff
Course manager
Associate Professor
Course semester
Semester
Forår 2020
Start
27 January 2020
End
31 August 2020
Exam
Exam type
ordinær
Internal/External
intern censur
Grade Scale
7-trinsskala
Exam Language
GB
Abstract
The goal of this second year project is that the student take actively part in building working software according to the requirements of an industrial customer in teams of 7-9 students using the Scrum method. With the background of previous courses the students should plan, structure and execute the project, including integration of code made by others, analysis and optimisation of the program. The student should furthermore analyse and comment on another project and provide feedback.
Description

During this course the students apply in practice all the software engineering skill they have learned during their earlier courses and learn new technologies. The students work for the industrial customers on industrially relevant topics provided by the customers, thus they will experience how it is to work for a real industrial project in a setting as realistic as possible.

Industrial projects
The projects will be offered by industrial customers. All teams will work with a different project for a different customer. The course will provide the customers bringing in suitable projects. 

Agile - Scrum.
The student teams will learn to apply the Scrum method, one of the agile methods, in practice by performing several short iterations in their project. The basic elements of Scrum are: face-to-face work in small teams and in close collaboration with the customer, work prioritized in the backlog, short 1-4 week iterations, sprint planning meetings, sprint reviews, sprint retrospectives and daily Scrum meetings. Each team will have a Scrum Master (a master level student) and a coach (from the industry) to support them while learning Scrum in practice. 

New technologies
The teams will work with different programming languages and different technologies depending on the chosen project. Each team will choose the technologies used in collaboration with their customer. Learning new technologies is a must. 

Software engineering
The student teams will apply the software engineering skills they have learned during earlier courses in practice. They will analyze several software engineering related problems and learn to solve them. 

Team work
The main part of the course work will take place in teams of 7-9 students. Thus, learning to organize teamwork in practice, to analyze faced teamwork related problems, to participate in implementing jointly decided solutions and to reflect over them is needed. 

Formal prerequisites
  • You are enrolled on the BSc study program in software development.
  • You know the basics of software engineering, e.g., different software process models and related activities, corresponding to what is covered in the BSc course Analysis, Design and Software Architecture.
  • You are able to apply some programming language to construct fully functional software programs, corresponding, e.g., to what is covered in the BSc course Analysis, Design and Software Architecture. 
  • You are aware of the basic techniques for planning and conducting a software development project in a small team of 5-7 students.
Intended learning outcomes

After the course, the student should be able to:

  • Plan, structure, and execute a large-scale software development project as part of a team in collaboration with an industrial customer
  • Select and apply a suitable software engineering method or practice to a given situation
  • Characterize, analyze and solve software engineering problems
  • Apply the Scrum method in practice and reflect over its’ usage
  • Plan, organize and conduct work in a software engineering team and solve teamwork related issues
  • Analyze, select and apply new technologies / programming languages
  • Plan, organize and conduct collaboration with an industrial customer
Learning activities

Students take active part in a software development team working on a large project from the ground up. The project is by design too large to be created by two or three people in the time allotted and the students are required to efficiently split the work up amongst themselves, taking individual responsibility for a substantial part of the project by themselves, using the techniques taught in System Development and Project Organisation. Students work actively with an external customer and collaboratively with him/her build and manage the product backlog, plan the work in sprint planning meetings and review the work done in the end of each sprint.

Mandatory activities
There are 3 mandatory activities:
  1.  Active participation in one 4-hour Scrum simulation with your own team: to practice Scrum before the projects start and writing a learning diary about the experience.
  2.  Active participation in Review 1 meeting with your own team and delivering the required materials for the review: an individual learning diary and a team delivery.
  3. Active participation in Review 2 meeting with your own team and delivering the required materials for the review: an individual learning diary and a team delivery.

The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.

Course literature

The course material will consist of articles.

Student Activity Budget
Estimated distribution of learning activities for the typical student
  • Preparation for lectures and exercises: 4%
  • Lectures: 1%
  • Exercises: 8%
  • Assignments: 3%
  • Project work, supervision included: 80%
  • Exam with preparation: 4%
Ordinary exam
Exam type:
D: Submission of written work with following oral, internal (7-trinsskala)
Exam variation:
D2G: Submission of written work for groups with following oral exam supplemented by the work submitted.
Exam submisson description:
Submission includes joint group project submission and individual learning diaries.
Group project submission includes:
Slides of your review presentation
Link to version control (git hub)
Link to Product backlog and Sprint Backlog (or screen shots)
Process overview document
Technical overview document

Group submission:
Group and individual
  • Group size: 8
Exam duration per student for the oral exam:
15 minutes
Group exam form:
Group exam


reexam
Exam type:

Exam variation: