Download presentation
Presentation is loading. Please wait.
1
ISA 201 Information System Acquisition
2
Lesson 13 Software Development
3
Today you will learn to:
Identify the key characteristics of the Waterfall, Incremental, Spiral, and Agile Software Development Life Cycle (SDLC) Models Given a list of software methodologies, match the software methodology best suited for the attributes of a given development project. Identify the key principles and tenets of an agile software development process Experiment with forming a self-organizing team to complete a given task Identify the key components of the Scrum process framework Given an acquisition scenario, develop estimates for tasks using agile techniques and Story Points Explain the purpose of key agile software measures Define the role of DevOps in a software development project Software Development
4
Software Development Life Cycle Approaches
Lesson Plan Software Development Life Cycle Approaches Agile Software Development Overview Scrum Exercise 1 “Scrum Ball” Exercise 2 “Story Point Estimation” Agile Measures DevOps Software Development
5
Software Life Cycle Development Approaches
Answer these questions based on the Homework: Which process model is best suited for when all the requirements are understood up front and are stable? Which process model might be best to use on a project with a lot of risks? Which process model would you choose if the requirements are not well understood and are emerging? Which process should I consider if the requirements are know up front and immediate functionality is needed? Software Development
6
Agile Software Development Overview
Lesson Plan Software Life Cycle Development Approaches Agile Software Development Overview Scrum Exercise 1 “Scrum Ball” Exercise 2 “Story Point Estimation” Agile Measures DevOps Software Development
7
Why Agile? Agile projects are 3 times more successful than Waterfall
Successful = delivered on time, on budget, with all required features and functions Challenged = Late, over budget, and/or with less than required features and functions Failed = Cancelled prior to completion or delivered and never used Software Development Source: CHAOS Manifesto 2011, The Standish Group International , Inc.
8
Why Agile? (Continued) The traditional methods aren’t working
MAIS = 38 months from MS B/FFO to FDD Everything is changing and evolving much quicker than it used to We need to do it faster Agile and Lean Methods can speed up the delivery of the software to the field. Software Development
9
Agile Software Development Definition
Agile software development is a set of software development methods in which requirements and solutions evolve through collaboration between self-organizing,[1] cross-functional teams. It promotes adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and flexible response to change.[2] [1] Collier, Ken W. (2011). Agile Analytics: A Value-Driven Approach to Business Intelligence and Data Warehousing. Pearson Education. pp. 121 ff. ISBN “What is a self-organizing team?” [2] "What is Agile Software Development?". Agile Alliance. 8 June Retrieved 4 April 2015. Software Development
10
Agile Manifesto Software Development
11
Agile Software Development Umbrella
12
Empirical Process Control
The empirical model of process control provides and exercises control through frequent inspection and adaptation for processes that are imperfectly defined and generate unpredictable and unrepeatable outputs. Software Development
13
Agile vs Traditional
14
Scrum Lesson Plan Software Life Cycle Development Approaches
Agile Software Development Overview Scrum Exercise 1 “Scrum Ball” Exercise 2 “Story Point Estimation” Agile Measures DevOps Software Development
15
Scrum Scrum is an iterative and incremental software process framework
Relies on collaborative, self-organizing, cross-functional, self-managing teams Empirical approach to managing the process Responsive to emerging or changing requirements Focuses on delivering value quickly Software Development
16
Sprint Time-boxed iteration of software development
Typically 1 – 4 weeks in duration Should not exceed a calendar month Produces an increment of potentially shippable software Once Team commits to the sprint they are not interrupted with any changes that would affect them reaching their sprint goal. Software Development
17
Scrum Framework Overview
18
Exercise 1 “Scrum Ball” Lesson Plan
Software Life Cycle Development Approaches Agile Software Development Overview Scrum Exercise 1 “Scrum Ball” Exercise 2 “Story Point Estimation” Agile Measures DevOps Software Development
19
Exercise: Scrum Ball This exercise will help us put in practice some of the topics we have been discussing with Agile. We will implement self-organizing teams, practice continuous improvement, time boxed iterations, and utilize empiricism. Software Development
20
Scrum Ball: Debrief How accurate was the first estimate? Did the estimates improve? What was the team leadership model? How did you achieve dramatic increase in velocity? Did every experiment work? Software Development
21
Scrum Roles Software Development
22
Scrum Artifacts Software Development
23
User Story Written Conversations Acceptance Criteria Epic
“As a <type of user>, I want <some goal> so that <some reason>” Conversations Flesh out the details Acceptance Criteria Defines what constitutes when the story is complete Epic A large user story that will usually be broken up before being implemented
24
Example User Stories As a maintenance test pilot, I want to be able to view all the readings for a selected flight data parameter graphed over time so that I can review what occurred during the flight Epic – As a user, I can backup my hard drive As a power user, I can specify files or folders to backup based on file size, date created and date modified As a user, I can indicate folders not to backup so that my backup drive isn’t filled up with things I don’t need to save [1] Reference Mike Cohn: Mountain Goat Software
25
Sprint Planning Meeting
Who Team, ScrumMaster. & Product Owner Agenda Discuss the top priority product backlog items Team selects which to do Why Know what will be worked on Understand it enough to do it Sprint Goal Sprint Backlog “A good plan violently executed now is better than a perfect plan executed next week.” – General George S. Patton
26
Estimation: Story Points
Unit of measure for evaluating the relative size of a user story, feature, or work item Typical Estimation Scale roughly follows the Fibonacci sequence 0, 1, 2, 3, 5, 8, 13, 20, 40, 100 Some teams include ½ and ∞ A story assigned a two should be roughly twice the size of a story assigned a value of one Unit-less Measurement Delphi / Expert Judgement method for estimating
27
Planning Poker Each team member has a set of valid Story Point Cards
Each Product Backlog Item (PBI) is discussed briefly, reference story chosen Discuss each story (2-3 mins) Each Development Team Member selects a card matching their estimate Everybody shows their cards at same time Discuss Outliers (high/lows) Repeat until team reaches a convergence in estimates Record estimate for the PBI Card(s) Interpretation Task is already completed The task is tiny 1, 2, 3 Small tasks 5 & 13 Medium sized tasks 20 & 40 Large sized tasks 100 Very large tasks ∞ Huge task ? I have no idea how long this task will take to complete
28
Planning Poker Scenario
As the facilitator for a planning poker session, you’ve given each of your six team members cards labeled, 1, 2, 3, 5, 8, and Each team member chooses a card indicating the number of story points tot assign to a particular user story. The resulting values are 3, 5, 8, 8, 13, and 20. What should you encourage the team to do next? Use a different set of numbers Ask the team members who chose the values of 3 and 20 to explain their choices Calculate the average number of points and assign it to the user story Decide what story point value to assign to the user story on behalf of the group
29
Affinity Estimation Variation
Use columns going from smallest to largest as you move left to right Identify the smallest candidate PBI and place in far left column Identify the largest PBI and place in far right column Compare each PBI to the PBI in a column if smaller go left if larger go right Once all PBIs are in columns estimate the story points for each column Record estimate for each PBI Whiteboard, Wall, or Bulletin board Software Development
30
Daily Scrum Development team meets to make the plan for the day
Answer 3 questions: What did I do yesterday? What am I doing today? What are my impediments Time Boxed 15 Minutes, standup Scheduled daily for the same time and place Opportunity to inspect and adapt daily based on the current progress on completing the sprint backlog These are NOT status for the ScrumMaster. They are commitments in front of peers
31
Sprint Review Demonstrate the work completed during the sprint
Opportunity to Inspect the work product and adapt the plan if needed Scrum Team and Stakeholders collaborate about what was completed in the sprint Opportunity to make changes to Product Backlog based on feedback Chance to discuss the path forward for the next sprint
32
Sprint Retrospective Review the Process and Product looking for ways to improve either Answer Three Questions What worked? What didn’t work? What will we do differently? Continuous Process Improvement
33
Scrum Summary – Key Components of the Scrum Framework
4 Activities Sprint Planning Daily Scrum Sprint Review Sprint Retrospective 3 Roles Product Owner Development Team ScrumMaster 3 Artifacts Product Backlog Sprint Backlog “Done” Software
34
Exercise 2 “Story Point Estimation”
Lesson Plan Software Life Cycle Development Approaches Agile Software Development Overview Scrum Exercise 1 “Scrum Ball” Exercise 2 “Story Point Estimation” Agile Measures DevOps Software Development
35
Exercise 2- Estimating Using Story Points
The objective of this exercise is let each team practice using story points to estimate a feature. Each team will create estimates for each of the recipes based on how long it would take for the food to be ready to eat using story points. Braised Corned Beef Brisket Best Ever Meatloaf with Brown Gravy Valerio’s Pulled Pork Sandwich Chantal’s New York Cheesecake Key Lime Pie VII Blazing Brisket Easy Meatloaf Best Hamburger Ever The odd teams will estimate the recipes following the Planning Poker steps outlined below. The even teams will estimate the recipes following the Affinity Estimating steps variation listed below. Software Development
36
Planning Poker Steps Each team member has a set of valid cards
Product owner reads the recipe and it’s discussed briefly Each team member selects the card that matches their estimate Everybody shows cards at the same time Discuss the outliers and why they had their estimate Re-estimate until you have a convergence Record your estimate for each recipe Software Development
37
Affinity Estimating Variant Steps
Team draws columns on whiteboard Product owner reads the recipes. Team identifies the recipe that can be completed the quickest and the one that will take the longest. The quickest recipe is placed in the far left column and the longest in the far right column Next the team compares each recipe to the quickest and hardest and selects a column to place it in. Once there is a recipe in another column the team can then evaluate the next one based on that and if it is quicker then go to the left, if it is longer go to the right, and if it is equivalent place it in the same column. Once all recipes have been assigned to a column the team can use planning poker to determine the story point value for each column. The team can agree to group adjacent columns with the same story point value. Software Development
38
Agile Measures Lesson Plan Software Life Cycle Development Approaches
Agile Software Development Overview Scrum Exercise 1 “Scrum Ball” Exercise 2 “Story Point Estimation” Agile Measures DevOps Software Development
39
Agile Measures Overview
Measurement is also used extensively used in agile approaches - generally the measures are used internally by the development teams The measures are generally a smaller subset of measures and the applicable timeframes are generally small The next few slides: Introduce measures used in Agile development Help you to understand Agile measurement visualizations Identify some team level and program level measures in Agile development Software Development
40
Integrating Agile Measurement into Your Overall Management Metrics
Agile/Iterative measures for teams leverage the approach of time-boxing (fixing the schedule for the iteration, and varying the target requirements to be fulfilled based on the team’s capacity and capability) Opposite of traditional acquisition where schedule is based on estimates of what it takes to implement a fixed set of requirements Agile/Iterative iteration measures are meant primarily for the team’s use External use of iteration metrics is generally discouraged Release metrics are generally used for monitoring/management purposes Software Development
41
Typical Team Measures for Agile Development
Metrics used by and for the development team: Kanban Board for Task Tracking Sprint Burn-down Charts Release Burn-Up Charts Velocity Teams focus on delivering working code Software Development
42
Burndown Chart Tool for visualizing daily progress during a sprint
Ideal trend line graphs hours remaining for tasks in sprint backlog over the length of the Sprint As team updates hours remaining for the tasks in progress the chart indicates if progress is above or below the trend line
43
Velocity Velocity – Is a measure of a team’s rate of progress
The purpose of velocity is to help aid the team in planning the next sprint and forecasting when to expect a subset of features to be ready for shipping Calculated by summing the story point estimates of the PBIs completed during the Sprint The average velocity is used to determine how much to plan for the next sprint NOTE: Velocity is tied to a specific team and should not be used to compare two teams!
44
Cumulative Flow Diagrams
The green line/area shows how many items have been delivered over time The yellow line / area shows how many items are in progress The top part (red) is the backlog or how many items weren’t yet started Software Development
45
DevOps Lesson Plan Software Life Cycle Development Approaches
Agile Software Development Overview Scrum Exercise 1 “Scrum Ball” Exercise 2 “Story Point Estimation” Agile Measures DevOps Software Development
46
Silos and Delivery Challenges
Systems Development
47
How to fix these problems? Origin of “DevOps”
Develop and test against production-like environments Iterative and frequent deployments using repeatable and reliable processes Continuously monitor and validate operational quality characteristics Track and Plan everything Version everything Automate everything Test everything Audit and Monitor everything Dashboard everything Systems Development 47
48
Agile Benefits Summary
Agile is not a Silver Bullet, But DoD can benefit greatly from adopting Agile processes Agile can reduce program risk by frequent releases Agile can respond to change to ensure that the warfighter is actually getting a product they need Agile allows the DoD to integrate the latest technological advancements to address an increasingly complex operational environment to allow them to keep pace with the rapid changes in IT Agile provides a core set of principles to help the DoD get away from cumbersome monolithic systems for IT
49
Today we learned to: Identify the key characteristics of the Waterfall, Incremental, Spiral, and Agile Software Development Life Cycle (SDLC) Models Given a list of software methodologies, match the software methodology best suited for the attributes of a given development project. Identify the key principles and tenets of an agile software development process Experiment with forming a self-organizing team to complete a given task Identify the key components of the Scrum process framework Given an acquisition scenario, develop estimates for tasks using agile techniques and Story Points Explain the purpose of key agile software measures Define the role of DevOps in a software development project Software Development
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.