diff options
author | Rasmus Dahlberg <rasmus@rgdd.se> | 2024-10-15 15:35:20 +0200 |
---|---|---|
committer | Rasmus Dahlberg <rasmus@rgdd.se> | 2024-10-15 15:35:45 +0200 |
commit | 76bae02bcd7d6b3ec9eea428e5e95da184a8dbfb (patch) | |
tree | 410ab71c78c99d35aecd46733958a5699cdf5204 /slides/2019-it-intro-scrum/src | |
parent | 883a67439aff566962adafeb0385c6ae972073a3 (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.tex | 383 | ||||
-rw-r--r-- | slides/2019-it-intro-scrum/src/preamble.tex | 73 | ||||
-rw-r--r-- | slides/2019-it-intro-scrum/src/questions.tex | 17 | ||||
-rw-r--r-- | slides/2019-it-intro-scrum/src/titlepage.tex | 3 |
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} |