2021-2022 / PROJ0010-1

Software project engineering and management

Duration

20h Th, 280h Proj.

Number of credits

 Master of Science (MSc) in Computer Science and Engineering10 crédits 
 Master of Science (MSc) in Computer Science and Engineering (double diplômation avec HEC)10 crédits 
 Master of Science (MSc) in Computer Science10 crédits 
 Master of Science (MSc) in Computer Science (double diplômation avec HEC)10 crédits 

Lecturer

Benoît Donnet, Bernard Hauzeur, Guy Leduc, Laurent Mathy

Language(s) of instruction

English language

Organisation and examination

All year long, with partial in January

Schedule

Schedule online

Units courses prerequisite and corequisite

Prerequisite or corequisite units are presented within each program

Learning unit contents

In this course, teams of 4-6 students will carry out a substantial integrated software project, which mainly builds on the knowledge, know-how and skills acquired during their bachelor studies (i.e., programming, software engineering, data bases, operating systems and networks), with the goal of consolidating and integrating them, while achieving a realistic project for real users. The project will include several sprints during which a usable and potentially releasable product increment will be created. Seminars and continuous project reviews are organized to teach fundamentals in project design, management, tooling, as well as team coordination, and communication.

Learning outcomes of the learning unit

The project aims at developing the students' ability to carry out a realistic, complex and collaborative software project from an initial and incompletely defined idea throughout to the operational deployment of a working application.
The students will learn and actively practice new disciplines like requirements engineering, architecture, packaging, project management, team leadership, reporting, oral presentation, and more, thereby improving their autonomy and ability to work efficiently in a team, and their communication and writing skills.

Prerequisite knowledge and skills

A bachelor degree in computer science or in engineering with a major in computer science.

Planned learning activities and teaching methods

  • Seminars on fundamentals in project management with a focus on Agile methodologies;
  • Seminars on software engineering (modelling, testing, source code management, CI/CD);
  • Seminars on communication skills (oral and written);
  • Sessions on team dynamics;
  • 5 project reviews with oral presentations;
  • Feedback on technical progress and project management;
  • Creation of a project's wiki, with the whole project documentation, meeting minutes, intermediate reports, presentations, and procedures;
  • Production of a final presentation / report;
  • Final demonstration of the project with handover to the client.

Mode of delivery (face to face, distance learning, hybrid learning)

Face-to-face course


Additional information:

  • Seminars;
  • Monthly review meetings;
  • The project is mainly carried out remotely.

Recommended or required readings

Slides used during the seminars do provide guidelines and tips. Every project is different, every team is different; henceforth, students are expected to extensively search, collect, and equip themselves with all necessary knowledge and resources for their specific project.

Assessment methods and criteria

Written work / report

Continuous assessment


Additional information:

No exam in June.
The evaluation will be based on:

  • the intermediate review meetings (progress achieved, quality of project management) (40% overall, i.e., 10% per review meeting),
  • the project completion report (10%),
  • the delivered software (35%),
  • the final project defence and demonstration (15%).
Requirements will be published for the various reports (product vision, product backlog, sprint backlog, project budget, activity reports - past and planned, problems encountered and solutions, risks and mitigation plans, lessons learned) and expected milestones in the form of template wiki pages.  Students are expected to describe their project, their actual organization and the technical solutions with appropriate justifications about design choices.
The project defence consists of an oral presentation and a live demonstration of the system, followed by a question/answer session. All products of the project (doc, code, procedures, scripts, data, etc.) shall be packaged is a form suitable for a formal handover to the client.
The final grade takes into account the amount and quality of the achievements, the quality of the code, docs, reports, and oral presentations, as well as the pertinence of answers to questions during milestone reviews.
Typically, grades are assigned to the whole group.  However, in some particular cases (e.g., when there are evidences that a member of a group has not participated enough in the project), the grade may be assigned individually, reflecting the personal involvement of each member of a group. 
Resit
In case of issue in June, a resit is possible.  Students will have to improve their software based on a requirements sheet.  Students will have to submit the updated code and a written report describing the improvements and individual contributions.  A review (with software demo) will be organized in August/September.

Work placement(s)

Organizational remarks

  • Teams comprise +/- 5 students, formed as much as possible on formulated project preferences, while ensuring a diversity of student profiles in each group (i.e. computer scientists and engineers).
  • Presence at the seminars and intermediate reviews is mandatory.
  • The project starts early during the 1st quarter.
  • The final report must be submitted by mid-May.
  • Final defence and demonstration also takes place mid-May.
Formal course materials (archived lectures, project list) and administrative communication are hosted on the eCampus web site : PROJ0010-A-a : Software project engineering and management 20h Th, 280h Proj.
Additional resources and facilities notably relating to the execution of software projects are available at the course's dedicated wiki.

Contacts

(please, favor MS-Teams group chat and channels that will be created per project to communicate with the educational team)
Coordinators:

  • Benoit Donnet (Benoit.Donnet@uliege.be)
  • Bernard Hauzeur (B.Hauzeur@uliege.be)
  • Guy Leduc (Guy.Leduc@uliege.be)
  • Laurent Mathy (laurent.mathy@uliege.be)
Teaching assistant:
  • Benoît Mattheus (benoit.mattheus@uliege.be) 

Items online

Web page
The course web page contains PDF of the seminar slides, projects subjects, Sprints/Reviews details, the Course agenda.  In addition, students can interact with the Pedagogical Team through the Discusson Forum.

wiki
additional materials