Home Search AA
Number of visits:
5608
 
STUDENTS' PROJECTS

Distributed student projects

 
Development of concrete project tasks in distributed international environment enables students to both apply the knowledge acquired at the lectures during the preparation part of the course and to gather experience which is only possible through encountering and overcoming challenges in a real project. Simulation of work environment similar to that in real distributed projects is not a simple task, primarily because of limitations imposed by the academic environment. Limited time period in which the instruction is to be delivered (and harmonised between different academic environments), limited resources (finances, equipment) impose some solutions which do not exist in real practice.
Successful instruction, therefore, depends on careful preparation of both the students and organisation and the projects the students will work on. The initial phases of the project (gathering requests, analysis and definition of the project) have to be facilitated for the students either by providing solutions or the structure of the tasks focussed on solutions designed in advance. The task of the teaching staff in the initial phases is to direct the students towards those designed solutions in order for the other phases of the project to be accomplished in the available time: in the time period until the end of the course and the amount of time that the students have at their disposal. Badly managed projects ended either in incomplete implementation or exhaustion of the students because of too much work invested into a badly defined and managed project.
 
Individual work and presentations
 
Introducing students to project work starts by assigning simple tasks focused on individual research of certain technology and their presentation of this technology to the other students in English. By doing that, the students from FER get used to two important things:
  • Quick acquisition of basic knowledge about technologies they are not familiar with
  • Presentation in front of a large number of people in English, in order to break the initial reluctance in communication
 
Student survey
 
 
Short time period available for development of student projects (7-9 weeks) conditions the use of only those technologies which the students are already familiar with or that they can, based on their existing knowledge and experience, adopt quickly. Therefore, a survey of the students’ existing knowledge is conducted at the beginning of the course in which the students grade their knowledge and motivation to work with the provided technologies (grades are numerical: 1-5 or descriptive: yes, medium and no). Data gathered in this manner is the basis for selection of projects which the students will be offered, as well as for formation of project groups for each project. Although grading the knowledge of certain technology is subjective and does not provide a realistic picture of neither individual students nor the difference in the levels of knowledge of different students, combined with the motivation grade it can be a good basis for forming of project groups. In the majority of cases the motivation grade plays an even greater role than the knowledge evaluation, under the condition that the evaluated initial level of knowledge is at least 3.
 
Student projects
 
With the beginning of joint distributed lectures student projects are presented and project teams formed most often on voluntary selection basis. An attempt is made to engage an equal number of students from both locations on individual projects, in order to emphasise the distance cooperation component. Immediately after forming the project teams, the team leaders are selected. It is with team leaders that the teaching staff works on:
  • Assigning project roles to individual team members
  • Familiarising them with the project structure, project development process, documentation and available resources
  • Submitting the project task
  • Development of the initial phases of the project (gathering the requests, analysis and project definition)
 
 Project structure
 
Management roles
 
 
The role of the product contractor is assumed by a member of the teaching staff. Their role is to define the characteristics of the products on which the project team will work. The project contractor communicates only with the project leaders with the goal to:
  • Define the demands of the project
  • Determine the project plan
  • Monitor the project
  • Provide final evaluation of the product
 
The project leader role is assumed by one of the students. Their task is to coordinate the work of the project team members, communicate with the leader of the remote team and communicate with the project contractor. In order to achieve a more efficient communication of the project leader with the contractor, the leader is selected from one of the students on the same location as the project contractor. The responsibility of the project leader is to manage the project documentation, send weekly reports to the contractor and coordinate the preparation of the project presentation. It is recommended that the project leader does not participate in the development of the project itself (programming), but they can participate in the writing of the project documentation, testing of the product and other project activities.
The role of the team leader has been introduced with the goal to better coordinate the communication between the project team members on different locations. Their task is to coordinate the team members on different locations and ensure efficient information exchange with the remote part of the team with the help of the project leader.
 
 
Other roles
 
 
 
After the phases of gathering requests, analysis and determining the system are implemented, the students determine the components of the project, form development teams according to the knowledge of students in each location and assign the roles within the project. The right identification of the components of the system that is being developed, good definition of the component interface and the distribution of components to specific teams are of extreme importance. In this phase of the project the most prominent is the need for help of teaching staff, in order to avoid wrong identification of components due to lack of experience on the part of the students, which would cause the project to fail or would cause severe problems in the coordination of the team during the development of the project. Intervention of the teaching staff is two-fold: in the project preparation phase the project task is defined by establishing clearly expressed and relatively independent components with clear interfaces, while in the planning phase students are helped by providing advice on how to distribute the components and by clear definition of interfaces and accompanying documentation.
Development team members are responsible for the development of the program product. Each team is in charge of the development of one or more components of the final product and their integration into the final product. Cooperation of the development team members with the other roles within a team is necessary for coordination with the other distance teams as well as with the other roles within their own team. Coordination in the use of resources shared between several teams, such as a system for management of the database and different versions, is of particular importance.
Documentation management: the role of at least one member of the team in every location is to coordinate and write project documentation. Documents can be written individually, but in the majority of cases they are a result of collaboration with other team/project members depending on the type of the document (technical specification of the product, testing plan etc.)
Configuration management: one member of the project team is in charge of managing configurations of the programming product (and documentation). They determine and implement the configuration management policies, coordinate the team members and react to the improper use that they detected. In the majority of cases this role comes down to administration of the CVS system.
Database management: if a database is used in the project, it is essential to assign one project team member to run the base and coordinate activities that are related to it (user management, scheme changes etc.).
Testing: at least one team member is in charge of conducting the quality testing during the development (module testing, integration testing etc.) as well as the testing of the final product. It is desireable that the tester is not in the same location in which the tested part of the poduct had been developed in order to ensure better quality and formality of communication and project documentation.
There are two approaches to distribution of work on the project components:
  • Distributed approach presupposes including students from several locations on the development of a single component of the system.
  • Centralised approach limits the participation of students to those from only one location when developing individual components of the system.
 
In addition, distributed approach presupposes a far greater need for distance communication between the team members, which prolongs the work and includes great risk of the final success of the development.
 
 
Interdependence of the projects
 
Apart from interdependence of the teams within a joint project, interdependencies between individual projects can be defined. These interdependencies most often come down to using the functionalities of one project within another project, e.g. using various exit data of one project as entry-point data in another project. However, within a very short time period of a single project, attention has to be paid by the teaching staff when defining project tasks, as well as during the coordination between the projects, in order for the projects to be able to take place in parallel without significant complications or delays.
 
Project monitoring
 
Monitoring the project is based on two mechanisms: weekly reports by the project leader and presentation of the state of the project at roughly two thirds into the time available for the project.
 
 
 
By developing a project plan, after having successfully determined the phases of analysis and definition, students provide a rough project implementation plan by activities. Weekly reports, which are the responsibility of the project leader, provide the contractor (as well as the team members) with an insight into the progress of the project, problems that were identified and how these problems could be solved. The final analysis of the project progress is given in the final project report, in which the students analyse the flow of the project, the errors that were identified and evaluate the quality of the risk assessment.
Presentation of the state of the project puts the students in a position in which they have to defend the current state of their project in front of the project contractor. In addition, all the students are requested to participate in the presentation, in order to acquire a more accurate picture of their specific roles and their degree of involvement in the project.
 
Project evaluation
 
 
 
 
 
 
 
The project grade is formed based on various parameters distributed into three basic groups:
  • Quality of the project documentation
  • Adhering to the deadlines
  • Quality of the final product
 
This puts an emphasis on the comprehensiveness of the quality of project development and implementation, and not only on the quality of the product, which is usually the only measurement of success used in project organisation of instruction.
The result of the project grade is a number of points, from 0 to (the number of project team members x 5). It is the project leader’s task to distribute the number of assigned points to different team members in order to get the grades for the individual team members. In order to prevent conflict of interests, a rule has been implemented by which the project leader is graded with the average grade of the project.
The final grade of a student is a combination of their participation in the project and the grade of the final paper in which a description and analysis of working in a distributed project is provided.