What is GiPHouse?

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.

Software Engineering NWI-IBI001

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:

  • agile software development
  • Scrum methodology
  • working together as a team in a professional context
  • developing high-quality code, using design principles and software patterns
  • systematic testing techniques

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.

System Development Management NWI-IMC021

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:

  • agile software development
  • Scrum methodology
  • pro-active communication with different stakeholders
  • managing project risks
  • showing leadership and guarding team synergy
  • using modern project management tools

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 project

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.

GiPHouse structure

Within GiPHouse we simulate an actual corporate experience. We will try to explain the structure of the organization below

Supervisory Board (teachers)

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.

Executive Board (directors)

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.

  • CEO: responsible for coordination within the executive board.
  • Secretary: responsible for all communication and archiving.
  • Facilities: responsible for any practical matters, like managing building access, project room management or organizing small GiPHouse events.
  • IT: manages the GiPHouse's technical infrastructure.
  • Sales: does project acquisition and maintains contact with customers in the period the project is not actually running.
  • Human resources: team composition and interventions in case of issues.
  • Quality assurance: assesses, evaluates and reports progress of project teams. Team managers primarily report to their assigned QA director.
Managers (SDM students)

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 (SE students)

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.

Organogram

Issues

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.

Software Development Entrepreneurship NWI-IMI004

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:

  • doing market research and pursuing outreach
  • setting up a business model and creating a business plan
  • developing a realistic software product that is ready for market
The estimated workload for this course is 168 hours (6 ec).