diff --git a/lectures/revealjs/03-dev-and-scm.adoc b/lectures/revealjs/03-dev-and-scm.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..ef3efc8c12ab25c82ae42342a0233cae3888935e
--- /dev/null
+++ b/lectures/revealjs/03-dev-and-scm.adoc
@@ -0,0 +1,13 @@
+= Software Development 
+:customcss: slides.css
+:icons: font
+:includedir: revealjs/includes/
+
+include::{includedir}header.adoc[]
+
+[.smaller-80][.center-paragraph]
+IT1901 Fall 2020 - 3rd Lecture
+
+include::{includedir}dev_content.adoc[]
+
+include::{includedir}footer.adoc[]
\ No newline at end of file
diff --git a/lectures/revealjs/includes/dev_content.adoc b/lectures/revealjs/includes/dev_content.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..f8b26cb04077d91c8448b52df744670f8bca851a
--- /dev/null
+++ b/lectures/revealjs/includes/dev_content.adoc
@@ -0,0 +1,264 @@
+:includedir: revealjs/includes/
+
+[background-color = "#124990"]
+[color = "#fff6d5"]
+== Overview
+
+- Administrative issues
+- About software development
+- Software development methods
+- Software quality.
+- Practices used in modern agile development
+
+[background-color = "#124990"]
+[color = "#fff6d5"]
+== Administrative issues
+
+== Group registration form
+
+- About half of you filled in the  form
+- deadline to fill in the form is Wednesday, August 26
+
+https://s.ntnu.no/it1901groups
+
+== Individual Assignment 1
+
+- Requires that you get access to the it1901/studenter-2020 group
+	** in gitlab (request access)
+	** gets approved within the day  / next day
+	** only about half of you did that
+- the exercise is mandatory to get a grade in the course
+
+== Individual Assignment 1 (cont.)
+
+- deadline August 27th
+- on BB post the link to the repo 
+- the main deliverable is the repo itself
+
+== Provided materials
+
+- very few students did watch the materials
+- they contain important information for assignments 
+- relevant materials for 1st assignment
+	** gitpod episodes
+	** git course
+	** introduction to gitlab
+
+== Reference Group 
+
+- Trenger 3-5 medlemmer til referansegruppe i faget
+- Mulighet til å påvirke kurset og forbedre kurset for de som skal ta det senere år
+- 3 møter / Ca. en time per møte
+- Meld deg om du er interessert! (email / chat / group registration form)
+- If there are not enough volunteers we will randomly select the rest 
+
+
+
+[background-color = "#124990"]
+[color = "#fff6d5"]
+== About Software Development
+
+== What is Software Development
+
+[.center-paragraph]
+“Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components.”
+
+[.smaller-60]
+https://en.wikipedia.org/wiki/Software_development
+
+== What is Software Development (2)
+
+[.center-paragraph]
+“Software development refers to a set of computer science activities dedicated to the process of creating, designing, deploying and supporting software.”
+
+[.smaller-60]
+IBM Research
+
+== Engineering perspective  
+
+[.center-paragraph]
+Engineering refers to the practice of organizing the design and construction of any artifice which transforms the physical world around us to meet some recognized need.
+
+[.smaller-60]
+Rogers, G.F.C. (1983)
+
+
+
+[background-color = "#124990"]
+[color = "#fff6d5"]
+== Software development methods
+
+== Software development method
+
+- A set of activities, work-flows and artifacts that aim at organizing the process of designing, constructing and testing software and deploying it and maintaining it within its context of use. 
+
+** waterfall
+** agile (SCRUM)
+
+== Waterfall model
+
+[.center-paragraph]
+image::../images/lecture02/Waterfall model.svg[width=650]
+
+[.smaller-40]
+https://en.wikipedia.org/wiki/Waterfall_model
+
+== SCRUM model
+
+[.center-paragraph]
+image::../images/lecture02/scrum-sprint.png[width=700]
+
+[.smaller-40]
+https://www.visual-paradigm.com/scrum/what-is-sprint-in-scrum/
+
+== Activities 
+
+[.smaller-80]
+- *Analysis* - understanding the problem 
+- *Design* - describing, conceptually the software solution
+- *Implementation* - creating such a solution in software.
+- *Testing* - check that the software solution has certain desired properties
+- *Deployment* - deliver the solution in its context of operation and use
+
+== Activities (2) 
+
+
+** Maintenance - ensure that the software solution keeps working
+** The world and the context of any software solution is dynamic
+
+
+== Activities (3) 
+
+- Software needs to be updated to keep up with
+** operating system updates, 
+** updates of software on which the solution requires
+** security vulnerabilities
+** changing technology
+** changing requirements
+
+
+[background-color = "#124990"]
+[color = "#fff6d5"]
+== Software quality
+
+== What is software quality ?
+
+Software quality is the degree to which a software solution meets the design requirements and the user needs and expectations.
+
+
+== Quality attributes
+
+- Reliability
+- Efficiency
+- Security
+- Maintainability 
+** adaptability, 
+** portability and 
+** transferability (from one development team to another). 
+
+== Quality attributes (2)
+
+- Usability
+** Effectiveness
+** Efficiency
+** Satisfaction
+
+
+[background-color = "#124990"]
+[color = "#fff6d5"]
+== Practices used in modern agile development
+
+** source code management (SCM)
+** issue tracking
+** continuous integration (CI)
+
+== Source Code Management (SCM)
+
+== SCM Tools
+
+- CVS (Concurrent Versioning System, released 1990)
+- SVN (Apache Subversion, released 2000)
+- Git (created by Linus Torvalds , released 2005)
+- Mercurial
+
+
+include::scm_content.adoc[]
+
+
+== Issue Tracking
+
+== Oppgavesporing (issue tracking)
+
+En _oppgave_ (issue) er arbeid som skal følges opp
+
+* ny funksjon, forbedring, feilretting, konfigurasjon ...
+* hver oppgave har en dialog/diskusjonstråd
+* halvautomatisk knytning til _endringer_ (commits)
+
+== Oppgavesporing forts.
+
+Oppgavesporing er viktig for transparens
+
+* kunder trenger innsyn i prosess
+* teamet trenger å dele kunnskap
+* løse og distribuerte prosjekter (f.eks. åpen kildekode) har ekstra behov
+* støtter vurdering...
+
+== Oppgavesporing forts.
+
+[.smaller-80]
+* oppgaver opprettes ifm. planlegging av iterasjon, f.eks. fra _brukerhistorier_, _funksjonsønsker_ eller _feilrapporter_
+* oppgaver knyttes til
+** _milepæl_ for iterasjon
+** utviklinger som jobber med den
+* _merkelapper_ (labels) kan angi _fasen_ en oppgave er i
+** f.eks. planlagt, utvikling, testing, godkjent
+** _oppgavetavler_ (issue boards) visualiserer fremdrift
+
+== Oppgavetavle (issue board)
+
+image::https://about.gitlab.com/images/blogimages/workflow.png[size=80%]
+
+== Oppgavesporing forts.
+
+* dialog/diskusjonstråd dokumenterer prosessen
+** designidéer, avgjørelser, avhengigheter, ...
+** knyttes til endringer (commits) gjennom oppgavenummer (#)
+** oppsummerer hva som ble gjort
+
+[.center-paragraph]
+Viktig for transparens!
+
+== Kontinuerlig integrasjon (CI)
+
+Automatisering av alt som fremmer kvalitet, men som tar tid, f.eks.
+
+* kompilering og bygging av jar-filer (generelt avledete artifakter)
+* kjøring av enhets- og integrasjonstester
+* analyser av ulike typer kvalitet (formatering, kodingsstandarder, vanlige feil, ...)
+* bygging av kjørbart system og kjøring av systemtester
+
+== Smidig utfordring
+
+[.smaller-60]
+* Hvordan iterere raskt?
+** skrive korrekt kode raskt
+** være trygg på kvaliteten
+** levere ofte, for å få tilbakemelding fra brukere
+
+[.smaller-60]
+* Mange nivåer av testing
+** egen kode - enhetstesting
+** koden innen teamet - integrasjonstesting
+** hele systemet - systemtesting (og evt. deployment)
+
+== Smidig løsning
+
+[.smaller-80]
+* Kontinuerlig - bygg, sett sammen og test
+* Innimellom - lever (release) og sett i drift/prod. (deploy)
+* Alt for mye arbeid uten støtte
+** _byggeverktøy_ automatiserer prosessen
+** _byggetjenere_ sikrer reproduserbar prosess
+
+
diff --git a/lectures/revealjs/includes/footer.adoc b/lectures/revealjs/includes/footer.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..c05c75808d59b6f14bd14579030881b8b16aeef4
--- /dev/null
+++ b/lectures/revealjs/includes/footer.adoc
@@ -0,0 +1,36 @@
+++++
+ <div id="footer" class="footer">
+ 	<div style="display:table-row;">
+     <span class="element" style="width:150px;">
+     	<a href="https://www.ntnu.no" target="_blank">
+     		<img 	id="footer-logo" class="footer-logo" 
+     				src="images/template/logo_ntnu.png" 
+     				alt="ntnu logo" height="28"/>
+     	</a>
+     </span>
+     <span class="element" style="width:300px;">| IT1901 </span>
+     <span class="element">| Software Development </span>
+     <span class="element">&nbsp;&nbsp;&nbsp;&nbsp;</span>
+  </div>   
+ </div>
+ 
+ <div id="vertical-ntnu-name" class="vertical-ntnu-name">
+ 	<span class="helper"></span>
+ 	<img src="images/template/vertical-ntnu-name.png" alt="Norwegian University of Science and Technology" />
+ </div>
+ 
+ <script type="text/javascript">
+     window.addEventListener("load", function() {
+         revealDiv = document.querySelector("body div.reveal")
+         footer = document.getElementById("footer");
+         revealDiv.appendChild(footer);
+         
+         titleSlideDiv = document.querySelector("div.slides section.title")
+         mainLogo = document.getElementById("main-logo");
+         titleSlideDiv.prepend(mainLogo);
+         
+         vertName =  document.getElementById("vertical-ntnu-name");
+         revealDiv.appendChild(vertName);
+     } );
+ </script>
+++++
\ No newline at end of file
diff --git a/lectures/revealjs/includes/header.adoc b/lectures/revealjs/includes/header.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..4115f09a1989a0c85e0a63d2edfdf7a293cfc106
--- /dev/null
+++ b/lectures/revealjs/includes/header.adoc
@@ -0,0 +1,3 @@
+++++
+	<img id="main-logo" class="main-logo" src="images/template/main_logo_eng_no_text.png" width="300" alt="ntnu logo"/>
+++++
diff --git a/lectures/revealjs/includes/scm_content.adoc b/lectures/revealjs/includes/scm_content.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..335ff84b2e45d03594f049855ce36d1af971cda1
--- /dev/null
+++ b/lectures/revealjs/includes/scm_content.adoc
@@ -0,0 +1,120 @@
+== Kildekodehåndtering
+
+* lagring av kode
+* sporing av endringer
+* versionering
+* distribusjon
+
+[.grid-left-right-50-50]
+== `git`
+
+[.smaller-60]
+[.area-left]
+* sporing og deling av kodeendringer i såkalte _repo_ (repository)
+* både sentrale og lokale repo har all endringshistorikk
+* initiell kopi hentes ved å _kloning_ (clone)
+* endringer (i filer) registreres i _commits_ 
+* commits deles med andre ved å _dytte_ (push) til en server
+* andre kan da _dra_ (pull) endringene inn i lokalt repo
+
+[.area-right]
+image::../images/git-local-remote-repo.png[]
+
+[.grid-left-right-50-50]
+== 4 repo-"kopier"
+
+[.smaller-60]
+[.area-left]
+* originalen (_origin_), hentet fra server (`pull`)
+* arbeidsområdet (_working directory_), lokale filer som kan være endret
+* indeksen (_staging area_ eller _index_), endringer du har lagt til med (`add`)
+* lokalt repo, endringene du har commitet (`commit`)
+
+[.area-right]
+image::../images/git-repo-copies.png[]
+
+== repo-kommandoer
+
+image::../images/git-repo-copies.png[width="400px"]
+image::../images/git-repo-commands.png[width="500px"]
+
+== Typisk sekvens
+
+[.smaller-80]
+* `git pull` (eller `clone` første gang) - henter ned endringer fra serveren
+* gjør egne endringer
+* `git status` - viser hva som er endret
+* `git add <fil eller mappe>` - legger endringer til fremtidig commit
+* `git commit -m <melding, m/oppgavenummer>` - registrerer all endringene (lagt til med `add`)
+* `git pull` - henter andres endringer, i tilfelle konflikt
+* `git push` - deler endringer med andre via serveren
+
+== Forgreining (branching)
+
+[.smaller-60]
+[.left-70]
+* greiner (branches)
+** sporer egne utviklingstråder
+** gjør jobbing i parallell ryddigere 
+* sammenslåing (merging)
+** en (hoved)grein slås gjerne sammen med en annen, når den andre er ferdig (nok)
+** etter sammenslåing, så deles gjerne resultatet med andre
+** andre henter så ned for å være oppdatert
+
+[.right]
+image::../images/git-branching.png[width="200px"]
+
+== Sekvens m/forgreining
+
+[.smaller-80]
+* `git pull` - henter ned endringer fra serveren
+* `git checkout -b <navn på (ny) grein>` - lager ny grein, med utgangspunkt i den du jobber med
+* gjør egne endringer
+* `git add ...` og  `git commit ...` - registrerer all endringene
+* `git checkout master` - bytter til hovedgrein
+* `git merge <navn på grein>` - slår annen grein (den nye) sammen med denne (hovedgreina)
+* ...
+
+== Eclipse-støtte for git
+
+[.smaller-60]
+* Egne Eclipse-tillegg - JGit (git-impl) og EGit (UI)
+* Git Repositories-panel - oversikt over repo
+** klone repo fra server eller registrere lokalt repo
+** utføre `pull` og `push`
+** utføre `checkout` inkl. lage ny grein
+** ...
+
+image::../images/git-repositories-view.png[height="200px"]
+
+== Eclipse-støtte forts.
+
+[.smaller-60]
+* Git Staging - statusoversikt
+** filer i arbeidsområdet som er endret
+** filene i indeksen
+** legge til (`add`) eller fjerne (`remove`) fra indeksen
+
+image::../images/git-staging-view.png[width="800px"]
+
+== Endringsforespørsler
+
+[.smaller-60]
+* en `pull`/`merge`-forespørsel (request) brukes for mer formell godkjenning av endringer
+** Pull Request er github-termen, mens Merge Request brukes i gitlab
+* brukes ofte for å inkludere endringer utenfra, f.eks.
+** utviklere utenfor kjerne-teamet
+** brukere av åpen kildekode som har fikset feil
+* forenkler administrasjon av åpne prosjekter
+
+== PR/MR-prosedyre
+
+[.smaller-60]
+* (utenforstående oppretter kopi på egen server)
+* lager en grein for endringene og utfører dem lokalt
+* i stedet for å slå sammen med egen hovedgrein
+** `push` grein til egen server
+** lag en  `pull`/`merge`-forespørsel (PR/MR), som (potensielt) kan inkluderes i hovedgreina
+** UI for dette finnes på github/i gitlab
+** forespørselen får en egen dialog/diskusjonstråd
+** en utvikler med rettigheter kan så godkjenne evt. avslå forespørsel
diff --git a/lectures/revealjs/scm.adoc b/lectures/revealjs/scm.adoc
index 87ac7b7985247f43341a471e80221c47080a8af2..aedc8f3cc5594f5b37011bb9c51bf45d08cbf7d9 100644
--- a/lectures/revealjs/scm.adoc
+++ b/lectures/revealjs/scm.adoc
@@ -1,167 +1,10 @@
 = SCM - Source Code Management
 :customcss: slides.css
 :icons: font
+:includedir: revealjs/includes/
 
-++++
-	<img id="main-logo" class="main-logo" src="images/template/main_logo_eng_no_text.png" width="300" alt="ntnu logo"/>
-++++
+include::{includedir}header.adoc[]
 
-== Kildekodehåndtering
+include::{includedir}scm_content.adoc[]
 
-* lagring av kode
-* sporing av endringer
-* versionering
-* distribusjon
-
-[.grid-left-right-50-50]
-== `git`
-
-[.smaller-60]
-[.area-left]
-* sporing og deling av kodeendringer i såkalte _repo_ (repository)
-* både sentrale og lokale repo har all endringshistorikk
-* initiell kopi hentes ved å _kloning_ (clone)
-* endringer (i filer) registreres i _commits_ 
-* commits deles med andre ved å _dytte_ (push) til en server
-* andre kan da _dra_ (pull) endringene inn i lokalt repo
-
-[.area-right]
-image::../images/git-local-remote-repo.png[]
-
-[.grid-left-right-50-50]
-== 4 repo-"kopier"
-
-[.smaller-60]
-[.area-left]
-* originalen (_origin_), hentet fra server (`pull`)
-* arbeidsområdet (_working directory_), lokale filer som kan være endret
-* indeksen (_staging area_ eller _index_), endringer du har lagt til med (`add`)
-* lokalt repo, endringene du har commitet (`commit`)
-
-[.area-right]
-image::../images/git-repo-copies.png[]
-
-== repo-kommandoer
-
-image::../images/git-repo-copies.png[width="400px"]
-image::../images/git-repo-commands.png[width="500px"]
-
-== Typisk sekvens
-
-[.smaller-80]
-* `git pull` (eller `clone` første gang) - henter ned endringer fra serveren
-* gjør egne endringer
-* `git status` - viser hva som er endret
-* `git add <fil eller mappe>` - legger endringer til fremtidig commit
-* `git commit -m <melding, m/oppgavenummer>` - registrerer all endringene (lagt til med `add`)
-* `git pull` - henter andres endringer, i tilfelle konflikt
-* `git push` - deler endringer med andre via serveren
-
-== Forgreining (branching)
-
-[.smaller-60]
-[.left-70]
-* greiner (branches)
-** sporer egne utviklingstråder
-** gjør jobbing i parallell ryddigere 
-* sammenslåing (merging)
-** en (hoved)grein slås gjerne sammen med en annen, når den andre er ferdig (nok)
-** etter sammenslåing, så deles gjerne resultatet med andre
-** andre henter så ned for å være oppdatert
-
-[.right]
-image::../images/git-branching.png[width="200px"]
-
-== Sekvens m/forgreining
-
-[.smaller-80]
-* `git pull` - henter ned endringer fra serveren
-* `git checkout -b <navn på (ny) grein>` - lager ny grein, med utgangspunkt i den du jobber med
-* gjør egne endringer
-* `git add ...` og  `git commit ...` - registrerer all endringene
-* `git checkout master` - bytter til hovedgrein
-* `git merge <navn på grein>` - slår annen grein (den nye) sammen med denne (hovedgreina)
-* ...
-
-== Eclipse-støtte for git
-
-[.smaller-60]
-* Egne Eclipse-tillegg - JGit (git-impl) og EGit (UI)
-* Git Repositories-panel - oversikt over repo
-** klone repo fra server eller registrere lokalt repo
-** utføre `pull` og `push`
-** utføre `checkout` inkl. lage ny grein
-** ...
-
-image::../images/git-repositories-view.png[height="200px"]
-
-== Eclipse-støtte forts.
-
-[.smaller-60]
-* Git Staging - statusoversikt
-** filer i arbeidsområdet som er endret
-** filene i indeksen
-** legge til (`add`) eller fjerne (`remove`) fra indeksen
-
-image::../images/git-staging-view.png[width="800px"]
-
-== Endringsforespørsler
-
-[.smaller-60]
-* en `pull`/`merge`-forespørsel (request) brukes for mer formell godkjenning av endringer
-** Pull Request er github-termen, mens Merge Request brukes i gitlab
-* brukes ofte for å inkludere endringer utenfra, f.eks.
-** utviklere utenfor kjerne-teamet
-** brukere av åpen kildekode som har fikset feil
-* forenkler administrasjon av åpne prosjekter
-
-== PR/MR-prosedyre
-
-[.smaller-60]
-* (utenforstående oppretter kopi på egen server)
-* lager en grein for endringene og utfører dem lokalt
-* i stedet for å slå sammen med egen hovedgrein
-** `push` grein til egen server
-** lag en  `pull`/`merge`-forespørsel (PR/MR), som (potensielt) kan inkluderes i hovedgreina
-** UI for dette finnes på github/i gitlab
-** forespørselen får en egen dialog/diskusjonstråd
-** en utvikler med rettigheter kan så godkjenne evt. avslå forespørsel
-
-
-
-++++
- <div id="footer" class="footer">
- 	<div style="display:table-row;">
-     <span class="element" style="width:150px;">
-     	<a href="https://www.ntnu.no" target="_blank">
-     		<img 	id="footer-logo" class="footer-logo" 
-     				src="images/template/logo_ntnu.png" 
-     				alt="ntnu logo" height="28"/>
-     	</a>
-     </span>
-     <span class="element" style="width:300px;">| IT1901 - 2nd lecture </span>
-     <span class="element">| Source Code Management </span>
-     <span class="element">&nbsp;&nbsp;&nbsp;&nbsp;</span>
-  </div>   
- </div>
- 
- <div id="vertical-ntnu-name" class="vertical-ntnu-name">
- 	<span class="helper"></span>
- 	<img src="images/template/vertical-ntnu-name.png" alt="Norwegian University of Science and Technology" />
- </div>
- 
- <script type="text/javascript">
-     window.addEventListener("load", function() {
-         revealDiv = document.querySelector("body div.reveal")
-         footer = document.getElementById("footer");
-         revealDiv.appendChild(footer);
-         
-         titleSlideDiv = document.querySelector("div.slides section.title")
-         mainLogo = document.getElementById("main-logo");
-         titleSlideDiv.prepend(mainLogo);
-         
-         vertName =  document.getElementById("vertical-ntnu-name");
-         revealDiv.appendChild(vertName);
-     } );
- </script>
-++++
\ No newline at end of file
+include::{includedir}footer.adoc[]
\ No newline at end of file