GiPHouse is a virtual software company of the Radboud University Nijmegen, which has already been active for more than 25 years. GiPHouse is entirely run by students and is divided into two parts, which run independently from each other in the spring and fall semesters.
For students, working for GiPHouse is a perfect opportunity to get some real-life experience as a software developer, as a project manager or with creating a start-up. Besides developing the software, we also expect students to spend time on team meetings, meetings with their customers, writing documentation and other important project-related work. Collaboration in a professional context is therefore a key-aspect of the GiPHouse courses.
During every first half of the calendar year (spring semester), GiPHouse develops software for paying customers. These projects are completely developed by students, who get study credits for successfully participating in the courses that are linked to GiPHouse. Working on these projects is the main focus of the courses. Project teams usually consist of six to eight engineers (bachelor students) and one to three project managers (master students).
During the second half of the calendar year (fall semester), a master's course is given about beginning a start-up company. In this course, students are tasked with developing software around a central theme. This software will hopefully be the start of a real start-up, which could go on even after the course is finished.
The Software Engineering (SE) course is a course for bachelor students of the Computing Science programme. In this course, most students will get their real-life experience as a software developer, working for an actual customer. During the course, students work in teams of about 6 to 8 software engineers, and two or three project managers. Learning objectives are:
The estimated workload for this course is 168 hours (6 ec). This includes lectures, project meetings, meetings with the customer, and working on the project itself.
The System Development Management (SDM) course is a course for master's students of the Information Sciences programme. In this course, students learn how to be a manager of a software development project team, working for an actual customer. Teams consist of two or three managers, leading about 6 to 8 software engineers. Learning objectives are:
The estimated workload for this course is 168 hours (6 ec). This includes lectures, project meetings, meetings with the customer, and working on the project itself.
After course registration, students receive project descriptions for all projects of the year. Those descriptions contain a small summary of the client, the idea of the project and possibly any specific skills that can be relevant for the project. Students can express their preferences for projects they want to work on, as well as team members they want to collaborate with. Based on these preferences, students are assigned to teams.
At the first kick-off day of the course, students will meet their teams and have a first meeting with their client. Then a brief start-up period follows in which teams can get their background knowledge up to par and try to get a clearer overview of what the project is about. The students are usually free to choose their favourite programming language and platform, baring client wishes.
After this, teams follow scrum methodology and work in sprints, where each sprint finishes with a working product. Besides software development, students also give intermediate presentations and write a project plan, sprint plans and reviews, et cetera.
At the end of the semester, the customer has to judge the quality of the product and the team-customer collaboration. The final grade for the course is an average of the customer judgement and a judgement of the teachers that involves both the quality of the end-product, the intermediate documentation of the process and collaboration within the team.
Teams are expected to work physically together on-campus for at least one daypart per week (preferably more), supplement with individual, hybrid or online work for the rest of the course's workload. It is not required to work during the hours scheduled by the university.
Within GiPHouse we simulate an actual corporate experience. We will try to explain the structure of the organization below
Although the teachers do not have a concrete function within the organization, they are crucial for the courses surrounding GiPHouse. The teachers are responsible for the course material and the grading of the students.
GiPHouse is run by a board of student assistants, also called directors. They are responsible for the smooth day-to-day running of the company and it's projects. There are different roles they fulfill.
Every team has two or three managers. The managers are responsible for the documentation for the directors, ensuring the expectations of the clients are managed correctly and steering the agile development process.
Engineers are responsible for the actual code that is delivered at the end of the project. Aside from creating the features the client desires, they are also responsible for documentation and the testing of the code.
For employees, the general approach to take when a problem arises is to contact the person that is one layer within the organization above you. For engineers, this means you should initially always try to contact your manager first. If that does not work out, you can contact the executive board. If the problem is not solved by the executive board, you can contact the teachers.
In the Software Development Entrepreneurship (SDE) course, students will be starting their own small business around a software product. Students work in small teams of about 3 to 5 students. Learning objectives are: