Presentation is loading. Please wait.

Presentation is loading. Please wait.

ISA 201 Information System Acquisition

Similar presentations


Presentation on theme: "ISA 201 Information System Acquisition"— Presentation transcript:

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


Download ppt "ISA 201 Information System Acquisition"

Similar presentations


Ads by Google