Skip to content

Commit

Permalink
lecture 5
Browse files Browse the repository at this point in the history
  • Loading branch information
loudinb committed Jan 25, 2024
1 parent 2e932b1 commit 391e885
Showing 1 changed file with 119 additions and 8 deletions.
127 changes: 119 additions & 8 deletions 24ss/slides/lecture_5.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<link href="lecture_5_files/libs/quarto-html/quarto-syntax-highlighting.css" rel="stylesheet" id="quarto-text-highlighting-styles"><meta charset="utf-8">
<meta name="generator" content="quarto-1.3.450">

<title>Thursday, January 25, 2024</title>
<title>lecture_5</title>
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
Expand Down Expand Up @@ -325,11 +325,10 @@
<div class="reveal">
<div class="slides">

<section id="title-slide" class="quarto-title-block center">
<h1 class="title">Thursday, January 25, 2024</h1>

<div class="quarto-title-authors">
</div>
<section>
<section id="thursday-january-25-2024" class="title-slide slide level1 center">
<h1>Thursday, January 25, 2024</h1>

</section>
<section id="front-matter" class="slide level2">
Expand All @@ -339,6 +338,7 @@ <h2>Front Matter</h2>
<ul>
<li>Online @ 12:30 p.m. ~ 30 minutes.</li>
</ul></li>
<li>Feedback is <strong>always</strong> welcomed and appreciated.</li>
</ul>
</section>
<section id="todays-agenda" class="slide level2">
Expand Down Expand Up @@ -367,6 +367,23 @@ <h2>Methodology Evolution</h2>
<p>Not all methodologies adhere strictly to the linear sequence described by the Software Development Life Cycle.</p>
<p>Methodologies like Agile and DevOps often take a more dynamic approach that iterating or cycling through these stages in a more integrated and flexible manner, adapting to the specific needs of the project.</p>
</section>
<section id="disclaimer" class="slide level2">
<h2>Disclaimer</h2>
<p><br></p>
<div class="callout callout-caution callout-titled callout-style-default">
<div class="callout-body">
<div class="callout-title">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<p><strong>Caution</strong></p>
</div>
<div class="callout-content">
<p>Please note that the information provided contains some subjective elements, as I do not possess practical experience in the application of all the methods discussed. In practice, these methods are often adjusted or modified, which can lead to a difference between the theoretical intent and practical application. It’s important to consider this when interpreting and applying the information.</p>
</div>
</div>
</div>
</section></section>
<section>
<section id="traditional-models" class="title-slide slide level1 center">
<h1>Traditional Models</h1>
Expand All @@ -380,6 +397,11 @@ <h2>Waterfall Model: Overview</h2>
<li><strong>Progress Flows Downwards</strong>: Like a waterfall, each phase flows into the next without iteration.</li>
</ul>
</section>
<section id="waterfall-model-visualized" class="slide level2">
<h2>Waterfall Model: Visualized</h2>
<p><br></p>

<img data-src="https://upload.wikimedia.org/wikipedia/commons/b/bf/Waterfall_model_revised.svg" class="r-stretch quarto-figure-center"><p class="caption">BeaoFirst version: Paul Smith, <a href="https://creativecommons.org/licenses/by/3.0">CC BY 3.0</a>, via Wikimedia Commons</p></section>
<section id="waterfall-model-key-facts" class="slide level2">
<h2>Waterfall Model: Key Facts</h2>
<ul>
Expand All @@ -403,6 +425,10 @@ <h2>Iterative Model: Overview</h2>
<li><strong>Early Prototypes</strong>: Quick initial versions to understand requirements and solutions.</li>
</ul>
</section>
<section id="iterative-model-visualized" class="slide level2">
<h2>Iterative Model: Visualized</h2>

<img data-src="https://upload.wikimedia.org/wikipedia/commons/5/58/Iterative_Process_Diagram.svg" class="r-stretch quarto-figure-center"><p class="caption">Krupadeluxe, <a href="https://creativecommons.org/licenses/by-sa/4.0">CC BY-SA 4.0</a>, via Wikimedia Commons</p></section>
<section id="iterative-model-key-facts" class="slide level2">
<h2>Iterative Model: Key Facts</h2>
<ul>
Expand All @@ -427,6 +453,10 @@ <h2>Incremental Model: Overview</h2>
<li><strong>Multiple Development Cycles</strong>: Each increment represents a slice of the full functionality.</li>
</ul>
</section>
<section id="incremental-model-visualized" class="slide level2">
<h2>Incremental Model: Visualized</h2>

<img data-src="https://upload.wikimedia.org/wikipedia/commons/e/e4/Incremental_Model.jpg" class="r-stretch quarto-figure-center"><p class="caption">RahulT, <a href="https://creativecommons.org/licenses/by-sa/3.0">CC BY-SA 3.0</a>, via Wikimedia Commons</p></section>
<section id="incremental-model-key-facts" class="slide level2">
<h2>Incremental Model: Key Facts</h2>
<ul>
Expand All @@ -450,6 +480,10 @@ <h2>V-Model: Overview</h2>
<li><strong>Emphasis on Testing</strong>: Integration of development and testing throughout the process.</li>
</ul>
</section>
<section id="v-model-visualized" class="slide level2">
<h2>V-Model: Visualized</h2>

<img data-src="https://upload.wikimedia.org/wikipedia/commons/f/f9/V-model.svg" class="r-stretch quarto-figure-center"><p class="caption">Herman Bruyninckx, <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC BY-SA 3.0</a>, via Wikimedia Commons</p></section>
<section id="v-model-key-facts" class="slide level2">
<h2>V-Model: Key Facts</h2>
<ul>
Expand All @@ -473,6 +507,10 @@ <h2>Spiral Model: Overview</h2>
<li><strong>Iterative Approach</strong>: Cycles through these phases repeatedly with increasing detail.</li>
</ul>
</section>
<section id="spiral-model-visualized" class="slide level2">
<h2>Spiral Model: Visualized</h2>

<img data-src="https://upload.wikimedia.org/wikipedia/commons/e/ec/Spiral_model_%28Boehm%2C_1988%29.svg" class="r-stretch quarto-figure-center"><p class="caption">Conny derivative work: Spiral_model_(Boehm,_1988).png: Marctroyderivative work: Conan, Public domain, via Wikimedia Commons</p></section>
<section id="spiral-model-key-facts" class="slide level2">
<h2>Spiral Model: Key Facts</h2>
<ul>
Expand All @@ -496,6 +534,10 @@ <h2>RAD Model: Overview</h2>
<li><strong>Rapid Development</strong>: Quick iterations with a focus on functional software.</li>
</ul>
</section>
<section id="rad-model-visualized" class="slide level2">
<h2>RAD Model: Visualized</h2>

<img data-src="https://upload.wikimedia.org/wikipedia/commons/5/53/Rapid_application_software_development.svg" class="r-stretch quarto-figure-center"><p class="caption">Beao, Public domain, via Wikimedia Commons</p></section>
<section id="rad-model-key-facts" class="slide level2">
<h2>RAD Model: Key Facts</h2>
<ul>
Expand Down Expand Up @@ -554,6 +596,10 @@ <h2>Extreme Programming (XP): Overview</h2>
<li><strong>Continuous Feedback</strong>: Integral for project direction and refinement.</li>
</ul>
</section>
<section id="extreme-programming-xp-visualized" class="slide level2">
<h2>Extreme Programming (XP): Visualized</h2>

<img data-src="https://upload.wikimedia.org/wikipedia/commons/8/84/Extreme_Programming.svg" class="r-stretch quarto-figure-center"><p class="caption">DonWells, <a href="https://creativecommons.org/licenses/by-sa/3.0">CC BY-SA 3.0</a>, via Wikimedia Commons)</p></section>
<section id="extreme-programming-xp-key-practices" class="slide level2">
<h2>Extreme Programming (XP): Key Practices</h2>
<ul>
Expand Down Expand Up @@ -594,6 +640,10 @@ <h2>Scrum: Overview</h2>
<li><strong>Empirical Process Control</strong>: Based on observation and adaptation.</li>
</ul>
</section>
<section id="scrum-visualized" class="slide level2">
<h2>Scrum: Visualized</h2>

<img data-src="https://upload.wikimedia.org/wikipedia/commons/5/58/Scrum_process.svg" class="r-stretch quarto-figure-center"><p class="caption">Lakeworks, <a href="%3Chttps://creativecommons.org/licenses/by-sa/4.0">CC BY-SA 4.0</a>, via Wikimedia Commons</p></section>
<section id="scrum-key-roles-and-artifacts" class="slide level2">
<h2>Scrum: Key Roles and Artifacts</h2>
<h3 id="roles-and-artifacts">Roles and Artifacts</h3>
Expand Down Expand Up @@ -635,6 +685,10 @@ <h2>Kanban: Overview</h2>
<li><strong>Continuous Workflow Management</strong>: Regularly assessing and refining the workflow.</li>
</ul>
</section>
<section id="kanban-visualized" class="slide level2">
<h2>Kanban: Visualized</h2>

<img data-src="https://upload.wikimedia.org/wikipedia/commons/b/b4/Abstract_Kanban_Board.svg" class="r-stretch quarto-figure-center"><p class="caption">Jennifer Falco, <a href="https://creativecommons.org/licenses/by/4.0">CC BY 4.0</a>, via Wikimedia Commons</p></section>
<section id="kanban-practices-and-metrics" class="slide level2">
<h2>Kanban: Practices and Metrics</h2>
<ul>
Expand Down Expand Up @@ -751,6 +805,10 @@ <h2>DevOps: Overview</h2>
<li><strong>Automation and Integration</strong>: Automating repetitive tasks and integrating processes for efficiency.</li>
</ul>
</section>
<section id="devops-visualized" class="slide level2">
<h2>DevOps: Visualized</h2>

<img data-src="https://upload.wikimedia.org/wikipedia/commons/0/05/Devops-toolchain.svg" class="r-stretch quarto-figure-center"><p class="caption">Kharnagy, <a href="https://creativecommons.org/licenses/by-sa/4.0">CC BY-SA 4.0</a>, via Wikimedia Commons</p></section>
<section id="devops-key-practices-and-tools" class="slide level2">
<h2>DevOps: Key Practices and Tools</h2>
<h3 id="practices-and-tools">Practices and Tools</h3>
Expand Down Expand Up @@ -783,10 +841,63 @@ <h2>DevOps: Best Practices</h2>
<li><strong>Iterative Approach</strong>: Gradually implementing changes and improvements.</li>
<li><strong>Focus on Automation</strong>: Automating as much as possible to reduce manual work and errors.</li>
</ul>
</section></section>
<section>
<section id="summary-of-sdlc-models-agile-methods-and-devops" class="title-slide slide level1 center">
<h1>Summary of SDLC Models, Agile Methods, and DevOps”</h1>

</section>
<section id="traditional-sdlc-models" class="slide level2">
<h2>Traditional SDLC Models</h2>
<ul>
<li><strong>Waterfall Model:</strong> Sequential phases; each phase begins only after the previous one is completed.</li>
<li><strong>V-Model:</strong> Extension of the waterfall model; emphasizes verification and validation.</li>
<li><strong>Iterative Model:</strong> Develops a system through repeated cycles and smaller portions.</li>
<li><strong>Incremental Model:</strong> Divides the product into builds, where parts are developed and added in increments.</li>
<li><strong>RAD Model:</strong> Rapid Application Development; focuses on quick development and iteration.</li>
<li><strong>Spiral Model:</strong> Combines iterative development with the systematic aspects of the waterfall model.</li>
</ul>
</section>
<section id="agile-methods" class="slide level2">
<h2>Agile Methods</h2>
<ul>
<li><strong>Extreme Programming (XP):</strong> Emphasizes customer satisfaction and engineering practices.</li>
<li><strong>Scrum:</strong> Framework for managing and completing complex projects.</li>
<li><strong>Kanban:</strong> Visual approach to managing tasks and workflows.</li>
</ul>
</section>
<section id="devops-1" class="slide level2">
<h2>DevOps</h2>
<ul>
<li>Integrates development and operations teams to improve collaboration and productivity.</li>
<li>Emphasizes automation, continuous integration, and quick feedback cycles.</li>
</ul>
</section>
<section id="next-class" class="slide level2">
<h2>Next Class</h2>
<p>In the next class we will delve deeper into each approach, discussing its specific methodologies, best practices, and appropriate application contexts.</p>
<section id="identifying-the-best-approach" class="slide level2">
<h2>Identifying the Best Approach</h2>
<div class="callout-info">
<p>The most effective development approach is contingent on a blend of product requirements, team dynamics, and organizational context.</p>
</div>
<ul>
<li><p><strong>Align with Product Needs:</strong> Different products may require different development methodologies. Consider the complexity, scope, and market dynamics.</p></li>
<li><p><strong>Consider Organizational Dynamics:</strong> The choice of methodology should complement the organization’s culture, structure, and workflow.</p></li>
<li><p><strong>Team Structure and Skills:</strong> The skills, experience, and preferences of the development team are crucial in selecting the most effective approach.</p></li>
<li><p><strong>Resource Availability:</strong> Assess resource availability, including time, budget, and tools, to support the chosen methodology.</p></li>
<li><p><strong>Flexibility and Scalability:</strong> Consider how easily a methodology can adapt to changes and scale as the project grows.</p></li>
<li><p><strong>Client Involvement:</strong> The level of client involvement and feedback can influence the choice between more rigid or flexible methodologies.</p></li>
</ul>
</section></section>
<section>
<section id="coming-up" class="title-slide slide level1 center">
<h1>Coming Up</h1>

</section>
<section id="next-week" class="slide level2">
<h2>Next Week</h2>
<ul>
<li>Tuesday, Quiz 1, online but I will be in class for any question.</li>
<li>Thursday, we will discuss Requirements Engineering.</li>
</ul>
<div class="footer footer-default">

</div>
Expand Down

0 comments on commit 391e885

Please sign in to comment.