aboutsummaryrefslogtreecommitdiff
path: root/slides/2019-it-intro-scrum/src
diff options
context:
space:
mode:
authorRasmus Dahlberg <rasmus@rgdd.se>2024-10-15 15:35:20 +0200
committerRasmus Dahlberg <rasmus@rgdd.se>2024-10-15 15:35:45 +0200
commit76bae02bcd7d6b3ec9eea428e5e95da184a8dbfb (patch)
tree410ab71c78c99d35aecd46733958a5699cdf5204 /slides/2019-it-intro-scrum/src
parent883a67439aff566962adafeb0385c6ae972073a3 (diff)
Rescue some slides from old private mono repos
Diffstat (limited to 'slides/2019-it-intro-scrum/src')
-rw-r--r--slides/2019-it-intro-scrum/src/body.tex383
-rw-r--r--slides/2019-it-intro-scrum/src/preamble.tex73
-rw-r--r--slides/2019-it-intro-scrum/src/questions.tex17
-rw-r--r--slides/2019-it-intro-scrum/src/titlepage.tex3
4 files changed, 476 insertions, 0 deletions
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}
diff --git a/slides/2019-it-intro-scrum/src/preamble.tex b/slides/2019-it-intro-scrum/src/preamble.tex
new file mode 100644
index 0000000..1ef1078
--- /dev/null
+++ b/slides/2019-it-intro-scrum/src/preamble.tex
@@ -0,0 +1,73 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Packages %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\usepackage[
+ lambda, advantage, operators, sets, adversary, landau, probability, notions,
+ logic, ff, mm, primitives, events, complexity, asymptotics, keys
+]{cryptocode}
+
+\usepackage{graphicx}
+\usepackage{mathtools}
+\usepackage{amsmath}
+\usepackage{amssymb}
+\usepackage{flowchart}
+\usepackage{smartdiagram}
+\usepackage{pifont}
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage{tikz}
+\usepackage{tikz-qtree}
+\usetikzlibrary{
+ arrows,%
+ decorations.markings,%
+ backgrounds,%
+ calc,%
+ fit,%
+ positioning,%
+ shapes.misc,%
+ shadows,%
+ shapes.arrows,%
+ shapes,%
+ snakes,%
+}
+\usepackage{booktabs}
+\usepackage{smartdiagram}
+\usepackage{floatrow}
+%\usepackage[position=bottom]{subfig} % environment for nested figures
+
+\usepackage{xcolor}
+\definecolor{darkGreen}{HTML}{008000}
+\definecolor{darkBlue}{HTML}{2809B2}
+\definecolor{darkRed}{HTML}{CC0000}
+\definecolor{darkGray}{HTML}{808080}
+\definecolor{darkOrange}{HTML}{D77D00}
+\definecolor{darkPurple}{HTML}{800080}
+\colorlet{lightGray}{gray!33}
+\colorlet{lightYellow}{yellow!50}
+\definecolor{darkGreen}{HTML}{008000}
+\definecolor{darkBlue}{HTML}{2809B2}
+\definecolor{darkRed}{HTML}{CC0000}
+
+% Figures, tables and code
+\usepackage{booktabs}
+\usepackage{colortbl}
+\usepackage{flowchart}
+\usepackage{adjustbox}
+\usepackage{listings}
+
+%\setbeamertemplate{itemize item}[circle]
+%\setbeamertemplate{itemize subitem}[default]
+%\setbeamertemplate{caption}[numbered]
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Defines %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\makeatletter
+\let\@@magyar@captionfix\relax %needed for \titlefloatright
+\makeatother
+
+\newcommand{\tyes}{\textcolor{darkGreen}{\ding{51}}}
+\newcommand{\tno}{\textcolor{darkRed}{\ding{55}}}
+\newcommand{\burl}[1]{\tiny{\url{#1}}}
+\newcommand{\TODO}[1]{\textcolor{red}{TODO}: #1}
+\newcommand{\titlefloatright}[1]{\hspace{0pt plus 1 filll}#1$\;$}
diff --git a/slides/2019-it-intro-scrum/src/questions.tex b/slides/2019-it-intro-scrum/src/questions.tex
new file mode 100644
index 0000000..85cb2f3
--- /dev/null
+++ b/slides/2019-it-intro-scrum/src/questions.tex
@@ -0,0 +1,17 @@
+\begin{frame}
+ \frametitle{Any questions?} \label{frm:que}
+ \begin{columns}
+ \begin{column}{0.49\textwidth}
+ \centering
+ \includegraphics[width=0.75\textwidth]{img/qleft}
+ \end{column}
+ \begin{column}{0.49\textwidth}
+ \centering
+ \includegraphics[width=0.75\textwidth]{img/qright}
+ \end{column}
+ \end{columns}
+
+ \centering
+ \vspace{-1cm}
+ \includegraphics[width=0.20\textwidth]{img/ty}
+\end{frame}
diff --git a/slides/2019-it-intro-scrum/src/titlepage.tex b/slides/2019-it-intro-scrum/src/titlepage.tex
new file mode 100644
index 0000000..9b18039
--- /dev/null
+++ b/slides/2019-it-intro-scrum/src/titlepage.tex
@@ -0,0 +1,3 @@
+\begin{frame}
+ \titlepage
+\end{frame}