diff --git a/project management/css/remark.css b/project management/css/remark.css
index 28f573f15459596ac4fe29baefac7e245bbb7b28..e391beb14a1899f980a64befc9c984ccc7762a71 100644
--- a/project management/css/remark.css	
+++ b/project management/css/remark.css	
@@ -53,4 +53,193 @@ blockquote > *:last-child {
 
 .color-red {
   color: red
-}
\ No newline at end of file
+}
+
+.ml-2 {
+	margin-left: 2em
+}
+
+.inverted {
+	background-color: black;
+	color: white;
+}
+
+.pyro > .before, .pyro > .after {
+  position: absolute;
+  width: 5px;
+  height: 5px;
+  border-radius: 50%;
+  box-shadow: -120px -218.66667px blue, 248px -16.66667px #00ff84, 190px 16.33333px #002bff, -113px -308.66667px #ff009d, -109px -287.66667px #ffb300, -50px -313.66667px #ff006e, 226px -31.66667px #ff4000, 180px -351.66667px #ff00d0, -12px -338.66667px #00f6ff, 220px -388.66667px #99ff00, -69px -27.66667px #ff0400, -111px -339.66667px #6200ff, 155px -237.66667px #00ddff, -152px -380.66667px #00ffd0, -50px -37.66667px #00ffdd, -95px -175.66667px #a6ff00, -88px 10.33333px #0d00ff, 112px -309.66667px #005eff, 69px -415.66667px #ff00a6, 168px -100.66667px #ff004c, -244px 24.33333px #ff6600, 97px -325.66667px #ff0066, -211px -182.66667px #00ffa2, 236px -126.66667px #b700ff, 140px -196.66667px #9000ff, 125px -175.66667px #00bbff, 118px -381.66667px #ff002f, 144px -111.66667px #ffae00, 36px -78.66667px #f600ff, -63px -196.66667px #c800ff, -218px -227.66667px #d4ff00, -134px -377.66667px #ea00ff, -36px -412.66667px #ff00d4, 209px -106.66667px #00fff2, 91px -278.66667px #000dff, -22px -191.66667px #9dff00, 139px -392.66667px #a6ff00, 56px -2.66667px #0099ff, -156px -276.66667px #ea00ff, -163px -233.66667px #00fffb, -238px -346.66667px #00ff73, 62px -363.66667px #0088ff, 244px -170.66667px #0062ff, 224px -142.66667px #b300ff, 141px -208.66667px #9000ff, 211px -285.66667px #ff6600, 181px -128.66667px #1e00ff, 90px -123.66667px #c800ff, 189px 70.33333px #00ffc8, -18px -383.66667px #00ff33, 100px -6.66667px #ff008c;
+  -moz-animation: 1s bang ease-out infinite backwards, 1s gravity ease-in infinite backwards, 5s position linear infinite backwards;
+  -webkit-animation: 1s bang ease-out infinite backwards, 1s gravity ease-in infinite backwards, 5s position linear infinite backwards;
+  -o-animation: 1s bang ease-out infinite backwards, 1s gravity ease-in infinite backwards, 5s position linear infinite backwards;
+  -ms-animation: 1s bang ease-out infinite backwards, 1s gravity ease-in infinite backwards, 5s position linear infinite backwards;
+  animation: 1s bang ease-out infinite backwards, 1s gravity ease-in infinite backwards, 5s position linear infinite backwards; }
+
+.pyro > .after {
+  -moz-animation-delay: 1.25s, 1.25s, 1.25s;
+  -webkit-animation-delay: 1.25s, 1.25s, 1.25s;
+  -o-animation-delay: 1.25s, 1.25s, 1.25s;
+  -ms-animation-delay: 1.25s, 1.25s, 1.25s;
+  animation-delay: 1.25s, 1.25s, 1.25s;
+  -moz-animation-duration: 1.25s, 1.25s, 6.25s;
+  -webkit-animation-duration: 1.25s, 1.25s, 6.25s;
+  -o-animation-duration: 1.25s, 1.25s, 6.25s;
+  -ms-animation-duration: 1.25s, 1.25s, 6.25s;
+  animation-duration: 1.25s, 1.25s, 6.25s; }
+
+@-webkit-keyframes bang {
+  from {
+    box-shadow: 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white; } }
+@-moz-keyframes bang {
+  from {
+    box-shadow: 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white; } }
+@-o-keyframes bang {
+  from {
+    box-shadow: 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white; } }
+@-ms-keyframes bang {
+  from {
+    box-shadow: 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white; } }
+@keyframes bang {
+  from {
+    box-shadow: 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white; } }
+@-webkit-keyframes gravity {
+  to {
+    transform: translateY(200px);
+    -moz-transform: translateY(200px);
+    -webkit-transform: translateY(200px);
+    -o-transform: translateY(200px);
+    -ms-transform: translateY(200px);
+    opacity: 0; } }
+@-moz-keyframes gravity {
+  to {
+    transform: translateY(200px);
+    -moz-transform: translateY(200px);
+    -webkit-transform: translateY(200px);
+    -o-transform: translateY(200px);
+    -ms-transform: translateY(200px);
+    opacity: 0; } }
+@-o-keyframes gravity {
+  to {
+    transform: translateY(200px);
+    -moz-transform: translateY(200px);
+    -webkit-transform: translateY(200px);
+    -o-transform: translateY(200px);
+    -ms-transform: translateY(200px);
+    opacity: 0; } }
+@-ms-keyframes gravity {
+  to {
+    transform: translateY(200px);
+    -moz-transform: translateY(200px);
+    -webkit-transform: translateY(200px);
+    -o-transform: translateY(200px);
+    -ms-transform: translateY(200px);
+    opacity: 0; } }
+@keyframes gravity {
+  to {
+    transform: translateY(200px);
+    -moz-transform: translateY(200px);
+    -webkit-transform: translateY(200px);
+    -o-transform: translateY(200px);
+    -ms-transform: translateY(200px);
+    opacity: 0; } }
+@-webkit-keyframes position {
+  0%, 19.9% {
+    margin-top: 10%;
+    margin-left: 40%; }
+
+  20%, 39.9% {
+    margin-top: 40%;
+    margin-left: 30%; }
+
+  40%, 59.9% {
+    margin-top: 20%;
+    margin-left: 70%; }
+
+  60%, 79.9% {
+    margin-top: 30%;
+    margin-left: 20%; }
+
+  80%, 99.9% {
+    margin-top: 30%;
+    margin-left: 80%; } }
+@-moz-keyframes position {
+  0%, 19.9% {
+    margin-top: 10%;
+    margin-left: 40%; }
+
+  20%, 39.9% {
+    margin-top: 40%;
+    margin-left: 30%; }
+
+  40%, 59.9% {
+    margin-top: 20%;
+    margin-left: 70%; }
+
+  60%, 79.9% {
+    margin-top: 30%;
+    margin-left: 20%; }
+
+  80%, 99.9% {
+    margin-top: 30%;
+    margin-left: 80%; } }
+@-o-keyframes position {
+  0%, 19.9% {
+    margin-top: 10%;
+    margin-left: 40%; }
+
+  20%, 39.9% {
+    margin-top: 40%;
+    margin-left: 30%; }
+
+  40%, 59.9% {
+    margin-top: 20%;
+    margin-left: 70%; }
+
+  60%, 79.9% {
+    margin-top: 30%;
+    margin-left: 20%; }
+
+  80%, 99.9% {
+    margin-top: 30%;
+    margin-left: 80%; } }
+@-ms-keyframes position {
+  0%, 19.9% {
+    margin-top: 10%;
+    margin-left: 40%; }
+
+  20%, 39.9% {
+    margin-top: 40%;
+    margin-left: 30%; }
+
+  40%, 59.9% {
+    margin-top: 20%;
+    margin-left: 70%; }
+
+  60%, 79.9% {
+    margin-top: 30%;
+    margin-left: 20%; }
+
+  80%, 99.9% {
+    margin-top: 30%;
+    margin-left: 80%; } }
+@keyframes position {
+  0%, 19.9% {
+    margin-top: 10%;
+    margin-left: 40%; }
+
+  20%, 39.9% {
+    margin-top: 40%;
+    margin-left: 30%; }
+
+  40%, 59.9% {
+    margin-top: 20%;
+    margin-left: 70%; }
+
+  60%, 79.9% {
+    margin-top: 30%;
+    margin-left: 20%; }
+
+  80%, 99.9% {
+    margin-top: 30%;
+    margin-left: 80%; } }
\ No newline at end of file
diff --git a/project management/illustrations.bmpr b/project management/illustrations.bmpr
index 140405f02e0c3f2fd24bfe2f4e2a8aabddc6450e..019fecfde35b33c40220fcb6ddcfe815e1fd310f 100644
Binary files a/project management/illustrations.bmpr and b/project management/illustrations.bmpr differ
diff --git a/project management/images/effort_increase_with_new_feature.png b/project management/images/effort_increase_with_new_feature.png
new file mode 100644
index 0000000000000000000000000000000000000000..36414bef242afc94919eabd718b13d39323ecbbd
--- /dev/null
+++ b/project management/images/effort_increase_with_new_feature.png	
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e6c809a501cbc385c526461407f84ac23d4bb750f166eedead1c487214066619
+size 6826
diff --git a/project management/images/effort_increases_exponential.png b/project management/images/effort_increases_exponential.png
index f029c8405898da3abf54eefdf9693ce38eb0f47d..4eb9c68dd765b519675e85b75404e32c3c7ff747 100644
--- a/project management/images/effort_increases_exponential.png	
+++ b/project management/images/effort_increases_exponential.png	
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:39292b0a073ecb8b376879bb7eced54a82b897d0a4e22394a99a4607391a0ffa
-size 7921
+oid sha256:b504d851be5143369515a4e13ff50be90c7149246cc680264d149cb01354e41a
+size 5817
diff --git a/project management/project management.html b/project management/project management.html
index 7fa4eea37e933b6a97c46731bf6172d65dbaa625..4a03ac9b5107e242486efa427f734e66df235ea1 100644
--- a/project management/project management.html	
+++ b/project management/project management.html	
@@ -44,7 +44,7 @@ Nearly universally referenced issues:
 - Inaccurate estimates
 - Unexpected risks
 
-[Source 1](https://www.atspoke.com/blog/it/reasons-for-it-project-failure/), [Source 2](https://www.orellfuessli.ch/shop/home/artikeldetails/ID39325699.html), PMO Survey 2020
+[Source 1](https://www.atspoke.com/blog/it/reasons-for-it-project-failure/), [Source 2](https://www.orellfuessli.ch/shop/home/artikeldetails/ID39325699.html), [Source 4](https://www.gartner.com/en/documents/2892218), PMO Survey 2020
 
 <img src="images/project-fail-reasons.png" width="100%">
 
@@ -158,13 +158,22 @@ Projects: https://famoser.ch/
 
 ---
 
-# Targets of this course
+# This course
 
-**Know what makes a good project.** High-level view about a suitable environment for you and your project.
+Parts:
+- **Know what makes a good project**: High-level view about a suitable environment for your project.
+- **Plan a successful project**: How to create a convincing project plan.
+- **Execute a successful project**: How to execute & finish your project.
 
-**Plan a successful project.** How to create a convincing and actionable project plan.
-
-**Execute a successful project.** Concrete resources how to execute and finish a project.
+Targets:
+- You can detect favorable environments for projects
+- You feel confident estimating features
+- You can create a realistic project schedule
+- You can finish a project
+	- on time
+	- within budget
+	- within schedule
+	- which satisfies customer expectations.
 
 ---
 
@@ -207,7 +216,7 @@ stakeholder(s):
 - have realistic expectations?
 - personally support with time and money?
 
-> E-Learning Platform
+> E-Learning Platform.
 
 ---
 
@@ -240,12 +249,15 @@ class: center, middle
 
 Steps:
 - Understand problem to be solved
+- Develop solution concepts
 - Formulate requirements 
 - Estimate cost, reward
 - Schedule implementation
 - Analyse risks
 - Feedback & repeat
 
+> Target: Avoid as much work as possible while still solving the problem.
+
 Reduced uncertainty as much as possible?  
 Contract with customer & start!
 
@@ -261,40 +273,112 @@ Listen carefully:
 - Proposed solutions
 - Tedious tasks (=sucks)
 
+You task is to solve their *problem*.
+
 ---
 
 # Formulate requirements
 
-Decompose concept to suitable abstraction level.
-	
-functional & non-function requirements
+Decompose concept to suitable abstraction level.  
+Do not neglect non-functional requirements (performance, usability, ...).
 
-YAGNI: Effort increases in O(exponential) due to complexity.
+YAGNI: You Ain't Gonna Need It.  
+**Effort increases in O(exponential) due to complexity.** (*baseless claim alert*)
+
+<img src="images/effort_increases_exponential.png" width="30%">
+<img class="ml-2" src="images/effort_increase_with_new_feature.png" width="30%">
 
-<img src="images/effort_increases_exponential.png" width="50%">
 
 ---
 
 # Estimate requirements
 
-Cannot predict the future -> how to estimate cost?  
-Can estimate relative complexity!
+Cannot predict the future, but **can estimate relative complexity**.  
+Technology / mastery independent!
+
+Tips:
+- Use coarse-grained numbers (Fibonaccy; 1 1 2 3 5 8 13 ...)
+- With more unknowns, tend to increase complexity
+
+Same for rewards.
+Reward / Complexity = Payoff.
+
+| Feature | Complexity | Reward | Payoff |
+| :------ | ---------: | -----: | -----: |
+| Sign-Up | 8 | 5 | 0.625 |
+| Confirm E-Mail | | | |
+| Login | | | |
+| Password Recover | | | |
+| Add Additional E-Mails | | | |
+
 
-technology / mastery independent
+---
+
+# Estimate requirements
 
-Tipps:
-- Use coarse-grained numbers (Fibonaccy)
+Cannot predict the future, but **can estimate relative complexity**.  
+Technology / mastery independent!
+
+Tips:
+- Use coarse-grained numbers (Fibonaccy; 1 1 2 3 5 8 13 ...)
 - With more unknowns, tend to increase complexity
 
 Same for rewards.
+Reward / Complexity = Payoff.
+
+
+| Feature | Complexity | Reward | Payoff |
+| :------ | ---------: | -----: | -----: |
+| Sign-Up | 8 | 5 | 0.625 |
+| Confirm E-Mail | 13 | 3 | 0.23 |
+| Login | 5 | 8 | 1.6 |
+| Password Recover | 21 | 5 | 0.24 |
+| Add Additional E-Mails | 21 | 3 | 0.14 |
+
 
 ---
 
 # Schedule implementation
 
-Combine features into sensible packages.
-Resolve dependencies.
-Decide upon milestones (properly spaces, measurable).
+Convert complexity into implementation effort.
+
+| Feature | Complexity | Expected | Measured |
+| :------ | ---------: | -------: | -------: |
+| Sign-Up | 8 | - | 3h |
+| Confirm E-Mail | 13 | 5h | ? |
+| Login | 5 | 2h | ? |
+| Password Recover | 21 | 8h | ? |
+| Add Additional E-Mails | 21 | 8h | ? |
+
+Multiplication factors:
+- Technology (low for established, high for often changing)
+- Complexity (increasing factor with more total features)
+- Special requirements (translatable, performance, ...)
+
+> 26h \* 1.1 (PHP only) \* 1.1 (translatable) =  31.5h  
+> 26h \* 1.5 (PHP + JavaScript frontend) \* 1.1 (translatable) = 43h
+
+---
+
+# Schedule implementation
+
+Combine functionality into **features** (=sensible packages).  
+Resolve dependencies & reduce uncertainty.  
+
+> Login 31.5h  
+> Submit vote 23h  
+> Electionsmanagement 10h  
+> Candidatemanagement 16.5h  
+> Vote count 8.5h
+
+**Milestones** should be properly spaced & measurable.
+
+> 1. Deployment of skeleton to server
+> 2. Public voting area
+> 3. Administration area
+> 4. Feedback of trial election processed
+
+
 
 ---
 
@@ -302,9 +386,9 @@ Decide upon milestones (properly spaces, measurable).
 
 For overall project & for each feature collect risks.
 
-> Users prefer different tool
-> Team-member quits project before completion
-> Server too slow for estimated data size
+> Compromise of election data  
+> Users reject tool due to security reasons  
+> Server deployment too constrained
 
 For each risk:
 - Avoid: Eliminate the risk (avoid feature / use different solutions)
@@ -317,102 +401,126 @@ For each risk:
 
 # Contract
 
-Formulate a constract about the project.
+Formulate a contract.
 
 Content:
 - Vision ("Sales-pitch")
 - Requirements on suitable abstraction level
 - Schedule & Milestones
 - Price & Payment agreements
-- Legal: Intellectual Property, Bugfixing, Maintenance
-- (Maintenance for 10% - 20% yearly effort)
+
+Advanced:
+- Recommend options based on payoff
+- Maintenance for 10% - 20% yearly effort
+- Legal: Intellectual Property, Bugfixing
 
 Courses:
 - [E-Business Recht](http://www.vvz.ethz.ch/Vorlesungsverzeichnis/lerneinheit.view?lerneinheitId=139975&semkez=2020W) (HS)
 - [Contract Design](http://www.vvz.ethz.ch/Vorlesungsverzeichnis/lerneinheit.view?lerneinheitId=141671&semkez=2020W) (HS) 
-- [Introduction into Negotiaton](http://www.vvz.ethz.ch/Vorlesungsverzeichnis/lerneinheit.view?lerneinheitId=135075&semkez=2020S) (FS)
+- [Introduction into Negotiation](http://www.vvz.ethz.ch/Vorlesungsverzeichnis/lerneinheit.view?lerneinheitId=135075&semkez=2020S) (FS)
 
-**Up until now, an estimated 10 - 30% of total project effort has been spend!**
+---
 
-Do not work for free: For bigger projects, sell requirements engineering or proof of concept.
+# Value of a good plan
 
----
+**Up until now, an estimated 10 - 30% of total project effort has been spend!**  
+Is it worth it?
 
-class: center, middle
+Yes!
+- Align expectations (cost, schedule, result)
+- Decrease cost by not implementing lower-value features
+- Decrease risk of project failure
 
-# Execute a successful project
+It feels good:
+- Make promises you can keep
+- Customers / Users will be satisfied (and so will you!)
+- You get done, get payed and move on.
 
-<i>No surprises.</i>
+*Hint: You can also sell this work as "requirements engineering" or "proof of concept"*.
 
 ---
 
-# Review progress & risks
+class: center, middle
+
+# Execute a successful project
 
-Take corrective action early
+<i>Core idea: No surprises.</i>
 
 ---
 
-# Manage expections
+# Continuous tasks
 
-You're 1# job!
+*manage expectations*. Keep customer up to date with relevant developments. Incorporate doubts, recent developments and feedback 
 
-Communicate progress to stakeholders.
+> "The milestone is completed, and the next meeting can go along as planned."
+> "Next big maintenance will be completed in 8 months."
 
----
+*track progress*. Check if estimation matches measurements, and high-risk tasks proceed as expected. Take corrective action as early as sensible!
 
-# Manage changes
+> Substantial increase in effort for feature: Systematic or one-time?  
+> High-risk tasks: Solution in sight or stuck?
 
-keep stakeholders informed
-manage expectations
-measure progress & react early
-control change
-control risks
+*long-term planning*. Resolve dependencies for future tasks.
+
+> Hosting is ready in one week; delivery is due in two months. Hence can schedule meeting in four weeks to get feedback for final product.
 
 ---
 
 # Rollout
 
-incremental updates & releases help to adapt rapidly (saving time with shortcuts, skipping unneeded functionality, improving through early feedback)
-big bang is more efficient with no unknown unknowns (the longer the project, the smaller the chance)
+Strategies:
+- **Incremental**: Multiple releases, i.e. for each feature. *Additional effort due to shims for future features / release tasks.*
+- **Big Bang**: Single release at the end. *No feedback till the end*.
 
-maintenance needs to be considered
+**Incremental updates usually beats Big Bang**: The earlier issues are found / feedback is incorporated, the cheaper it is.
 
+<hr/>
 
----
+Changing `person.gender` from `Boolean` to `Text`:
 
-# Getting it Done
+| Start | End | 
+| :------ | ---------: |
+| Add field to table | Add field to table |
+| | Find all usages of field |
+| | Re-understand how and why it is used |
+| | Find new solution & adapt code |
+| | Re-test usage & all related features |
 
-getting it done
-bugs after launch
+---
 
+class: center, middle, inverted
 
-# After the project
+<div class="pyro">
+    <div class="before"></div>
+    <div class="after"></div>
+</div>
+
+# Done!
 
 ---
 
-# during project
+class: center, middle
 
-continuously overview risks
-manage cost
-manage expectations
+# Some closing notes
 
 ---
 
 # About changes
 
-Changes happen: Deal with it.
+Changes happen, deal with it.
 
-Proposals:
-- Incorporate in project execution plan.
-- Clarify expectiations.
-- Finish (sub-)projects quickly.
-- Define how & when changes are applied (and who pays for it).
+Tools:
+- Schedule features early with uncertainty.
+- Explicitly acceptance test features / milestones.
+- Clarify expectations (changes in cost / schedule).
+- Define process how & when changes are applied (and who pays for it).
 
+Baseless claim: Ignoring change requests is as much a project failure as unapproved delays / cost overruns over it.
 ---
 
 # About people
 
-People are strange, but predictable.
+Important factor of project not in your control!
 
 Get to know all involved persons:
 - Motivation (agenda?)
@@ -422,56 +530,76 @@ Get to know all involved persons:
 
 Likely True Facts About Peopleâ„¢:
 - People are predictable
-- People can't be changed
+- People change very slowly (too slow for your project)
 - People are good (or at least persuade themselves that they are)
 
+Analysis approaches: [4 Colors](https://www.thecolourworks.com/insights-discovery-colour-types-guide/), [Big 5](https://www.simplypsychology.org/big-five-personality.html), [16 Personalities](https://www.16personalities.com/) (*(un)soundness alert*)
+
 ---
 
-# About bad people
+# Getting it done
 
-With some, you will not get along!
+*Getting it done* is hard! 
+- Tedious tasks procrastinated till the end
+- Some level of perfection needs to be reached
+- Bugs right before / immediately after launch likely
 
-Powerful combination:
-- Ignorance (don't care about everybody their work affects)
-- Incompetence (don't have relevant experience)
-- Arrogance (don't consider inputs)
-- Rhetorics (can defend their shortcomings)
+Why most private projects never finish...
 
-Options:
-- Fight (usually a bad idea)
-- Co-exist (sometimes not possible)
-- Run (sometimes required)
+Tools:
+- Assign buffer before release to get it down
+- Keep days around release free
+- Rollout incrementally to reduce severity of effects
+- Set expectations of customer over risk of release
 
 ---
 
-# Agile development
-
-For developer teams in enterprises.
+# Enterprise project management
 
-For engineers, not programmers.
-
-Agile:
+agile management:
 - https://scrumguides.org/scrum-guide.html
 - https://www.scaledagileframework.com/
 
+Measure / estimate:
+- Function points: Points depending on input / output complexity. [IBM, 1979](https://researcher.watson.ibm.com/researcher/view_group.php?id=7298)
+- Use Case points: Translate components of use case diagram into sizes metrics. Adjust for complexity and technical factors. [Objective Systems, 1993](https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.604.7842&rep=rep1&type=pdf)
+
+[Project Management Course](http://www.vvz.ethz.ch/Vorlesungsverzeichnis/lerneinheit.view?lerneinheitId=149690&semkez=2021S&ansicht=KATALOGDATEN&lang=en):
+- project management models (PMBOK, ...)
+- agile management methods (SCRUM, Lean, Kanban, ...)
+
 ---
 
-# Measure size of bigger software projects
+# Summary
+
+**Favorable project environment**: Established vision & agreement over it. Sensible and stable business case. Sufficient experience, trust and capabilities.
+
+**Project plan**: Solve business problem with as little work as possible. Use relative complexity / rewards to estimate. Schedule to reduce risk & uncertainty early. Analyse & control risk.
 
-**Function points**: Assign points depending on complexity of inputs / outputs.
+**Execution**: Manage expectations & progress. Rollout incrementally & incorporate feedback early. Deal humbly with changes and people. Get It Done.
+
+---
 
-**Use Case points**: Translate components of use case diagram into sizes metrics. Adjust for complexity and technical factors.
+class: center, middle
 
-*Attention: Studies usually use small data models / overclaim.*
+# Appendix
 
---- 
+---
 
-# Resources
+# About bad people
 
-Some resources used for this presentation:
-- Azzeh, Mohammad, and Ali Bou Nassif. "Analyzing the relationship between project productivity and environment factors in the use case points method." Journal of Software: Evolution and Process 29.9 (2017): e1882.
-- https://www.gartner.com/en/documents/2892218
+With some, you will not get along!
 
+Powerful combination:
+- Ignorance (don't care about everybody their work affects)
+- Incompetence (don't have relevant experience)
+- Arrogance (don't consider inputs)
+- Rhetorics (can defend their shortcomings)
+
+Options:
+- Fight (usually a bad idea)
+- Co-exist (sometimes not possible)
+- Run (sometimes required)
     </textarea>
     <script src="js/remark.min.js" type="text/javascript"></script>
     <script src="js/remark.driver.js" type="text/javascript"></script>