CS-C2130 - Software Project 1, Lecture, 4.9.2024-20.11.2024
This course space end date is set to 20.11.2024 Search Courses: CS-C2130
Client's Manual
Introduction
In this course teams of about seven students carry out software development projects from October to early May. The course is an opportunity to have a software project made, and simultaneously provide an educational, real-life project experience for the students.
Most of the students are 3rd year computer science B.Sc students. They are typically familiar with Scala, Python, Javascript and C/C++. In each team, a Software and Service Engineering M.Sc. student acts as the Scrum Master.
Each student allocates about 200 hours for the project. The effort is spent mainly to the project work including learning new technologies, but some effort is required for educational purposes.
Proposing a project to the course
Anyone (companies, research groups) can act as a Client and submit a project proposal by We 28.8.2024 to the teacher Jari Vanhanen (firstname.lastname@aalto.fi). Send a web link, or a PDF-file. Do not include confidential material because the proposals will be published on the course web page.
Requirements for the projects :
- The Client must prepare the project relatively well. It should be possible to identify the most important system requirements during the first weeks of the
project. The Client must ensure that the are no insurmountable risks related to the required software or hardware components. Very loosely specified projects are not suitable for this course.
- The project must cover all typical software development project activities, i.e. analysis, design, programming, testing and delivery. Additional activities, such as technology/tool evaluations or content production, should not take a large role in the project.
- The Client must be able to adjust the scope of the project during the project to suit the size and skills of the team, because the project effort is fixed.
- The project documentation must be public so that it can be published on the course web page during the course. The source code and technical documentation may remain unpublished, but the course personnel needs to be able to review them.
- The team must use the Scrum process framework with some modifications set by the course (see Project Manual).
In order to provide a suitable project for each team, we will accept more proposals than there are teams. The students will choose which projects will be started. An interesting and well-prepared proposal, a committed Client, and any facilities provided increase the probability of getting a team. For more information see the previous projects.
Getting a project team
The students form teams based on e.g. similar topic preferences. Each team will choose 3-5 favorite Clients based on the project proposals. A few days before the Pitches & meetings session, the teams will send their team CVs to their favorite Clients, and book 10-minute meetings to be held during the session.
The CVs help each Client make a tentative prioritization of the teams. The Clients can decide to meet only with about four best candidates, if they get more than four CVs. In that case the Client must inform the rest of the teams so that they can cancel their meeting reservation. The Clients are not allowed to "hire" any team before meeting all the best candidates in the Pitches & meetings session (unless some team members were already listed in the project proposal).
In the Pitches & meetings session on We 9.10.2024 16:15 - 18:00 each Client will have two minutes for introducing themselves and for giving a very short pitch about their topic to all the students. The pitch is an opportunity to get some additional teams to get interested in the topic, if the Client did not get many CVs before the session.
After
the last pitch, each student team will discuss 10 minutes with each of their favorite Clients. By the next morning, each team and each Client will separately send the teacher their prioritized list of clients or teams they would like to work with. Based on these prioritizations, the teacher will pair the teams and Clients.
Responsibilities of the Client
The workload for the Client is usually a few hours a week, with more emphasis on the beginning of the project.
- The Client must act as the Product Owner as defined in the Scrum Guide and participate to the Sprint Plannings and Sprint Reviews. There will be at least six Sprints.
- The Client must also participate at least to creating the Product Vision, to three Project Reviews with the course personnel, and perform acceptance testing.
- The Client must evaluate the student team giving points and concrete feedback in three Project Reviews according to the Evaluation form. In the end of the review, the Client discusses the evaluation privately with the course personnel, who ensure fair evaluation.
- The Client must provide necessary SW/HW unless it is already provided by Aalto University. Aalto IT provides the students with, e.g., many computer classes (Windows, Linux, Mac).
- The Client may get more results, if she can help the students with the selected technologies. The course personnel does not provide help with the technologies.
- The Client can also promise other support to the team, e.g., a work room at their office, a development server, any necessary devices, arranging a project kick-off with pizzas etc.
Legal issues
Aalto University has created a contract template that covers e.g. intellectual property rights (IPR) and confidentiality. The contract must be signed by the Client, student team members and Aalto. The students cannot be forced to sign any additional contracts. If some additional contracts are required for some very good reason, they must be mentioned in the proposal, and discussed with the students before choosing
the team.
The Client must mention in the project proposal the chosen IPR model. There are two alternatives:
- The results are published under an open source license selected by the Client, or
- The Client gets all IPRs to the results
When the project begins, the Client must
- Fill the contact information, project name, and the correct IPR option to the template.
- Use the Client's digital signature system to collect all signatures OR give the signed contract to the student team (as a PDF), whose members will sign and send it to Jari Vanhanen (as a PDF).
Clients, who get a team, are required to pay a fee to Aalto University. The fee per topic is:
- 0€, if the client is from the Dept. of Computer Science,
- 1500€, if the client is from another unit of Aalto University,
- 3000€ (+VAT), if the client is from a company etc.