diff --git a/lectures/asciidoc/index.adoc b/lectures/asciidoc/index.adoc index d6df4366ef3383cb2255a468daba7dfbcb0ca5ec..ff1aeacc6d4851184997c4c54be921b807ee74cc 100644 --- a/lectures/asciidoc/index.adoc +++ b/lectures/asciidoc/index.adoc @@ -15,11 +15,25 @@ include::{sourcedir}/gitpod.adoc[leveloffset=+2] include::{sourcedir}/ci.adoc[leveloffset=+2] -=== Oppsummering av øving 1 +=== 4. Forelesning + +link:slides/04-lecture.html[Lysarkene] gir en oversikt over SCRUM og Gitlab elementer som kan brukes i prosjektet. + +=== 5. Forelesning + +link:slides/05-lecture.html[Lysarkene] Q&A. + +=== 6. Forelesning + +link:slides/06-lecture.html[Lysarkene] Pair programming + more on Git. + +=== 7. Forelesning + +==== Oppsummering av øving 1 link:slides/individuell-oblig.html[Lysarkene] oppsummerer den individuelle, obligatoriske øving 1 -=== Kodestank +==== Kodestank link:slides/kodestank.html[Lysark] om såkalt "kodestank" (code smell) diff --git a/lectures/revealjs/04-lecture.adoc b/lectures/revealjs/04-lecture.adoc new file mode 100644 index 0000000000000000000000000000000000000000..b7831998ba6c75e1a4902f3c95f7af9d9940aca0 --- /dev/null +++ b/lectures/revealjs/04-lecture.adoc @@ -0,0 +1,191 @@ += Scrum / Gitlab +:customcss: slides.css +:icons: font +:includedir: includes/ +:LECTURE_TOPIC: Scrum / Gitlab +:LECTURE_NO: 4th lecture + +include::{includedir}header.adoc[] + + +[.smaller-80][.center-paragraph] +IT1901 Fall 2021 - {LECTURE_NO} + +== Overview + +- Administrative issues +- Group contract +- Scrum +- Gitlab + + +[background-color = "#124990"] +[color = "#fff6d5"] +== Administrative issues + + +== Administrative issues + +- Reference group +- Groups +- Getting help +- Upcoming deliverables + +== 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) + +- August Sætre Aasvær augustsa@stud.ntnu.no +- Skage Klingstedt Reistad skagekr@stud.ntnu.no +- Iver Baardsgaard Brønstad iverbb@stud.ntnu.no +- Anna Østmo annaost@stud.ntnu.no +- Mats Ellingsen matsel@stud.ntnu.no +- Victoria Kjerstin Huaco Simensen vksimens@stud.ntnu.no + + +== Groups + +- groups have been formed based on the form and input from students +- check in BlackBoard if you are in a group +- for issues with groups contact Farzana Quayyum <farzana.quayyum@ntnu.no> +- 338 out of the 353 enrolled students have been distributed to groups +- we will proceed to create the gitlab groups with the same composition as the Blackboard groups ASAP + +== Getting help + +- Use piazza instead of sending individual emails to staff +** 192 out of 338 students have registered in piazza +- If relevant you can use the technical help-desk +** how to access it and use it is posted in Blackboard +- A TA will be assigned to each group +** subject matter and group related questions should be addressed to them + + +== Upcoming deliverables (1) +- 1st individual assignment +- deadline on this Friday at 16:00 +- 271 out of 338 - requested access for 1st individual assignment +- this is a mandatory exercise, you cannot get a grade in the course if you do not pass it + +== Upcoming deliverables (2) + +- group contract +- deadline on this Friday at 16: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 this Friday by 16: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"] +== Scrum + +== 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) + + +== User stories + +[.smaller-80] +- short, simple descriptions for application features +- formulated from the stand point of the user / customer +- template: +** As a **< type of user >**, I want **< some goal >** so that **< some reason >**. +- they are not replacing design documents / requirements specification +- they need to be developed into specific tasks and connected to constraints and other meaningful documentation. + +== Sprints +- meaningful iterations of comparable length +- they should have a clear goal + +== Planning releases +- 3 deliverables - map to releases +- a release should produce a minimum viable product (MVP) +** a MVP is a version of an application with just enough features to be usable in getting feedback to guide the development process + + +== Meetings +- regular stand-up meetings (synchronize and commit, remove hindrances) +- retrospectives (reflect on your group work) +- sprint reviews / demos (invite TA, prepare deliverables) + +== Pair programming + +- popular agile development technique +- recommended to be used in your groups + + +[background-color = "#124990"] +[color = "#fff6d5"] +== Gitlab + +== Gitlab -Issue tracking + +- Issues +- Labels +- Milestones +- Boards + +[background-color = "#124990"] +[color = "#fff6d5"] +== Gitlab demo + +include::{includedir}footer.adoc[] diff --git a/lectures/revealjs/05-lecture.adoc b/lectures/revealjs/05-lecture.adoc new file mode 100644 index 0000000000000000000000000000000000000000..87adf3f0c93ee03e21bf41ed19b1eb75a8ba3f4a --- /dev/null +++ b/lectures/revealjs/05-lecture.adoc @@ -0,0 +1,55 @@ += Q & A +:customcss: slides.css +:icons: font +:includedir: includes/ +:LECTURE_TOPIC: Q&A +:LECTURE_NO: 5th lecture + +include::{includedir}header.adoc[] + + +[.smaller-80][.center-paragraph] +IT1901 Fall 2021 - {LECTURE_NO} + +== Overview + +- Administrative issues +- Q & A + + +[background-color = "#124990"] +[color = "#fff6d5"] +== Administrative issues + + +== Administrative issues +- Groups have been assigned a TA +- we have created the groups in gitlab +- we have added the members to each group +- the initial repositories have been created + + +[background-color = "#124990"] +[color = "#fff6d5"] +== Q & A + + +== 3 release plan + +- Minimal application +- Application with more features / improved quality +- Final technical – client server / REST API / more feature / alternative client + +== 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 + +include::{includedir}footer.adoc[] diff --git a/lectures/revealjs/06-lecture.adoc b/lectures/revealjs/06-lecture.adoc new file mode 100644 index 0000000000000000000000000000000000000000..79232efedb5574bf3b62a8f2db2440f02fb2ab58 --- /dev/null +++ b/lectures/revealjs/06-lecture.adoc @@ -0,0 +1,69 @@ += Pair programming + Git +:customcss: slides.css +:icons: font +:includedir: includes/ +:LECTURE_TOPIC: Pair programming / Git +:LECTURE_NO: 5th lecture + +include::{includedir}header.adoc[] + + +[.smaller-80][.center-paragraph] +IT1901 Fall 2021 - {LECTURE_NO} + +== Overview + +- 1st group deliverable +- Pair programming +- Git + + +[background-color = "#124990"] +[color = "#fff6d5"] +== 1st group deliverable + +== 1st group deliverable + +- 1st release (MVP) +- deadline (to be discussed with the TAs) +** standard deadline Friday 24th of September by 16:00 +** extended deadline Friday 1st of October by 16:00 + + +[background-color = "#124990"] +[color = "#fff6d5"] +== Pair programming + +== Pair programming (0) + +- a pair of developers take on a task +- use one computer +- take turns to the roles of driver / observer (navigator, co-pilot) +- program out loud + + +== Pair programming (1) + +- agile development technique +- better quality and less defects / more person hours +- learning from each other +- transfer of skills +- increased resilience of the development process +- aiding team building and communication + + +== Pair programming (2) + +- there are advantages to all kinds of pairing +- engagement is key to having results +- learning from each other +- remote pair programming + + + +[background-color = "#124990"] +[color = "#fff6d5"] +== Git + + +include::{includedir}footer.adoc[]