Models of Software Development



Similar documents
When is Agile the Best Project Management Method? Lana Tylka

Software Development Process

Waterfall to Agile. DFI Case Study By Nick Van, PMP

Software Engineering

Software Development Methodologies

software studio software development processes Daniel Jackson

Agile Scrum Workshop

Introduction to Agile and Scrum

How to optimize offshore software development with Agile methodologies

From Agile by Design. Full book available for purchase here.

Agile Requirements Generation Model: A Soft-structured Approach to Agile Requirements Engineering. Shvetha Soundararajan

CSE 435 Software Engineering. Sept 16, 2015

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

Agile with XP and Scrum

Agile Data Warehousing

How to manage agile development? Rose Pruyne Jack Reed

Laboratório de Desenvolvimento de Software

Agile Project Management By Mark C. Layton

EXIN Agile Scrum Foundation

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

Scrum, User Stories, and More! CSCI 5828: Foundations of Software Engineering Lecture 22 11/06/2014

Certified Scrum Master Workshop

Vragen. Software development model. Software development model. Software development model

Agile methods. Objectives

Agile and Secure: Can We Be Both?

Testing in a Medical Device Context Limitations are few

Introduction to Agile Software Development Process. Software Development Life Cycles

Software Life Cycles and Configuration Management

Agile Software Engineering Practice to Improve Project Success

Agile Development Overview

26 May 2010 CQAA Lunch & Learn Paul I. Pazderski (CSM/CSP, OD-CM, CSQA) spcinc13@yahoo.com Cell: AGILE THROUGH SCRUM

An Agile Project Management Model

Applying Lean on Agile Scrum Development Methodology

Project Management in Software: Origin of Agile

Secure Code Development

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

2015 Defense Health Information Technology Symposium Implementation of Agile SCRUM Software Development Methodology

SOFTWARE PROCESS MODELS

"Bezpieczny Projekt"

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

Introduction to Agile Software Development

CS4507 Advanced Software Engineering

CHAPTER 3 : AGILE METHODOLOGIES. 3.3 Various Agile Software development methodologies. 3.4 Advantage and Disadvantage of Agile Methodology

Agile So)ware Development

Building Software in an Agile Manner

Mastering Security in Agile/Scrum, Case Study

Sept 10, The Agile Business Analyst

Software Development Life Cycle at SSPL. An Summary of Methodologies We Offer

Hamid Faridani March 2011

COMP 354 Introduction to Software Engineering

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki

Software development processes Life-cycle Models

Capstone Agile Model (CAM)

Unit I. Introduction

Agile Processes and Methodologies: A Conceptual Study

Waterfall vs. Agile Project Management

The Software Life Cycle. CSE 308: Software Engineering

Agile Software Development

Certified ScrumMaster Workshop

The Agile Project Manager

There are 3 main activities during each Scrum sprint: A planning meeting where: the Product Owner prioritizes user stories in the product backlog

Mariusz Chrapko. Before: Software Quality Engineer/ Agile Coach, Motorola, Poland. My Public Profile:

Design & User Experience Tools Tips and Techniques: Project Management Using Hybrid Agile Development

CPSC 310 Software Engineering Lecture 2 Software Processes. Thanks to Eric Wolhstader, Emerson Murphy-Hill

The Agile Movement An introduction to agile software development

1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4)

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant

Successful Strategies for Custom Software Development

PLM - Agile. Design Code Test. Sprints 1, 2, 3, 4.. Define requirements, perform system design, develop and test the system. Updated Project Plan

Agile Projects 7. Agile Project Management 21

Scrum and Testing The end of the test role Bryan Bakker 20 maart 2012

Rapid Software Development

Scrum In 10 Slides. Inspect & Adapt

Agile in a Safety Critical world

Agile Project Forecasting Techniques. "Who Says You Can't Plan Agile Projects?" Matt Davis, PMP, MCITP October 21, 2013

The style is: a statement or question followed by four options. In each case only one option is correct.

How To Understand The Limitations Of An Agile Software Development

Experiences Linking Business Architecture with an Agile/Lean Development Method

Agile Testing. What Students Learn

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

Evolving the Enterprise Software Configuration Management Model

How To Be Successful At An Agile Software Engineering

Agile and Secure Can We Be Both? Chicago OWASP. June 20 th, 2007

Waterfall to Agile. Colin Kelley CTO & Cofounder Invoca, Inc. colin@invoca.com. UCSB CS 189a January 13, 2015

A Viable Systems Engineering Approach. Presented by: Dick Carlson

Agile and Secure: OWASP AppSec Seattle Oct The OWASP Foundation

Preparation Guide. EXIN Agile Scrum Foundation

Agile-Waterfall Hybrid Jessica LaGoy, MS, PMP

Traditional SDLC Vs Scrum Methodology A Comparative Study

Software Development Life Cycle (SDLC)

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Roles: Scrum Master & Project Manager

Transcription:

October 28, 2015

Verification & Validation In many computer science courses, software is submitted once, graded, and thrown away. In real life, software development is an process. Some attempts to codify or describe the different ways that software is built are described in these slides.

Verification & Validation Common elements Requirements elicitation Requirements specification Determining what needs to be built Formalizing what needs to be built Design & Architecture Implementation Testing Figuring out how the requirements can be met Make it so Did we make it so? Deployment Maintenance Delivery and installation Fixing/adding/changing features

Verification & Validation Verification & Validation (V&V) Validation Testing the specification does the described software meet the user s needs? Are we building the right thing? Verification Testing the software does the software work as intended, fulfilling the specification? Are we building the thing right?

Waterfall model Spiral Model Waterfall model Requirements Design Implementation Verification Maintenance Adapted from Royce, 1970

Waterfall model Spiral Model Spiral model Determine objectives ( ) Identify & resolve risk Plan next iteration Release Develop & Test Adapted from Boehm, 1988

s to agile methods Agile methods are developed in recognition that... Software does not exist in a vacuum. Requirements. Incomplete software is sometimes better than no software.

s Features of agile methods Agile methods often make use of the following: instead of formal requirements, unit testing, Pair programming, Lightweight design, and Continuous refactoring to accomodate.

s Agile suitability Agile methods are generally for projects that have Small teams of experts, Low cost of failure, and Frequently changing requirements. Agile methods are generally Large teams, Inexperienced developers, High cost of failure, and Relatively static requirements. for projects that have

s The method List of features for the product... Sprint backlog... of which a subset is chosen for sprints... Code sprint... which takes place over weeks... Daily scrum... with short daily meetings... Final product... until a final product is produced.

s Daily scrum Meeting in which each team member answers the following: What did you do yesterday? What will you do today? Time limits of around 15 minutes are set on meetings.

s Other meetings Sprint planning Select items for sprint backlog Delegate from each team attends after daily scrum Sprint review Sprint retrospective Review work completed and incomplete; show demo Improving process through post-sprint reflection

s Users usually do not use the same terms as software developers. One way to elicit requirements is to have users describe situations in which the software developed is to come into play. These help to clarify requirements and can be used for clarification when communicating with a client. These user stories can also be used to identify the different types of users of a system. Traditionally of the form As a, I want so that.

s Examples of user stories As a cashier, I want to select the type and quantity of items being purchased so that the total can be calculated. As a cashier, I want to cancel transactions so that customers can change their minds. As a cashier, I want to select the payment type so that customers have payment options. As a store manager, I want to view a list of inventory so that I can plan future orders. As a store manager, I want to edit the inventory list so that discrepancies can be corrected. As a store customer, I want to see if an item is in stock so that I am not disappointed when a store is sold out. As a store customer, I want to check the price of items that are on sale so that I can save money.

s A list of things to be done including, Issues, and Questions. Each of these items has a priority and a size estimate of how long it will take to complete. Size estimates are given as a.