Two Branches of Software Engineering

Similar documents
Agile Essentials Track: Business Services

Managing a Project and Keeping Sane While Wrestling Elegantly With PMBOK, Scrum and CMMI (Together or Any Combination)

Introduction to Agile and Scrum

Johanna Rothman Part II Design and Manage an Agile and Lean Project Chapter 5 Start Your Agile Project Right. Copyright 2017

Waterfall Vs. Agile PM

Comparing Scrum And CMMI

Agile Projects 7. Agile Project Management 21

An Overview of Software Process

Agile and CMMI : Disciplined Agile with Process Optimization

Presented by Only Agile. What is Agile?

SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS. Saulius Ragaišis.

Software Development*

How to Develop Highly Useable CMMI Documentation

Software Engineering. Lecture 7: CMMI

CMMI SM Model Measurement and Analysis

It is not just programming. Cartoon source:

Best Practice Information Aids for CMMI SM -Compliant Process Engineering

A Global Overview of The Structure

Certified Scrum Master

Bridging the Gap Between Governance and Agility. Mario E. Moreira

Course Title: Planning and Managing Agile Projects

The Seven Deadly Sins of Scrum

Agile Methodologies for DevOps

AGILE Realities. Presenters: Chris Koo (Edward Jones) Blake Moyer (Edward Jones) Joan Romine (Boeing)

Systems Modernization Strategies August 2017

CS314 Software Engineering Project Management

Understanding Model Representations and Levels: What Do They Mean?

Software Engineering

Quest 2015 Webinar Series:

SAFe in a Nutshell SCALED AGILE FRAMEWORK

Introduction... 1 Part I: Understanding Agile... 7

Agile Program Development. Agile Manifesto 9/3/2013. What is Agile Development? 12 Principles of Agile Development 1 of 4

This course will explore how your projects can easily and successfully make the transition to an effective Agile environment.

Copyright Intertech, Inc All Rights Reserved. May 18, 2011

It can be done. Agile at Scale

The Challenge of Agile Estimating

9/24/2011 Sof o tw t a w re e P roc o e c s e s s s Mo M d o e d l e s l 1 Wh W a h t t i s i s a Pr P oc o ess s 2 1

Succeed with Agile at Scale

Agile Software Development in a Regulated Environment. Natalie Custer

Dissatisfaction with the overheads involved in software design methods of the 1980s and 1990s led to the creation of agile methods.

Scrum - Introduction. Petri Heiramo. Agile Coach, CST

What s New in V1.3. Judah Mogilensky Process Enhancement Partners, Inc.

Managing Projects of Chaotic and Unpredictable Behavior

Best Practices for Enterprise Agile Transformation

Software Quality Engineering Courses Offered by The Westfall Team

CMMI A-Specification. Version 1.7. November, For CMMI Version 1.2. This document is controlled by the CMMI Steering Group.

Advantages of Agile model:

Agile Software Development. Stefan Balbo / Patrick Dolemieux

Software Quality Engineering Courses Offered by The Westfall Team

Scrum, Creating Great Products & Critical Systems

"Charting the Course to Your Success!" Planning and Managing Agile Projects Course Summary

Mature agile development using HP Quality Center

13. Team evolutionary developement

Software Processes. With a focus on Agile/Scrum CPSC310 Software Engineering

CMMI Version 1.2. Model Changes

8 th of April 2015 Bucharest, Romania Vlad Gabriel Sorin Agile PM/Scrum Master

Session 11E Adopting Agile Ground Software Development. Supannika Mobasser The Aerospace Corporation

AGILE LESSONS FROM THE NEW PMBOK. Presented by Eddie Merla, PMI-ACP, PMP

Patricia A Eglin David Consulting Group

An Introduction to Scrum

Sample Exam ISTQB Agile Foundation Questions. Exam Prepared By

Agile & Lean / Kanban

Chapter 01 - The Process The Process Application Process ACP Qualifications Scheduling Your Exam Rescheduling/Cancelling Fees

CS 5704: Software Engineering

SCRUM and the CMMI. The Wolf and the Lamb shall Feed Together

FIT2101 Software Engineering Process and Management

TSP SM as the Next Step for Scrum Teams

Debunking Agile Myths

Chapter 2 Objectives. Pfleeger and Atlee, Software Engineering: Theory and Practice (edited by B. Cheng) Chapter 2.

Tuesday, October 25. Announcements

Change Agile. Ben Linders, André Heijstek. veranderproject.nl

CTC/ITC 310 Program Management California State University Dominguez Hills First Exam Answer Key November 20, 2018 Instructor: Howard Rosenthal

improving It s what we do. TM

Acceptance Criteria. Agile. Details that indicate the scope of a user story and help the team and product owner determine done-ness.

MTAT Software Engineering Management

SOFTWARE ENGINEERING SOFTWARE PROCESS. Saulius Ragaišis.

Chapter 6. Software Quality Management & Estimation

Course Title: Agile for Business Analysts

Why SCRUM I O A N N I S K O S T A R A S A G I L E C R E T E

Chapter 8 : Informatics Practices. Software engineering- Process activities and Agile methods. Class XII ( As per CBSE Board) New Syllabus

Software technology 3. Process improvement models. BSc Course Dr. Katalin Balla

approach to successful project

SWE 211 Software Processes

Lean 4.0 Lean and digital automation. Lean Forum 2018

Course Title: Agile for Business Analysts

Software Development Methodologies

2. True or false: In Scrum all the requirements for the project are known prior to the start of development.

How to Prepare for and Implement a Project Using Scrum

BA25-Managing the Agile Product Development Life Cycle

Co-founder and Managing Director of RADTAC Specialist in Agile and Iterative approaches since mid 80s Agile Alliance Founder Member in 2002

Software Process. Overview

Scrum Intro What s in it for me?

agilesem an agile System Development Method at Siemens in CEE Eva Kišoňová, Ralph Miarka SW Quality Days Vienna January 2012

CMMI-DEV V1.3 CMMI for Development Version 1.3 Quick Reference Guide

Portfolio Management In An Agile World

Making Visions Actionable. Pejman Makhfi Certified Scrum Master VP of Solution, Savvion Inc. 11/29/2008

Softwaretechnik. Lecture 02: Processes. Peter Thiemann SS University of Freiburg, Germany


Scrum Product Owner Course 03 - Roles and Responsibilities

Agile Introduction for Leaders

Transcription:

ENTERPRISE SOFTWARE ENGINEERING & SOFTWARE ENGINEERING IN THE ENTERPRISE Two Branches of Software Engineering 1 Crafting Software Resource Input Code Debug Product Test 2

Engineering Software Resource Input F R PM D C RA T Product 3 Build a Bridge vs. Build Software Design 10% Construction 90% Design 90% Construction 10%

Waterfall vs. Iterative & Incremental 6

The Waterfall Process Big Requirements Up Front (BRUF) System Requirements Software Requirements But Analysis Program Design Coding V&V Operations

The Waterfall Process Big Requirements Up Front (BRUF) System Requirements Software Requirements Specification Preliminary Design Document Software Requirements Prelim. Review UI Design Document Preliminary Design Preliminary Design Analysis Final Design Analysis Design Review Program Design Program Design V&V Plan Coding Testing Usage Coding V&V Operating Instructions Operations

Risks in Waterfall and Iterative Methods We do risky things first R I S K Iterative development Waterfall T I M E 12

The Cost of Change in Waterfall and Iterative Methods WF Iterative Do it right the first time! 14

Gimme all requirements, or. Waterfall vs. Iterative & Incremental But... 16

TWO BRANCHES OF SOFTWARE ENGINEERING CAPABILITY MATURITY MODEL INTEGRATION (CMMI) 17

19 Intro Software Engineering Institute (SEI) at Carnegie Mellon University developed the first integrated CMMI models in 2000, together with associated appraisal and training materials; 2002 saw the release of CMMI version 1.1. In 2010 the CMMI version 1.3 was released 20

The History of CMMs 21 CMMI: 3 Complementary Constellations

DoD / Carnegie Melon University / Software Engineering Institute 23 Aircraft Software Size Chronology

CMMI Model Representations Staged Continuous ML5 ML4 ML3 ML2 ML 1 Organization Capability 0 1 2 3 4 5 PA PA Process PA 25 Characteristics of the Maturity Levels High maturity 26

CMMI DEV Staged Representation Level Focus Process Areas Continuous Organizational Innovation and Deployment 5 Optimizing Process Causal Analysis and Resolution Improvement 4 Quantitatively Managed Quantitative Management Organizational Process Performance Quantitative Project Management Quality Productivity 3 Defined Process Standardization Requirements Development Technical Solution Product Integration Verification Validation Organizational Process Focus Organizational Process Definition (+ IPPD extras) Organizational Training Integrated Project Mgmt (+ IPPD extras) Risk Management Decision Analysis and Resolution Example 2 Managed 1 Initial Basic Project Management Requirements Management Project Planning Project Monitoring and Control Supplier Agreement Management Measurement and Analysis Process and Product Quality Assurance Configuration Management Risk Rework Expected CMMI Model Structure Required Staged Continuous Maturity Levels Process Area 1 Process Area 2 Process Area n Process Area 1 Process Area 2 Process Area n Specific Goals Generic Goals Specific Goals Generic Goals Common Features Commitment to Perform Ability to Perform Directing Implementation Verifying Implementation Capability Levels Specific Practices Generic Practices Specific Practices Generic Practices 28

Specific Practices Associated with Specific Goals Process Area: Requirements Management Specific Goal REQM SG 2.1 1: Requirements are managed and inconsistencies with project plans and work products are identified. Specific Practice REQM SP 2.1 1: Establish Product and Product Component Requirements 29 An Example Requirements Development SP 2.1 1 Establish Product and Product Component Requirements Establish and maintain, from the customer requirements, product and product component requirements essential to product and product component effectiveness and affordability ISO/IEC 15288, System Life Cycle Processes Clause 5.5.3 Requirements Analysis Process IEEE/EIA 12207.0, Software Life Cycle Processes Clause 5.3.2 System Requirements Analysis Clause 5.3.4 Software requirements analysis IEEE 1233, Guide for Developing System Requirements Specifications IEEE 830, Software Requirements Specifications

An Example Requirements Development SP 2.1 1 Establish Product and Product Component Requirements ISO/IEC 15288, System Life Cycle Processes Establish and maintain, from the customer requirements, product Clause 5.5.3 Requirements Analysis Process 5.5.3 Requirements Analysis Process 5.5.3.1 and Purpose product of the component Requirements Analysis Process IEEE/EIA 12207.0, Software Life Cycle The requirements purpose of the Requirements essential Analysis to product Process is to transform the Processes stakeholder, and product requirement driven component view of desired services into a technical view of a required product that could deliver those services. effectiveness and affordability Clause 5.3.2 System Requirements This process builds a representation of a future system that will meet Analysis stakeholder requirements and that, as far as constraints permit, does not imply any specific implementation. It results in measurable system Clause 5.3.4 Software requirements requirements that specify, from the developer s perspective, what analysis characteristics it is to possess and with what magnitude in order to satisfy stakeholder requirements. 5.5.3.2 Requirements Analysis Process Outcomes As a result of the successful implementation of the Requirements IEEE Analysis 1233, Guide for Developing System Process: Requirements Specifications a) The required characteristics, attributes, and functional and performance requirements for a product solution are specified. IEEE 830, Software Requirements b) Constraints that will affect the architectural design of a system and the means to realize it are specified. Specifications c) The integrity and traceability of system requirements to stakeholder requirements is achieved.... Source: ISO/IEC CD 15288 FDIS, ISO/IEC2002. Paul R. Croll 31 SW Industry vs. NASA 10 MLOC 6 SIGMA 3.4 Defects Per Million Opportunities DPMO 32

SW Requirements: IEEE 830 33 SW Requirements: IEEE 830 34

SW Requirements: IEEE 830 Requirements in Extreme Programming and SCRUM: User Stories 35

TWO BRANCHES OF SOFTWARE ENGINEERING AGILE METHODOLOGIES 37 Q: How do you eat an Elephant? A: One increment at a time!

Agility Defined Agility is the ability to both create and respond to change in order to profit in a turbulent business environment. Agility is the ability to balance flexibility and stability. 39 It's an Agile World 40

Agile 2001 vs. 2009 vs. 2011 Scrum; 3% Lean; 7% Other; 17% XP; 38% DSDM; 19% ASD; 22% FDD; 23% extreme Programming (XP): 38% 4% Scrum: 3% 58% 41 The Goal of Scrum Manage Complexity, Unpredictability and Change through Visibility, Inspection and Adaptation

Scrum Today: 1 2 weeks 43 Roles Scrum Framework Product owner ScrumMaster Team Ceremonies Sprint planning Sprint review Sprint retrospective Daily scrum meeting Artifacts Product backlog Sprint backlog Burndown charts

The Boss The Boss

Product Owner Owner of project vision Represents the customer Scrum Master Servant leader Team protector Troubleshooter Scrum guide

The Team Small (5 9 people) Colocated Cross functional Self organized Full time Sprint Planning Team capacity, Product backlog, Current product, Business, Technologies + Goal =

Daily Scrum Meeting Parameters Daily 15 minutes Stand up Not for problem solving Whole world is invited Only team members, ScrumMaster, product owner, can talk Chickens and Pigs Helps avoid other unnecessary meetings 51 Daily Scrum Meeting Parameters Daily What did you do yesterday? 15 minutes What will you do today? Stand up Not for problem Is solving anything in your way? Whole world is invited Only team members, ScrumMaster, Product Owner, can talk Chickens and Pigs 1 2 3 Developer oriented 52

Sprint Review Satisfy Product Owner Get feedback on product

Sprint Retrospective Evolve theprocess Scrum & XP 56

Scrum & XP Scrum & Agile Whatever Whatever agile agile practices practices you you like like 57 Scrum and XP (most common practices) Pair programming Test-driven development Collective code ownership Coding standards

Stories,Themes and Epics 59 User Stories Mike Cohn 60

User Stories Mike Cohn = value for user 61 Team capacity Product backlog Business conditions Current product Technology Sprint planning meeting Sprint prioritization Analyze and evaluate product backlog Select sprint goal Sprint planning Decide how to achieve sprint goal (design) Create sprint backlog (tasks) from product backlog items (user stories / features) Estimate sprint backlog in hours Sprint goal Sprint backlog

Scalability Scalability Typical individual team is 7 ±2 people Scalability comes from teams of teams Factors in scaling Type of application Team size Team dispersion Project duration Scrum has been used on multiple 500+ person projects

Scaling Through the Scrum of Scrums Scrum of Scrums of Scrums

Scrum Advantages Completely developed and tested features in short iterations Simplicity of the process Clearly defined rules Increasing productivity Self organizing Each team member carries a lot of responsibility Improved communication

Agile Planning Scrum

Scrum 5 Level Planning Dwight David "Ike" Eisenhower Plans are nothing; planning is everything.

Level 1: Product Vision Planning (1 2 per year) Level 2: Product Roadmap Planning (1 4 per year)

Level 3: Product Release Planning (4 12 per year) Level 4: Sprint Planning (Every Sprint 1 4 weeks)

Level 5: Daily Scrum (Every day) Agile Planning Summary

Agile Processes Agile Process (Generalized)

The Agile Paradigm Shift Waterfall Agile Constraints Requirements Cost Schedule Plan Driven Value /Vision Driven Estimates Cost Schedule Features The Plan creates cost/schedule estimates The Vision creates feature estimates 81 A Continuous Flow of Iterations that Deliver Working Increments 82

Traditional vs. Agile Traditional: Plan what you expect to happen Enforce that what happens is the same as what is planned Directive management Control, control, control Use change control to manage change Change Control Board Defect Management Agile: Plan what you expect to happen with detail appropriate to the horizon Control is through inspection and adaptation Use Agile practices to manage change: Continuous feedback loops Iterative and incremental development Prioritized backlogs 83 How Organizations Become More Responsive *D. Anderson: Agile Software Management Accounting for Systems Three Levers to Increase Responsiveness Increase Throughput Decrease Investment Decrease Operating Expense Shorten cycle times to speed delivery of functionality to customers Reduce inventory and the cost capture, elaboration, communication and scheduling Eliminate waste to produce higher quality with less effort 84

Traditional vs. Agile Agile Development Waterfall Iterative Iterative and Incremental Parallel Acceptance Test Driven Cycle Time Year + Increase Throughput 2 weeks Detailed Inventory Whole Project Decrease Investment Increment Feedback Delays Most Defects caught in system test Decreased Operating Expense Most defects caught in the feature development Risks $1,200,000 Decrease Risk $50,000 85 Traditional vs. Agile Agile Development Process Waterfall Development Iterative Development Iterative and Incremental Development Parallel Development Acceptance Test Driven Development Measure of Success Conformance to Plan Response to Change Culture Command-and-Control Leadership /Collaborative Design Big Design Up Front Continuous QA Big Test on Backend Continuous 86

Why Agile? 87 Summary

Respect Complexity Five Key Benefits of Agile, which all executives have heard about:

Agile vs. CMMI Process Process Complexity Chaos Agile CMMI

Two Branches of Software Engineering Agile vs Traditional

Leaders Do Right Things 95 Creators and stewards The problem the creators have is that they want to go for the big prize, to realize their visions in pure form; anything short of that they see as less than successful. The stewards, on the other hand, can't get excited about an innovation until they understand how the economic value (profit) will be created 96

Simple Rules Agile Success There is no silver bullet but agile methods come close

Dimensions Affecting Method Selection 99 The Five Critical Agility/Discipline Decision Factors 100

If all you have is a hammer, everything looks like a nail AGILE More Fun, Happy Teams 102