\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{Natalie Moore (NatalieMoore)} \pdfinfo{ /Title (system-development-methodologies.pdf) /Creator (Cheatography) /Author (Natalie Moore (NatalieMoore)) /Subject (System Development Methodologies Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{A31725} \definecolor{LightBackground}{HTML}{F9F0F1} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{System Development Methodologies Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{Natalie Moore (NatalieMoore)} via \textcolor{DarkBackground}{\uline{cheatography.com/19119/cs/9758/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}Natalie Moore (NatalieMoore) \\ \uline{cheatography.com/nataliemoore} \\ \uline{\seqsplit{www}.jchmedia.com/} \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Published 8th November, 2016.\\ Updated 8th November, 2016.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{3} \begin{tabularx}{5.377cm}{p{0.4977 cm} x{4.4793 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Key aspects of a methodology}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Should promote activity which is:} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} - & Purposeful \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} - & Controlled \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} - & Rigorous \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{and produce results that are:} \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} - & Meaningful \tn % Row Count 6 (+ 1) % Row 6 \SetRowColor{LightBackground} - & Reproducible \tn % Row Count 7 (+ 1) % Row 7 \SetRowColor{white} - & Relevant \tn % Row Count 8 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Remember that a methodology is only a means to an end and not an end in itself} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Dynamic Systems Development Method Image}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/nataliemoore_1478590556_Picture2.jpg}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{p{0.4577 cm} x{2.15119 cm} x{1.96811 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{5.377cm}}{\bf\textcolor{white}{Extreme Programming (XP) Methodology}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{3}{x{5.377cm}}{For creating software within a very unstable environment} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \mymulticolumn{3}{x{5.377cm}}{Allows flexibility within the modelling process} \tn % Row Count 3 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{3}{x{5.377cm}}{Main goal to lower the cost of change in software requirements} \tn % Row Count 5 (+ 2) % Row 3 \SetRowColor{white} \mymulticolumn{3}{x{5.377cm}}{{\bf{XP Core Practices}}} \tn % Row Count 6 (+ 1) % Row 4 \SetRowColor{LightBackground} - & Fine scale feedback & \tn % Row Count 8 (+ 2) % Row 5 \SetRowColor{white} & - & Test driven development \tn % Row Count 10 (+ 2) % Row 6 \SetRowColor{LightBackground} & - & Planning game \tn % Row Count 11 (+ 1) % Row 7 \SetRowColor{white} & - & Whole team \tn % Row Count 12 (+ 1) % Row 8 \SetRowColor{LightBackground} & - & Pair programming \tn % Row Count 13 (+ 1) % Row 9 \SetRowColor{white} - & Continuous process rather than batch & \tn % Row Count 15 (+ 2) % Row 10 \SetRowColor{LightBackground} & - & Continuous Integration \tn % Row Count 17 (+ 2) % Row 11 \SetRowColor{white} & - & Design Improvement \tn % Row Count 19 (+ 2) % Row 12 \SetRowColor{LightBackground} & - & Small Releases \tn % Row Count 20 (+ 1) % Row 13 \SetRowColor{white} - & Shared understanding & \tn % Row Count 22 (+ 2) % Row 14 \SetRowColor{LightBackground} & - & Simple design \tn % Row Count 23 (+ 1) % Row 15 \SetRowColor{white} & - & System metaphor \tn % Row Count 24 (+ 1) % Row 16 \SetRowColor{LightBackground} & - & Collective code ownership \tn % Row Count 26 (+ 2) % Row 17 \SetRowColor{white} & - & Coding standards or coding conventions \tn % Row Count 29 (+ 3) % Row 18 \SetRowColor{LightBackground} - & Programmer welfare & \tn % Row Count 30 (+ 1) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{p{0.4577 cm} x{2.15119 cm} x{1.96811 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{5.377cm}}{\bf\textcolor{white}{Extreme Programming (XP) Methodology (cont)}} \tn % Row 19 \SetRowColor{LightBackground} & - & Sustainable pace (i.e. forty hour week) \tn % Row Count 3 (+ 3) % Row 20 \SetRowColor{white} \mymulticolumn{3}{x{5.377cm}}{{\bf{Corollary practices}}} \tn % Row Count 4 (+ 1) % Row 21 \SetRowColor{LightBackground} \mymulticolumn{3}{x{5.377cm}}{Interaction between developers and customers is good. Therefore, an XP team is supposed to have a customer on site, who specifies and prioritizes work for the team, and who can answer questions as soon as they arise. (In practice, this role is sometimes fulfilled by a customer proxy.)} \tn % Row Count 10 (+ 6) % Row 22 \SetRowColor{white} \mymulticolumn{3}{x{5.377cm}}{If learning is good, take it to extremes: Reduce the length of development and feedback cycles. Test early.} \tn % Row Count 13 (+ 3) % Row 23 \SetRowColor{LightBackground} \mymulticolumn{3}{x{5.377cm}}{Simple code is more likely to work. Therefore, extreme programmers only write code to meet actual needs at the present time in a project, and go to some lengths to reduce complexity and duplication in their code.} \tn % Row Count 18 (+ 5) % Row 24 \SetRowColor{white} \mymulticolumn{3}{x{5.377cm}}{If simple code is good, re-write code when it becomes complex.} \tn % Row Count 20 (+ 2) % Row 25 \SetRowColor{LightBackground} \mymulticolumn{3}{x{5.377cm}}{Code reviews are good. Therefore XP programmers work in pairs, sharing one screen and keyboard (which also improves communication) so that all code is reviewed as it is written.} \tn % Row Count 24 (+ 4) % Row 26 \SetRowColor{white} \mymulticolumn{3}{x{5.377cm}}{Testing code is good. Therefore, in XP, tests are written before the code is written. The code is considered complete when it passes the tests (but then it needs refactoring to remove complexity). The system is periodically, or immediately tested using all pre-existing automated tests to assure that it works. See test-driven development.} \tn % Row Count 31 (+ 7) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{p{0.4977 cm} p{0.4977 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{What can go wrong?}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Deadlines} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Equipment} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Requirements} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Vendors} \tn % Row Count 4 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{p{0.4977 cm} p{0.4977 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Re-use - Search for 'Short-Cuts'}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Re-use, clone, develop} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Packages (modify/tailor)} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Share code/libraries/buy-in} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Build new interfaces} \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Umbrella systems} \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Leverage existing systems/experience} \tn % Row Count 6 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{p{0.4977 cm} p{0.4977 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Top tips}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Avoid Poor Estimating and/or Scheduling} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Avoid Ineffective Stakeholder Management} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Avoid Insufficient Risk Management} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Avoid Insufficient Planning} \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Avoid Shortchanging Quality Assurance} \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Avoid Weak Personnel and/or Team Issues} \tn % Row Count 6 (+ 1) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Avoid Insufficient Project Sponsorship} \tn % Row Count 7 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{p{0.4977 cm} p{0.4977 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Why do we have different types?}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Degrees of the problem domain, hard and soft} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Peoples particular mind sets} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Easier to use hard approaches} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Soft provide greater insight} \tn % Row Count 4 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{p{0.4977 cm} x{4.4793 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Dynamic Systems Development Method (DSDM)}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Principles:} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} - & Active user involvement is imperative \tn % Row Count 3 (+ 2) % Row 2 \SetRowColor{LightBackground} - & Focus is on frequent delivery of products \tn % Row Count 5 (+ 2) % Row 3 \SetRowColor{white} - & DSDM teams must be empowered to make decisions \tn % Row Count 7 (+ 2) % Row 4 \SetRowColor{LightBackground} - & Fitness for business purpose is the essential criterion for acceptance of deliverables \tn % Row Count 10 (+ 3) % Row 5 \SetRowColor{white} - & Development is iterative and incremental \tn % Row Count 12 (+ 2) % Row 6 \SetRowColor{LightBackground} - & All changes during development are reversible \tn % Row Count 14 (+ 2) % Row 7 \SetRowColor{white} - & Requirements are baselined at a high level \tn % Row Count 16 (+ 2) % Row 8 \SetRowColor{LightBackground} - & Testing is integrated throughout lifecycle \tn % Row Count 18 (+ 2) % Row 9 \SetRowColor{white} - & Collaborative and co-operative approach between stakeholders is essential \tn % Row Count 21 (+ 3) % Row 10 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Key Features} \tn % Row Count 22 (+ 1) % Row 11 \SetRowColor{white} - & Deliver quickly and often (timeboxing) \tn % Row Count 24 (+ 2) % Row 12 \SetRowColor{LightBackground} - & Critical functionality delivered (MoSCoW) \tn % Row Count 26 (+ 2) % Row 13 \SetRowColor{white} - & Joint Application Development workshops (JAD) \tn % Row Count 28 (+ 2) % Row 14 \SetRowColor{LightBackground} - & Prototyping/tools used to validate user requirements \tn % Row Count 30 (+ 2) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{p{0.4977 cm} x{4.4793 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Dynamic Systems Development Method (DSDM) (cont)}} \tn % Row 15 \SetRowColor{LightBackground} - & Re-use \tn % Row Count 1 (+ 1) % Row 16 \SetRowColor{white} - & Extreme Programming (user stories, paired programing, focus on communication and teamwork) \tn % Row Count 4 (+ 3) % Row 17 \SetRowColor{LightBackground} - & Requirements not fully defined before development \tn % Row Count 6 (+ 2) % Row 18 \SetRowColor{white} - & Culture change \tn % Row Count 7 (+ 1) % Row 19 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Benefits - overcomes:} \tn % Row Count 8 (+ 1) % Row 20 \SetRowColor{white} - & Long iteration of refinement/agreement \tn % Row Count 10 (+ 2) % Row 21 \SetRowColor{LightBackground} - & Contacting key parties/arranging meetings \tn % Row Count 12 (+ 2) % Row 22 \SetRowColor{white} - & Cycle of meetings \tn % Row Count 13 (+ 1) % Row 23 \SetRowColor{LightBackground} - & Resolving different views/perspectives \tn % Row Count 15 (+ 2) % Row 24 \SetRowColor{white} - & Changing requirements during process \tn % Row Count 16 (+ 1) % Row 25 \SetRowColor{LightBackground} - & Loss of momentum/commitment \tn % Row Count 17 (+ 1) % Row 26 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Deliver on time to budget} \tn % Row Count 18 (+ 1) % Row 27 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Does not cut important corners} \tn % Row Count 19 (+ 1) % Row 28 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Results from practical experience} \tn % Row Count 20 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{p{0.4977 cm} x{4.4793 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Systems Development Life Cycle (SDLC) Methodology}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Conceptual model used in project management} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Water fall was original} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Describes the stages involved in systems dev project} \tn % Row Count 4 (+ 2) % Row 3 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Documentation is crucial} \tn % Row Count 5 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Documentation is done in parallel with the development process} \tn % Row Count 7 (+ 2) % Row 5 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Most important factor project success may be how closely the plan was followed} \tn % Row Count 9 (+ 2) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{{\bf{Steps:}}} \tn % Row Count 10 (+ 1) % Row 7 \SetRowColor{white} 1. & If there is an existing system its deficiencies are identified. Iterview users, consult with support personnel \tn % Row Count 14 (+ 4) % Row 8 \SetRowColor{LightBackground} 2. & New system requirements are defined \tn % Row Count 15 (+ 1) % Row 9 \SetRowColor{white} - & addressing any deficiencies \tn % Row Count 16 (+ 1) % Row 10 \SetRowColor{LightBackground} - & with specific proposals for improvement \tn % Row Count 18 (+ 2) % Row 11 \SetRowColor{white} 3. & System is designed, plans created for: \tn % Row Count 20 (+ 2) % Row 12 \SetRowColor{LightBackground} - & hardware \tn % Row Count 21 (+ 1) % Row 13 \SetRowColor{white} - & operating systems \tn % Row Count 22 (+ 1) % Row 14 \SetRowColor{LightBackground} - & programming \tn % Row Count 23 (+ 1) % Row 15 \SetRowColor{white} - & security issues \tn % Row Count 24 (+ 1) % Row 16 \SetRowColor{LightBackground} 4. & System is developed \tn % Row Count 25 (+ 1) % Row 17 \SetRowColor{white} - & Components and programs must be obtained and installed. \tn % Row Count 27 (+ 2) % Row 18 \SetRowColor{LightBackground} - & Users must be trained \tn % Row Count 28 (+ 1) % Row 19 \SetRowColor{white} - & Performance must be tested. Adjustments must be made at this stage. \tn % Row Count 30 (+ 2) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{p{0.4977 cm} x{4.4793 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Systems Development Life Cycle (SDLC) Methodology (cont)}} \tn % Row 20 \SetRowColor{LightBackground} 5. & System is deployed \tn % Row Count 1 (+ 1) % Row 21 \SetRowColor{white} - & might be phased in \tn % Row Count 2 (+ 1) % Row 22 \SetRowColor{LightBackground} - & shut down the old system and implement the new system all at once \tn % Row Count 4 (+ 2) % Row 23 \SetRowColor{white} 6. & Monitor and maintain \tn % Row Count 5 (+ 1) % Row 24 \SetRowColor{LightBackground} - & Evaluate system post deploy \tn % Row Count 6 (+ 1) % Row 25 \SetRowColor{white} - & Maintenance must be kept up \tn % Row Count 7 (+ 1) % Row 26 \SetRowColor{LightBackground} - & Users should be kept up to date \tn % Row Count 8 (+ 1) % Row 27 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{{\bf{Benefits}}} \tn % Row Count 9 (+ 1) % Row 28 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Clear project objectives.} \tn % Row Count 10 (+ 1) % Row 29 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Stable project requirements} \tn % Row Count 11 (+ 1) % Row 30 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Progress of system is measurable} \tn % Row Count 12 (+ 1) % Row 31 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Strict sign-off requirements} \tn % Row Count 13 (+ 1) % Row 32 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{{\bf{Disadvantages}}} \tn % Row Count 14 (+ 1) % Row 33 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Time consuming} \tn % Row Count 15 (+ 1) % Row 34 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Little room for iteration} \tn % Row Count 16 (+ 1) % Row 35 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Difficulty responding to changes} \tn % Row Count 17 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{p{0.4977 cm} p{0.4977 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Prototyping}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Prototyping/CASE tools} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Ability to deliver quickly} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Experiment/try out ideas} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Project management} \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Encourages re-use} \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Version control} \tn % Row Count 6 (+ 1) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Automates testing/system cut-over} \tn % Row Count 7 (+ 1) % Row 7 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Prototype is the technical specification, a repository provides self documentation} \tn % Row Count 9 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{p{0.4977 cm} p{0.4977 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Rapid Application Development (RAD)}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Different versions exist} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{DSDM (Dynamic Systems Development Method)} \tn % Row Count 2 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{p{0.4977 cm} p{0.4977 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{MOSCOW Rules}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{{\bf{Must have}} – without these features the project is not viable (min. CSFs)} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{{\bf{Should have}} – to gain maximum benefit, these features will be delivered} \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{{\bf{Could have}} – if time and resources allow these features will be delivered} \tn % Row Count 6 (+ 2) % Row 3 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{{\bf{Won't have}} – these features will not be delivered} \tn % Row Count 8 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{p{0.4977 cm} x{4.4793 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Waterfall (a.k.a. Traditional) Methodology}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Version of the systems development life cycle model} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Classic approach} \tn % Row Count 3 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Rigid and linear} \tn % Row Count 4 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Distinct goals for each phase of development} \tn % Row Count 5 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Each phase is completed before the next one is started} \tn % Row Count 7 (+ 2) % Row 5 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{There is no turning back} \tn % Row Count 8 (+ 1) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Benefits} \tn % Row Count 9 (+ 1) % Row 7 \SetRowColor{white} - & allows for departmentalization \tn % Row Count 10 (+ 1) % Row 8 \SetRowColor{LightBackground} - & allows for managerial control \tn % Row Count 11 (+ 1) % Row 9 \SetRowColor{white} - & Deadlines \tn % Row Count 12 (+ 1) % Row 10 \SetRowColor{LightBackground} - & In theory project will be delivered on time due to planning and process \tn % Row Count 14 (+ 2) % Row 11 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Problems} \tn % Row Count 15 (+ 1) % Row 12 \SetRowColor{LightBackground} - & often falls short of expectations \tn % Row Count 16 (+ 1) % Row 13 \SetRowColor{white} - & does not embrace the inevitable changes and revisions that become necessary with most projects \tn % Row Count 19 (+ 3) % Row 14 \SetRowColor{LightBackground} - & Once an application is in the testing stage, it is very difficult to go back and change something that was not thought of in the concept stage \tn % Row Count 23 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{p{0.4977 cm} x{4.4793 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Scrum Methodology}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Agile method} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Goal is to dramatically improve productivity in teams previously paralyzed by heavier, process-laden methodologies} \tn % Row Count 4 (+ 3) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{{\bf{Characterized by}}} \tn % Row Count 5 (+ 1) % Row 3 \SetRowColor{white} - & A living backlog of prioritized work to be done \tn % Row Count 7 (+ 2) % Row 4 \SetRowColor{LightBackground} - & Completion of a largely fixed set of backlog items in a series of short iterations or sprints \tn % Row Count 10 (+ 3) % Row 5 \SetRowColor{white} - & A brief daily meeting (called a scrum), at which progress is explained, upcoming work is described, and obstacles are raised \tn % Row Count 14 (+ 4) % Row 6 \SetRowColor{LightBackground} - & A brief planning session in which the backlog items for the sprint will be defined \tn % Row Count 17 (+ 3) % Row 7 \SetRowColor{white} - & A brief heartbeat retrospective, at which all team members reflect about the past sprint \tn % Row Count 20 (+ 3) % Row 8 \SetRowColor{LightBackground} - & Facilitated by a scrum master \tn % Row Count 21 (+ 1) % Row 9 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{{\bf{Scrum master role}}} \tn % Row Count 22 (+ 1) % Row 10 \SetRowColor{LightBackground} - & Primary job is to remove impediments of team to deliver sprint goal \tn % Row Count 24 (+ 2) % Row 11 \SetRowColor{white} - & Not leader of team (team is self-organizing) \tn % Row Count 26 (+ 2) % Row 12 \SetRowColor{LightBackground} - & Acts as productivity buffer between team and destabilizing influences \tn % Row Count 28 (+ 2) % Row 13 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{{\bf{Benefits:}}} \tn % Row Count 29 (+ 1) % Row 14 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Enables creation of self-organizing teams} \tn % Row Count 30 (+ 1) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{p{0.4977 cm} x{4.4793 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Scrum Methodology (cont)}} \tn % Row 15 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Encourages verbal communication across team members and across disciplines} \tn % Row Count 2 (+ 2) % Row 16 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Adopts an empirical approach - accepting the problem cannot be fully understood or defined, focusing instead on maximizing the team's ability to respond in an agile manner to emerging challenges.} \tn % Row Count 6 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{p{0.4977 cm} p{0.4977 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Practitioner Advice}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Senior management should support the project whole heartedly} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Detailed planning should be undertaken} \tn % Row Count 3 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Project management principles should be applied} \tn % Row Count 4 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{The key business objectives should be identified and kept in focus} \tn % Row Count 6 (+ 2) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Requirements should be evolved over time by the use of prototypes.} \tn % Row Count 8 (+ 2) % Row 5 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Organisational politics must be considered and navigated} \tn % Row Count 10 (+ 2) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Ensure adequate investment is made} \tn % Row Count 11 (+ 1) % Row 7 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Develop realistic implementation timescales} \tn % Row Count 12 (+ 1) % Row 8 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Use an appropriate development approach/method for the context} \tn % Row Count 14 (+ 2) % Row 9 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Identify users and stakeholders and involve them} \tn % Row Count 15 (+ 1) % Row 10 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Ensure you have skilled, proactive IT/IS people} \tn % Row Count 16 (+ 1) % Row 11 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Changing requirements should be recognised as a normal occurrence and systems need to be put in place to facilitate this} \tn % Row Count 19 (+ 3) % Row 12 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{The technology itself should be proven} \tn % Row Count 20 (+ 1) % Row 13 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{Any contractors should be managed as if they were an internal team} \tn % Row Count 22 (+ 2) % Row 14 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Problems should be evaluated and where relevant resolved as they are encountered and not ignored} \tn % Row Count 24 (+ 2) % Row 15 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{As a last resort, if serious problems are encountered, project timescale should be delayed, rather than risk a disaster} \tn % Row Count 27 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}