diff --git a/lectures/revealjs/05-groupwork-gitlab.adoc b/lectures/revealjs/05-groupwork-gitlab.adoc new file mode 100644 index 0000000000000000000000000000000000000000..12196052355ba680fa7f9074ce1b4f2ed202712e --- /dev/null +++ b/lectures/revealjs/05-groupwork-gitlab.adoc @@ -0,0 +1,216 @@ += GitLab +:customcss: slides.css +:icons: font +:includedir: includes/ +:LECTURE_TOPIC: Groups and groupwork +:LECTURE_NO: 5th lecture + +include::{includedir}header.adoc[] + + +[.smaller-80][.center-paragraph] +IT1901 Fall 2023 - {LECTURE_NO} + +== Overview + +- Administrative issues +- Group contract +- 1st group deliverable +- Gitlab +- Summary + + +[background-color = "#124990"] +[color = "#fff6d5"] +== Administrative issues + + +== Groups (1) + +- Groups have been assigned a TA +- We have created the groups in Blackboard +- We have added the members to each group +- Each group has assigned a TA (info in BlackBoard) +- We will create the gitlab groups ASAP + +== Groups (2) + +- Check in BlackBoard to see your group +- If you are not allocated contact talha.m.alam@ntnu.no + + +== Reference group (1) + +- Special thanks to the reference group volunteers for their interest in the course. +- we selected a representative mix in the order of volunteering +- you can see the contact info in Blackboard +- questions regarding the course organization and proposals for improvements should be communicated to the reference group + +== Reference group (2) + +- Trygve Eriksen tryger@stud.ntnu.no (Datateknologi) +- Magnus Andreas Giverin magnusgi@stud.ntnu.no (Datateknologi) +- Noah Lund Syrdal noahls@stud.ntnu.no (Informatikk) +- Caroline Wie carolwie@stud.ntnu.no (Informatikk) +- Anine Løkken aninelok@stud.ntnu.no (Datateknologi) + + +== Nearing Deadlines + + - First individual assignment (Thursday 07.09.2023 18:00) + ** there will be a possibility to resend after the first round of feedback + - Group contract (Thursday 14.09.2022 18:00) + - First group assignment (Thursday 21.09.2022 18:00) + + +[background-color = "#124990"] +[color = "#fff6d5"] +== Group contract + +== Group contract (0) + +- contact the other members of your group +- start working on the group contract + +== Group contract (1) +- Minimum requirements for agreement: +** Presence +** Time spent +** Expectations for the individual contribution +** What happens in the event of deviations or disagreements + + +== Group contract (2) +* must be approved by the TA for the group +* signed by all group members +* and delivered by Thursday 14.09.2022 18:00 + +== Group contract (3) +- more recommended items: +** handling differences in motivation level and ambition +** what quality is expected, how defines the group something to be "done" +** distribution of time between meetings / group work / individual work +** what happens if course work needs more time than expected + +== Group contract (4) +- more recommended items: +** delays, sickness, absence - how does the group handle these +** meeting routines both for physical and virtual (agreement for time, agenda, meeting minutes etc) +** general communication tools (email, phone, im etc) and response time +** dealing as a group with deliverables and deadlines + +== Group contract (5) +- more recommended items: +** roles +** giving feedback to the others +** dealing with conflicts and disagreements +** dealing with breach of contract +** procedure to follow if the group is not able to solve conflicts / disagreements internally + + + +[background-color = "#124990"] +[color = "#fff6d5"] +== 1st group deliverable + + +== Start group work + + - finish and deliver the group contract + - discuss and select domain / aplication for group project + - discuss and agree on workflow, meetings etc + - set up your gitlab workspace and repository + - plan the sprint / iteration for the first deliverable + +== About domain selection + +- choose an app / service that you know well and select a couple of features to implement during the semester +- point is to learn by implementing these using the required architectures +- we are not looking for quantity but for quality, so just few core features will suffice + +== About domain selection (2) + +- the chosen app needs to be suitable for a cloud based service +- there must therefore be some dynamic data per user managed by the server. +- eg. a (currency) calculation will NOT fit such a project. +- one good starting point are the cases from the HCI course (MMI) + +== 3 step release plan + +- Minimal application +- Application with more features / improved quality +- Final technical – client server / REST API / more features / alternative client + +== Minimal application + +- a simple app is created with JavaFX and FXML, with relatively minimal functionality +- can save data to a file and start up again where it left off +- divided into separate modules +- good point to start could be the modules-template (from the individual exercise) + ** one can also use the todo list example as inspiration + +== Requirements (1) + + - project must be in the group repo in gitlab + - documentation for each release is placed in a separate folder + ** 1st deliverable (release)- `...groups-2023/gr23nn/gr23nn/docs/release1` + - a milestone in Gitlab should refer to the corresponding documentation and issues + +== Requirements (2) + +- project must build with Maven +- one root level README.md in the repo to describe the content +- another README.md file (use links) must describe expected application functionality (use at leasst a screen mockup / screenshot) +- there must also be at least one user story +- there must be corresponding issues in Gitlab + +== Requirements (3) + +- you must reference the issues in the commits +- configure Maven so that +** application runs with `mvn javafx:run` +** test can run using `mvn test` +- the build must report test coverage ( > 0% ) + +== Requirements (4) +- there must be at least something in each of the three architecture layers +** domain logic, user interface (JavaFX-GUI) and persistence +- project should be configured to open and run in eclipse che (link in README.md) + + + +== Application description + +- General description included in readme.md file +- user stories supported by additional design documents such as: +** conceptual model, +** personas, +** scenarios, +** UI mockups, +** UI protoypes +- User stories get broken down into issues and tasks +- Lead to a functional application + + + + +[background-color = "#124990"] +[color = "#fff6d5"] +== GitLab + +== GitLab + +* Issues +* Milestones +* Task lists +* Labels +* Boards +* Quick actions + + +[background-color = "#124990"] +[color = "#fff6d5"] +== GitLab + + +include::{includedir}footer.adoc[]