From 76bae02bcd7d6b3ec9eea428e5e95da184a8dbfb Mon Sep 17 00:00:00 2001
From: Rasmus Dahlberg <rasmus@rgdd.se>
Date: Tue, 15 Oct 2024 15:35:20 +0200
Subject: Rescue some slides from old private mono repos

---
 slides/2019-it-intro-scrum/src/body.tex | 383 ++++++++++++++++++++++++++++++++
 1 file changed, 383 insertions(+)
 create mode 100644 slides/2019-it-intro-scrum/src/body.tex

(limited to 'slides/2019-it-intro-scrum/src/body.tex')

diff --git a/slides/2019-it-intro-scrum/src/body.tex b/slides/2019-it-intro-scrum/src/body.tex
new file mode 100644
index 0000000..531a9d8
--- /dev/null
+++ b/slides/2019-it-intro-scrum/src/body.tex
@@ -0,0 +1,383 @@
+\begin{frame}
+  \frametitle{Learning outcome based on syllabus}
+  \begin{itemize}
+    \item Give an account of different ways to develop software (ISGA01)
+    \item Describe different ways of developing software (ISGA06)
+    \item Explain the development process of an information system (ISGA90)
+  \end{itemize}
+  \vfill\centering
+  \smartdiagram[sequence diagram]{%
+    Reality check,%
+    Waterfall method,%
+    Scrum method%
+  }
+\end{frame}
+
+\begin{frame}
+  \frametitle{Reality check}
+  \begin{columns}
+    \begin{column}{0.59\textwidth}
+      \begin{itemize}
+        \item Three things we wish were true
+          \begin{itemize}
+            \item Customers know what they want
+            \item Developers know how to build it
+            \item Nothing changes at the course of a project
+          \end{itemize}
+      \end{itemize}
+      \begin{itemize}
+        \item Three things we have to live with
+          \begin{itemize}
+            \item Customers figure out what they want
+            \item Developers figure out how to build it
+            \item Many things change at the course of a project
+          \end{itemize}
+      \end{itemize}
+    \end{column}
+    \begin{column}{0.39\textwidth}
+      \includegraphics[width=\textwidth]{img/reality}
+    \end{column}
+  \end{columns}
+\end{frame}
+
+\begin{frame}
+  \frametitle{Timeline of different approaches towards product development}
+  \centering
+  \includegraphics[height=0.4\textheight]{img/timeline}\\
+  \vfill\alert{Our scope: Agile and Scrum, briefly Waterfall and XP}
+\end{frame}
+
+\begin{frame}
+  \frametitle{Monolithic vs Iterative and incremental}
+  \centering
+  \includegraphics[height=0.65\textheight]{img/iterative}
+  \vfill
+  \alert{Agile development is all about feedback cycles}
+\end{frame}
+
+\begin{frame}
+  \frametitle{Each iteration is a mini project that involves all diciplines}
+  \centering
+  \includegraphics[height=0.7\textheight]{img/one-it}\\
+  \alert{Note: not necessarily in this order!}
+\end{frame}
+
+\begin{frame}
+  \frametitle{Agile vs Waterfall}
+  \centering
+  \includegraphics[height=0.70\textheight]{img/cmp}
+\end{frame}
+
+\begin{frame}
+  \frametitle{Does it work? Results from a survey on agile software development}
+  \centering
+  \includegraphics[height=0.70\textheight]{img/works}
+\end{frame}
+
+\begin{frame}
+  \frametitle{Scrum properties}
+  \begin{columns}
+    \begin{column}{0.59\textwidth}
+      \begin{itemize}
+        \item Emperical---progress based on real-world observations rather than
+          fictious plans
+        \item Identify problems early
+        \item Prioritize strictly
+        \item Plan for change and continuous improvement
+          \begin{itemize}
+            \item Short feedback loop
+            \item Ship working software frequently
+            \item ``Planning is needed, but always wrong''
+          \end{itemize}
+        \item Cross-functional and self-organizing teams
+        \item Pull-scheduling
+        \item Timeboxing
+        \item Simple tools
+        \item ...
+      \end{itemize}
+    \end{column}
+    \begin{column}{0.39\textwidth}
+      \centering
+      \includegraphics[height=0.6\textheight]{img/tia}
+      \burl{https://www.scrum.org/resources/blog/three-pillars-empiricism-scrum}
+    \end{column}
+  \end{columns}
+\end{frame}
+
+\begin{frame}
+  \frametitle{An overview of the Scrum process}
+  \begin{columns}
+    \begin{column}{0.69\textwidth}
+      \includegraphics[height=0.8\textheight]{img/scrum-overview}
+    \end{column}
+    \begin{column}{0.29\textwidth}
+      Roles:
+      \begin{itemize}
+        \item Product owner
+        \item Scrum master
+        \item Developer
+      \end{itemize}
+    \end{column}
+  \end{columns}
+\end{frame}
+
+\begin{frame}
+  \frametitle{A typical sprint}
+  \begin{itemize}
+    \item \textbf{Sprint planning} \titlefloatright{\textbf{Timeboxed}}
+      \begin{itemize}
+        \item Update and prioritize features in the product backlog%
+          \titlefloatright{4h}
+        \item Add top-priority features to sprint backlog and divide into
+          tasks\titlefloatright{4h}
+      \end{itemize}
+    \item \textbf{Sprint execution} \titlefloatright{2--4 weeks}
+      \begin{itemize}
+        \item Daily scrum---a short stand-up meeting \titlefloatright{15m}
+          \begin{itemize}
+            \item What did you do yesterday?
+            \item What will you do today?
+            \item Any problems?
+          \end{itemize}
+      \end{itemize}
+    \item \textbf{Sprint review} \titlefloatright{4h}
+      \begin{itemize}
+        \item Team holds a demo for product owner and stakeholders
+      \end{itemize}
+    \item \textbf{Sprint retrospective} \titlefloatright{2h}
+      \begin{itemize}
+        \item The good and the bad?
+        \item How can we improve as a team?
+      \end{itemize}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}
+  \frametitle{Sprint planning---what should we work on the next couple of weeks?}
+  \begin{columns}
+    \begin{column}{0.69\textwidth}
+      \begin{itemize}
+        \item Dialog between product owner and development team
+          \begin{itemize}
+            \item PO: present\&adapt priority features in product backlog
+            \item Team: how much can be done
+              \begin{itemize}
+                \item Story points
+                \item Sprint velocity
+                \item Poker estimates are common
+              \end{itemize}
+          \end{itemize}
+        \item Concrete output of this meeting?
+          \begin{itemize}
+            \item A sprint backlog and definitions of `done'
+            \item A set of tasks for each feature in the sprint backlog
+            \item A sprint goal, a demo date, and how to demo
+            \item A time and place for daily scrum
+          \end{itemize}
+      \end{itemize}
+    \end{column}
+    \begin{column}{0.29\textwidth}
+      \centering
+      \input{img/esi}
+    \end{column}
+  \end{columns}
+\end{frame}
+
+\begin{frame}
+  \frametitle{...using cards!}
+  \centering
+  \includegraphics[height=0.8\textheight]{img/poker}
+\end{frame}
+
+\begin{frame}
+  \frametitle{Daily scrum---a short stand-up meeting that repeats every day}
+  \begin{columns}
+    \begin{column}{0.39\textwidth}
+      \begin{itemize}
+        \item Purpose---keep \textbf{team members} up-to-date
+        \item What did you do yesterday?
+        \item What will you do today?
+        \item Any problems?
+      \end{itemize}
+    \end{column}
+    \begin{column}{0.59\textwidth}
+      \centering
+      \includegraphics[width=\textwidth]{img/board}\\
+      A board is used to track progress
+    \end{column}
+  \end{columns}
+\end{frame}
+
+\begin{frame}
+  \frametitle{Sprint review---show-case the latest prototype and start a dialog}
+  \begin{columns}
+    \begin{column}{0.49\textwidth}
+      \begin{itemize}
+        \item Date and time already defined---\textbf{unconditional}
+        \item All roles attend, including stakeholders if invited
+        \item A demo of the prototype shows that the sprint goal is achieved
+          \begin{itemize}
+            \item How to demo? Sprint planning...
+          \end{itemize}
+      \end{itemize}
+    \end{column}
+    \begin{column}{0.49\textwidth}
+      \centering
+      \includegraphics[width=\textwidth]{img/demo}\\
+    \end{column}
+  \end{columns}
+  \pause
+  \vfill\centering\alert{Wait w000t: what if we are not done?}\\
+  \pause
+  \alert{This is identified early on and solved accordingly!}
+\end{frame}
+
+\begin{frame}
+  \frametitle{Sprint retrospective---ensure that the team improves internally}
+  \begin{columns}
+    \begin{column}{0.59\textwidth}
+      \begin{itemize}
+        \item Product owner is excluded from this meeting
+        \item The goal is to improve the team productivity
+          \begin{itemize}
+            \item What did we do right?
+            \item What did we do wrong?
+            \item How can we improve? \textbf{Choose one!}
+          \end{itemize}
+      \end{itemize}
+    \end{column}
+    \begin{column}{0.45\textwidth}
+      \centering
+      \includegraphics[width=\textwidth]{img/retrospective}\\
+      Make lists and perhaps magnet vote
+    \end{column}
+  \end{columns}
+\end{frame}
+
+\begin{frame}
+  \frametitle{What does `done' really mean?}
+  \begin{columns}
+    \begin{column}{0.59\textwidth}
+      \begin{itemize}
+        \item \textbf{Can be delivered to the customer}
+          \begin{itemize}
+            \item A given feature is implemented
+            \item Code follows good engineering practises
+            \item Code is documented and refactored
+            \item ...or anything else defined at sprint planning
+          \end{itemize}
+        \item \textbf{If your estimates turn out to be wrong}
+          \begin{itemize}
+            \item Work harder, longer and/or smarter
+            \item Lower quality by skipping design, testing, integration and/or
+              documentation
+            \item Reduce and/or remove features
+            \item What are the pros and cons?
+          \end{itemize}
+      \end{itemize}
+    \end{column}
+    \begin{column}{0.39\textwidth}
+      \centering
+      \includegraphics[width=\textwidth]{img/done}
+    \end{column}
+  \end{columns}
+\end{frame}
+
+\begin{frame}
+  \frametitle{Consequences of the `hurry-up' and `lowered-quality' approaches}
+  \begin{columns}
+    \begin{column}{0.49\textwidth}
+      \centering
+      \includegraphics[height=0.4\textheight]{img/hurry}
+      \begin{itemize}
+        \item \textbf{Hurry-up}---work overtime, skip breaks, add more people,
+          ...
+          \begin{itemize}
+            \item Burnout 
+            \item Errors
+            \item `More junk in short time'
+          \end{itemize}
+      \end{itemize}
+    \end{column}
+    \begin{column}{0.49\textwidth}
+      \centering
+      \includegraphics[height=0.4\textheight]{img/debt}
+      \begin{itemize}
+        \item \textbf{Lowered quality}---leads to technical debt and thus
+          reduced efficiency
+          \begin{itemize}
+            \item Harder to re-use code
+            \item Harder to add functionality
+            \item Harder to meet future goals
+          \end{itemize}
+      \end{itemize}
+    \end{column}
+  \end{columns}
+  \vfill\centering
+  \alert{In other words: involve product owner and go with option three}
+\end{frame}
+
+\begin{frame}
+  \frametitle{From start to finnish---putting it all together}
+  \centering
+  \includegraphics[height=0.75\textheight]{img/scrum-whole}
+\end{frame}
+
+\begin{frame}
+  \frametitle{Scrum and eXtreme Programming (XP)}
+  \begin{columns}
+    \begin{column}{0.49\textwidth}
+      \centering
+      \includegraphics[width=0.9\textwidth]{img/scrum-and-xp}
+    \end{column}
+    \begin{column}{0.49\textwidth}
+      \centering
+      \includegraphics[width=0.9\textwidth]{img/scrum-and-xp2}
+    \end{column}
+  \end{columns}
+  \begin{itemize}
+    \item Scrum can be viewed as a team-to-stakeholder interface
+    \item The team is self-organizing, but it \textbf{could} work using XP
+      practises
+  \end{itemize}
+\end{frame}
+
+\begin{frame}
+  \frametitle{Can't get enough? Review the concepts or dig into the details
+    (Optional)}
+  \begin{columns}
+    \begin{column}{0.33\textwidth}
+      \centering
+      \includegraphics[width=\textwidth]{img/scrum-1m}
+      \burl{https://www.youtube.com/watch?v=TRcReyRYIMg}
+    \end{column}
+    \begin{column}{0.33\textwidth}
+      \centering
+      \includegraphics[width=\textwidth]{img/scrum-2m}
+      \burl{https://www.youtube.com/watch?v=WxiuE-1ujCM}
+    \end{column}
+    \begin{column}{0.33\textwidth}
+      \centering
+      \includegraphics[width=\textwidth]{img/scrum-10m}
+      \burl{https://www.youtube.com/watch?v=XU0llRltyFM}
+    \end{column}
+  \end{columns}
+  \vfill
+  \begin{columns}
+    \begin{column}{0.33\textwidth}
+      \centering
+      \includegraphics[width=\textwidth]{img/agile-manifesto}
+      \burl{http://agilemanifesto.org/}
+    \end{column}
+    \begin{column}{0.33\textwidth}
+      \centering
+      \includegraphics[width=\textwidth]{img/scrum-guide}
+      \burl{https://www.scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-US.pdf}
+    \end{column}
+    \begin{column}{0.33\textwidth}
+      \centering
+      \includegraphics[width=\textwidth]{img/henke}
+      \burl{http://wwwis.win.tue.nl/2R690/doc/ScrumAndXpFromTheTrenchesonline07-31.pdf}
+    \end{column}
+  \end{columns}
+\end{frame}
-- 
cgit v1.2.3

