Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2018/2019
Scuola Scuola di Ingegneria Industriale e dell'Informazione
Cfu 5.00 Tipo insegnamento Monodisciplinare
Docenti: Titolare (Co-titolari) Mirandola Raffaela

Corso di Studi Codice Piano di Studio preventivamente approvato Da (compreso) A (escluso) Insegnamento

Obiettivi dell'insegnamento

DSD stands for Distributed Software Development – software development with people distributed in different locations. Locations range from across a street to different countries and time zones. Distributed software development is also known as “Global Software Development” and “Virtual Organizations”. The course will give students an insight in complexity of distributed software development. The students will develop a real software project, proposed by an external customer, working in a distributed team. Teams will be supervised by the course instructors. DSD is a joint course between:

  • University of Zagreb, Croatia (FER)
  • Mälardalen University, Västerås, Sweden (MDH)
  • Politecnico di Milano, Italy (POLIMI)

Risultati di apprendimento attesi

Dublin Descriptors

Expected learning outcomes

Knowledge and understanding

Students will gain knowledge about:

  • Distributed Software Development

  • Agile development approaches and SCRUM in particular

  • Tools for software development (configuration management, communication, issue tracking, …)

  • Basic principles concerning how to give technical presentations

Applying knowledge and understanding

Given a specific project cases, students will be able to:

  • gather experience from industry professionals and external customers
  • apply SCRUM and project management approaches in a realisting distributed working environment
  • Analize requirements and define an effective solution
  • Develop and test code fulfilling the design specification document.

Making judgements

Given a relatively complex problem, students will be able to:

  • Developing self-assessment abilities
  • improving collaboration skills and responsibility
  • Applying approaches to assess the status of work, making decisions on possible recovery actions
  • Peer reviewing each other work
  • Estimating the size of the system and the resources needed for its development, identify risks and define mitigation actions


Students will learn to:

  • improving presentation skills by presenting their work in front of their colleagues and all course instructors from all three universities
  • transfering knowledge among students
  • improving skills in writing project documentation

Lifelong learning skills

  • Students will learn how to develop a realistic project
  • Students will learn how to work with other persons with different background, culture and role

Argomenti trattati
  • The course is project-based, but includes a number of lectures related to Distributed Software Engineering, best practices in project organization, cultural differences, as well as talks from our industry partners about real-life experiences in DSD. These lectures take place in the first weeks of the course. The Topics include:

    • Introduction to distributed software development
    • Distributed development projects
    • Working in a distributed development project
    • Agile software development processes
    • Documenting and presenting the project 

    The project work, which starts in parallel with the lectures, provides students with the opportunity to work in distributed groups of 6-8 team members, distributed into 2 locations. Each team carries out one complex software project, often proposed by an industry partner, going through all project phases; from detailed project description and requirements gathering from the customers, through architecture design, implementation, to testing and documenting.

    Students are exposed to all challenges present in DSD– team organization, distributed collaboration and communication in a foreign language, decision-making process, knowledge transfer, self-assessment, cultural differences, etc. All teams follow the agile development method, in particular, the SCRUM framework. They choose SCRUM Master and Product Owner from the team members and have the freedom in organizing their project work and collaboration, selecting the technologies, etc.

    An important part of the project work are also 5-6 presentations throughout the course, where students describe their project status to other teams and teaching staff. Additionally, each team is regularly supervised by two staff members, one per each site, with the purpose of helping students to work effectively in the distributed context - completely new to them - and to make the right technical and organizational choices for the project success.


Students are required to know the principles and methods of object-oriented design, the basic notions of UML, testing, and configuration management.

Modalità di valutazione

The evaluation considers more than 40 elements related to the quality of product, process, documentation and presentations.


Type of assessment


Dublin descriptor

Assessment of laboratorial artefacts

  • Assessment of the project developed by the students organized in the distributed team

1, 2, 3, 4, 5

Oral presentation

  • Assessment of the presentation of the work developed by students either individually or in groups

2, 3, 4, 5



Software utilizzato
Nessun software richiesto

Forme didattiche
Tipo Forma Didattica Ore di attività svolte in aula
Ore di studio autonome
Laboratorio Informatico
Laboratorio Sperimentale
Laboratorio Di Progetto
Totale 50:00 75:00

Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua Inglese
Disponibilità di materiale didattico/slides in lingua inglese
Possibilità di sostenere l'esame in lingua inglese
Disponibilità di supporto didattico in lingua inglese
schedaincarico v. 1.9.7 / 1.9.7
Area Servizi ICT