Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have.

Slides:



Advertisements
Similar presentations
Basic SDLC Models.
Advertisements

Iteration Planning.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Agile documentation development methodology Giby Panicker and Judith Benjamin 1-Dec-2012.
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
CS487 Software Engineering Omar Aldawud
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Alternate Software Development Methodologies
Agile Project Management with Scrum
Agile development By Sam Chamberlain. First a bit of history..
Software Process and Problem Statements CSSE 371, Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 3, 2004.
Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
CHAPTER 9: LEARNING OUTCOMES
Managing a Project Using an Agile Approach and the PMBOK® Guide
An Agile View of Process
Introduction to Agile.
Software engineering Process models Pavel Agejkin.
An Overview of Agile L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Dr. Rob Hasker. Logistics  Class roster, attendance policy  Book, Schedule, policies, grading  Course web site  Prereq check:  SE 2800, Software.
Agile Software Development Brian Link
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Current Trends in Systems Develpment
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters Requirements Text. Question 6.
CS3100 Software Project Management Agile Approaches.
Theories of Agile, Fails of Security Daniel Liber CyberArk.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
Intelligence and Information Systems 1 3/17/2004 © 2004 Raytheon Company USC/CSE Executive Workshop on Agile Experiences March 17, 2004 A Raytheon Agile.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,
Dr. Rob Hasker. Should every project use Scrum?  When might Scrum not be an appropriate model?  What are some of its limitations? Hard to get the big.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Kanban Advanced Software Engineering Dr Nuha El-Khalili.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Agile Center of Excellence. Richard K Cheng Agile is just a high level concept.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Introduction to Agile Project Management Presented by Maury Richards, CSP.
Embedded Systems Software Engineering
Flight Software Conference 2016
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Software Engineering Process
Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Iterative and Agile Development
Agile Software Development Brian Moseley.
Information Technology Project Management – Fifth Edition
Approaches to Systems Development
Introduction to Software Engineering
How to Successfully Implement an Agile Project
Teaching slides Chapter 1.
Introduction to Agile Blue Ocean Workshops.
SE 3800 Note 8 Other ways to get there
Dr. Rob Hasker SE 3800 Note 2 Ch. 1, Shortcuts 1 & 2.
CSCI 360: Software Architecture & Design
Presentation transcript:

Dr. Rob Hasker

What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have to be undone What if we need to design the hardware that will run the system? How would a fixed-price project work? What if tasks can’t be planned out for 2 wks? ○ What to do about critical production issues?

Why have a process?  What does a process give us?

Why have a process?  What does a process give us?  Minimal requirements (Pressman): communication: communication/collaboration with customers & other stakeholders: goal is to figure out what system is to do planning: establishing plan for technical work, identifying risks, scheduling modeling: creation of models to clarify requirements and outline the design construction: code generation (possibly automatic), testing to identify errors in the construction deployment: delivering the product including customer evaluation

Why have a process?  What does a process give us?  Minimal requirements (Pressman): communication: communication/collaboration with customers & other stakeholders: goal is to figure out what system is to do planning: establishing plan for technical work, identifying risks, scheduling modeling: creation of models to clarify requirements and outline the design construction: code generation (possibly automatic), testing to identify errors in the construction deployment: delivering the product including customer evaluation  “Compile more code” - (Kasmir Siekierzynski, 2007)

Process framework  How Scrum satisfies this list: communication: communication/collaboration with customers & other stakeholders ○ ? planning: establishing plan for technical work, identifying risks, scheduling ○ ? modeling: creation of models to clarify requirements and outline the design ○ ? construction: code generation (possibly automatic), testing to identify errors in the construction ○ ? deployment: delivering the product including customer evaluation ○ ?

Process framework  How Scrum satisfies this list: communication: communication/collaboration with customers & other stakeholders ○ PO, daily standups, reviews – LOTS! planning: establishing plan for technical work, identifying risks, scheduling ○ Sprint planning, grooming backlog, daily standup modeling: creation of models to clarify requirements and outline the design ○ Acceptance criteria, diagrams construction: code generation (possibly automatic), testing to identify errors in the construction ○ Executing sprint deployment: delivering the product including customer evaluation ○ Potentially releasable product at end of every sprint

Traditional Model - Waterfall  Requirements What system does  Design How to impl. reqs  Implementation Coding  Verification Testing  Maintenance Delivery, rework

Traditional Model  Requirements What system does  Design How to impl. reqs  Implementation Coding  Verification Testing  Maintenance Delivery, rework Specification Diagrams Traditional Model - Waterfall Code Test procedures

Traditional Model  Requirements What system does  Design How to impl. reqs  Implementation Coding  Verification Testing  Maintenance Delivery, rework Specification Diagrams Traditional Model - Waterfall Code Test procedures Communication, Planning Modelling Construction Deployment

Traditional Model  Wins: Covers all deliverables Similar process to other engineering disciplines  Problems: Nothing executable until end Difficult to evaluate progress Reviews block progress What to do if find problem? Specification Diagrams Traditional Model - Waterfall Code Test procedures

Traditional Model  Wins: Covers all deliverables Similar process to other engineering disciplines  Problems: Nothing executable until end Difficult to evaluate progress Reviews block progress What to do if find problem? Specification Diagrams Traditional Model - Waterfall Code Test procedures 2 solutions: Go back to top Wait until next project Basic problem: No model, no tracking

So why use the waterfall model?  Easy to understand  Fits projects w/ hardware, software:

So why use the waterfall model?  Easy to understand  Fits projects w/ hardware, software But rarely used!

So why use the waterfall model?  Easy to understand  Fits projects w/ hardware, software  Most frequent alternative: Iterative

Iterative model  Start w/ core, add features  Cycles done in parallel or sequenced  Advantages clear feedback shows progress  Disadvantage over waterfall: Customer evaluates on basis of what’s missing Revisiting design can be expensive

Rational Unified Process (RUP)  Observation: no phase ever really complete  Varying levels of effort by time Dutchguilder, Wikipedia

Unified Process Phases  Business Modeling, Requirements identify preliminary use cases, develop preliminary architecture, outline development Primary goal: establish goals for project and each iteration (with input from all stakeholders) Key issue: address business and requirements risks  Analysis & Design: establish baseline architecture Rest of project: filling "gaps" within the architecture  Implementation, Test Make use cases operational for end users  Deployment End result: available for customers/end users

Unified Process Phases  Business Modeling, Requirements identify preliminary use cases, develop preliminary architecture, outline development Primary goal: establish goals for project and each iteration (with input from all stakeholders) Key issue: address business and requirements risks  Analysis & Design: establish baseline architecture Rest of project: filling "gaps" within the architecture  Implementation, Test Make use cases operational for end users  Deployment End result: available for customers/end users Very flexible Detailed definitions for each phase Robust enough for very large projects

Alternative process models  Waterfall, iterative, RUP: plan-based  Agile alternatives: Scrum XP: Extreme Programming FDD: Feature-driven Development

Alternative process models  Waterfall, iterative, RUP: plan-based  Agile alternatives: Scrum XP: Extreme Programming FDD: Feature-driven Development

Alternative process models  Waterfall, iterative, RUP: plan-based  Agile alternatives: Scrum XP: Extreme Programming FDD: Feature-driven Development  Commonality: Agile manifesto Individuals/interactions > processes & tools Working software > comprehensive documentation Customer collaboration > contract negotiation Responding to change > following a plan

Alternative agile method  Kanban ‘Signboard’ or ‘billboard’ in Japanese  First developed by Toyota for manufacturing  Supermarket model people take just what they need when they need it people can assume constant supply, no need to stock up store obtains just what it needs to stay stocked Wikipedia

Kanban  On factory floor (simplified): Products in bins When bin is empty, send to supplier with a kanban card Supplier returns correctly filled bin with card Reducing supply: control number of cards  Reactive: never have product don’t need  Allows careful inventory control 1234

Kanban in Software  When team needs work, take top item from backlog PO ensures top item is the most important  Team applies process to complete item  Key metric: cycle time – time to complete work Consistency allows predicting delivery of future work Avoid bottleneck skills – overlapping skills a must  Limit work in progress Keeps team focused, ensures efficiency  Can use with almost any other process Atlassian

Kanban Board  Tracking products:

Scrum vs. Kanban ScrumKanban CadenceRegular fixed length sprints (ie, 2 weeks) Continuous flow Release methodologyAt the end of each sprint if approved by the product owner Continuous delivery or at the team's discretion RolesProduct owner, scrum master, development team No existing roles. Some teams enlist the help of an agile coach. Key metricsVelocity Cycle time Change philosophy Teams should strive to not make changes to the sprint forecast during the sprint. Doing so compromises learnings around estimation. Change can happen at any time

Review  Plan-driven: Waterfall, Iterative, Rational Unified Process Predictable if estimate right!  Agile: Scrum, XP Kanban: just-in-time work, no sprint cycle  Why so many?  What’s best?