Home > Undergraduate > Professional Computing 3200 > Project > Instructions   

  CITS3200 PROFESSIONAL COMPUTING
 

 

How CITS3200 Project Will Work

Team allocation

People will be randomly allocated to teams, which will have 5 or 6 people. The mapping of people to teams will be published by 8:30am on Tuesday of Week 1, sooner if I can manage it. Once you know what team you are in, get together with the other members of your team, look at the list of Projects on Offer and make a list of your preferred projects in descending order of preference. You are more than welcome to contact people who have proposed projects your team is interested in if you need further details. One person from the team must then use a survey hosted by Qultrics, whose URL will be given to you, to enter the list of preferences. Please ensure that is done by 4pm on Thursday of Week 1. Some projects are very popular, so your list should name at least 10 projects – preferably more – in case your more preferred projects are already taken. This is particularly important now, given the significant increase in the size of the class, and hence the number of teams.

In listing your team's ranked list of projects, you can, if you wish, add some text with any of the project choices outlining reasons why your team should have that project, e.g. members of the team may have special expertise or previous experience in the topic area. For example, one year, a team, which was very keen on a medical tutoring system project, made a point of noting that the team included former med. students.

Project Selection

A project will be assigned to each team. There is no guarantee that top preferences will be met, but every effort will be made to maximise overall satistifaction based on the lists you supply, together with any additional text. Project allocations will be announced by Friday 1pm. Once assigned, a Team can swap a project with another Team, if they are willing. Please inform me of the swap. The main thing is that you should contact the client to introduce yourselves, set up times for meetings, etc, and generally get to work. Note that Microsoft Teams can be used to set up meetings with people outside UWA.

It is possible that, after work has begun on the project, it becomes clear that the project is not turning out as you expect. Your Team may request a new project, but it has to be one from the list that is not being done by another team (some projects can be done by two Teams), and really needs to happen as soon as possible as the project still needs to fit in to the available semester.

A Note about IP

By default, students own any Intellectual Property they create – you are not employees – so while project proposers will have IP invested in projects (and there may be third party IP), students' IP interests must also be respected. Each project (see Projects on Offer) will therefore indicate which of the following IP models will be used.
  • Right of proposer and students to use and modify project outputs, but not to distribute
  • GNU General Public License ("open source")
  • Creative Commons ("open source"), typically CC BY-NC, which permits non-commercial use, adaptation and distribution of the system, but attribution of the source must be given. The license does not permit commercial use.
  • Joint exploitation of any IP that is created
  • IP to be assigned to the project proposer(s)
The IP model requested by a project's proposer may or may not be negotiable; the IP model used may, or may not, affect your team's ranking of particular projects.

Doing the Project

You should commence the project as soon as the project is allocated to you. The first deliverables for Sprint 1 are due in Week 4, so time is of the essence. The Project home-page contains full details of the deliverables and what each is worth. Here are some issues you will need to address.
  • When choosing a technology to implement your project, avoid technologies that are overly complicated, particularly if only one person in the team is familiar with the chosen technology. That is a recipe for having the expert be worked to death while everyone else is left with little to do.

  • An early hurdle will be scheduling meetings between yourselves. Fix a regular weekly meeting time and place early. You will be expected to hold at least one a week. All team members are expected to attend at least the weekly team meeting. Please be aware that your team's Project Auditor will be attending three meetings over the life of the project (see the unit timetable for details).
  • Keep minutes of each meeting – they will be assessed.
  • Make your first meeting a warm up session. Suggested goals are:

    1. Get to know each other
    2. Establish a decision-making process
    3. Set operating guidelines: attendance, timeliness, time and place, basic courtesies, breaks, interruptions, guidelines for unexpected happenings and various behaviours
    4. Elect a Project Manager for your team. It is expected that the role will be undertaken by at least 3 people over the course of the project.

  • Expect to learn new things; You are responsible for your learning, though what that will be depends on the specific project. Allocate time for learning. Secondly, you are expected to not just have the same role throughout the project. In addition to the Project Manager role mentioned above, the other roles are coder, documenter and tester. Every Team member is expected to have made a solid contribution (with evidence) in at least 2 roles.

    You can find potentially useful tools on the Resources page.

  • Work out a plan and keep revising it
  • Learn to motivate each other, and develop strategies for developing appropriate trust in each other's ability meet deadlines, and for dealing with situations where deadlines have not been met.
  • Consult your Client regularly - keeping this person informed is a crucial part of the Agile methodology. Expect the Client's requirements to change. You may decide to only send one or two people to meetings with the Client, rather than the whole team, and those people may change depending on the input that is being sought.
  • You are expected to log every contribution to the project on GitHub. That is, not just your contributions to project code, but also all documentation and testing logs.

  • Keep a record of the time spent on the project each week in your own Booked Hours spreadsheet, and send your data to the Project Manager at the end of the week, so the data can be added to the Team's time-sheet. The time-sheet and a zip or tar file of the Booked Hours spreadsheet will be sent to the Project Supervisor, and will form part of your assessment. Do include all the time spent on the project (to the nearest quarter hour), including formal meetings, but don't pad, as the claimed hours will be calibrated against the outputs that have been uploaded to GitHub.

The Deliverables

There are both Team and personal deliverables that are due at the end of each Sprint. These are discussed on the project page, but, in summary, the deliverables are both project related (and there is a group mark, which, in accordance with University policy, must be the same for all team members), and an individual mark, which will be based on reflections you submit, your contribution to the project, and a Professionalism mark from your Project Supervisor.

Mentors

Mentoring is being performed by members of staff from Microsoft, Thales, UWA IT and other industrial partners. Mentors provide general advice and feedback on process and team issues. The project schedule lists the weeks in which mentoring weeks should occur. It is up to each team to contact your mentor in good time to arrange the meeting.

These meetings are mandatory (and very helpful).

Missed meetings (other through illness or misadventure) will result in lowered scores for Professionalism.

Computing Resources and Labs

The School's Linux or Windows systems may be used in the labs on the third floor. There are no scheduled labs or lab sheets; rather machines may be used on a first come first served basis outside booked periods.

Project Expectations

It is expected that:
  • The role of Project/Team Manager will be rotated between Team members, so at least 3 Team members will have the opportunity to act in that capacity. In general, it is expected that each team member will have at least two roles across the project.
  • To enable Team communications, CITS3200 will be covered by a Microsoft Team, including OneDrive, with each project Team having a private directory on OneDrive. Teams will meet at least once per week, and those meetings will be documented via minutes. (Of course, this does not preclude many informal interactions, e.g. using Microsoft Teams, Slack, Discord, or Jitsi). Certain Team meetings, on weeks, denoted by a green ball on the timetable, will also include the Team Auditor.
  • There will be 4 additional Team meetings, in weeks indicated on the timetable, with Team Mentors from industry.
  • Team members will each record the time they personally spend on project activities, including Team meetings and Mentor meetings.
  • While there is generally considerable flexibility about when meetings are organised, all Team meetings are compulsory, particularly those involving project Mentors or Auditors.
  • As denoted on the timetable, Teams are expected to provide each week, on Friday (but certainly no later than Sunday evening), the following documents:
    • A set of Minutes for each Team meeting held that week (PDF or MS-Word doc),
    • A time-sheet summarising the work that has gone on that week (Spreadsheet) based on Booked_hours spreadsheets from Team members, and
    • A tar or zip file containing the Booked_hours spreadsheet submitted by EACH Team member.
    (Minutes, TimeSheets and the Booked Hours will be discussed in the Introduction lecture. Also see note on the Project Timetable page. The Project page has templates for the Timesheets, Minutes and Booked Hours.)

    The three items are to be emailed to the Project Auditors directly with a copy of each to be deposited in your Team's OneDrive directory. Please observe the file naming convention mentioned on the Project page.

  • Finally, while School and University policy governs the major deliverables (and in particular late penalties), the following will apply to the weekly deliverables.
    • If a group's Minutes (both weekly meetings and Mentor meetings), Booked-hours spreadsheets file or Timesheets are later than Sunday evening, the Professionalism mark for the responsible Team Manager will be penalised.
    • By the same token, it is not up to the Team Manager to chase Booked Hours spreadsheets from Team members, so if these are late, then the Team Manager is within his/her rights to submit that week's data without the missing person's hours, and that person's Professionalism mark will be penalised.
    • The weeks when there will be meetings with mentors are known well in advance. Therefore, there is no excuse other than illness or misadventure, or the unavailability of the mentor, for you not to attend a mentor meeting, so there will be penalty against the Professionalism mark for each Mentor meeting missed.

Read This (it's worth it)

A couple years ago I asked a former CITS3200 Professional Computing student to write about his experience in a project that failed. What he created was an excellent piece on signs of failure in a team project, and the nature of leadership in such a project. Well worth reading and learning from.


Department of Computer Science & Software Engineering
The University of Western Australia
Last modified: 16 June 2021
Modified By: Michael Wise
UWA