Continuous Integration Sprint 6. Agneta Nilsson, Jan Bosch, & Christian Berger



Similar documents
SOFTWARE CENTER PROJECT 1 IMPLICATIONS OF CONTINUOUS DEPLOYMENT Agneta Nilsson, Eric Knauss, Miroslaw Staron

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

Automated Software Testing Economics: A White Paper

ISTQB Certified Tester. Foundation Level. Sample Exam 1

a new generation software test automation framework - CIVIM

Table of contents. Enterprise Resource Planning (ERP) functional testing best practices: Ten steps to ERP systems reliability

Security Automation in Agile SDLC Real World Cases

Continuous Integration, Delivery and Deployment. Eero Laukkanen T Software Testing and Quality Assurance P

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

Multi-domain Model-driven Development Developing Electrical Propulsion System at Volvo Cars

The Tester's Role in Continuous Integration

WHITE PAPER. Leveraging a LEAN model of catalogbased performance testing for quality, efficiency and cost effectiveness

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005

MOBILE APPLICATION TESTING ENGINEER

Object-Oriented Systems Analysis and Design

CLOUD MIGRATION STRATEGIES

C 5 - COST BEHAVIOR: ANALYSIS AND USE notes-c5.doc Written by Professor Gregory M. Burbage, MBA, CPA, CMA, CFM

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

You Want to Use Scrum, You are Told to Use CMMI

Agile Testing. What Students Learn

CI for FPGA D&V. Continuous Integration for FPGA Design and Verification Verification Futures Alan Fitch, Ericsson TV Ltd

The Agile Manifesto is based on 12 principles:

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

Test Automation: A Project Management Perspective

Why continuous delivery needs devops, and why devops needs infrastructure-as-code. Sriram 25-Oct-2012

Introduction to Automated Testing

"World Quality Report: Trends in Technology, Organization and Outsourcing"

PHASE 6: DEVELOPMENT PHASE

Agile Software Development Methodologies and Its Quality Assurance

Transformational Benefits of the Cloud. Information & Communication technology October 2013

The Software. Audit Guide. ASQ Quality Press. Milwaukee, Wisconsin. John W. Helgeson

Introduction to Agile and Scrum

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

ASSURING SOFTWARE QUALITY USING VISUAL STUDIO 2010

How to address top problems in test data management

Scrum vs. Kanban vs. Scrumban

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Using CMMI Effectively for Small Business Panel

Anatomy of an Enterprise Software Delivery Project

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

Fundamentals of Measurements

Maximizing the ROI Of Visual Rules

The Importance of Continuous Integration for Quality Assurance Teams

The Co-Evolution of Agile and Continuous Integration. Jeffrey Fredrick Technical Evangelist

Process-Based Business Transformation. Todd Lohr, Practice Director

The Agile Movement An introduction to agile software development

Call for Tender for Application Development and Maintenance Services

Automated Acceptance Testing of High Capacity Network Gateway

A Comparison of SOA Methodologies Analysis & Design Phases

Agile methods. Objectives

A Brief Overview of Software Testing Techniques and Metrics

How To Do Continuous Integration

Leveraging CMMI framework for Engineering Services

Continuous Integration Processes and SCM To Support Test Automation

Agile Project Management. Jan Pool NioCAD University of Stellenbosch 16 April 2008

Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC

Certified Software Quality Engineer (CSQE) Body of Knowledge

Agile Project Management

QUALITYMATE FOR LOAD TESTING

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan

Agile with XP and Scrum

Opportunities and Challenges in Software Engineering for the Next Generation Automotive

How Agile methods resolve chaos and unpredictability in software projects

Quality Assurance Software Development Processes

Expectations and Challenges from Scaling Agile in Mechatronics-Driven Companies A Comparative Case Study

Software Engineering Principles The TriBITS Lifecycle Model. Mike Heroux Ross Bartlett (ORNL) Jim Willenbring (SNL)

Continuous Integration: Aspects in Automation and Configuration Management

Best Overall Use of Technology. Jaspersoft

Your Agile Team s Indispensible Asset

SEEM4570 System Design and Implementation Lecture 10 Software Development Process

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Test Data Management. Services Catalog

MM Agile: SCRUM + Automotive SPICE. Electronics Infotainment & Telematics

SCM & Agile Business Intelligence. Anja Cielen

Survey of more than 1,500 Auditors Concludes that Audit Professionals are Not Maximizing Use of Available Audit Technology

Overview of Software Engineering and the Software Development Process

Solution Spotlight KEY OPPORTUNITIES AND PITFALLS ON THE ROAD TO CONTINUOUS DELIVERY

The Role and Task of the System Architect

Accelerate Software Delivery

F15. Towards a More Mature Test Process. Anne Mette-Hass. P r e s e n t a t i o n

What is a life cycle model?

ON THE ROAD TO OPEN HYBRID CLOUD BRYAN CHE GENERAL MANAGER, CLOUD BU, RED HAT

Cloud Infrastructure Services for Service Providers VERYX TECHNOLOGIES

When agile is not enough

Transcription:

Continuous Integration Sprint 6 Agneta Nilsson, Jan Bosch, & Christian Berger

How can we identify, prioritize, and select suitable improvement initiatives more efficiently in order to support the advancement towards continuous integration? Traditional Development R&D Organization All Agile Continuous Integration Continuous Deployment R&D as an Innovation System

The CIVIT Model, updated Customer Release Full Product Partial Product Improvement Directions Subsystem Component Once /release Month Week Day Hour Immediate/ Minutes

CItIM 1. Visualization (CIVIT) 4. Evaluation Continuous Integration Improvement Method 2. Identification, prioritization, and selection 3. Implementation

Systematic way of doing the change? Low hanging fruit Help apply CItIM model on the situation to see how we do the selection. But before doing the selection, we should identify - what can we do?

Identified themes Link between requirements and testing Maturity of test environment System level testing The product family perspective Suppliers and the 25x problem Variability in testing Cost of maintaining a CI environment vs taking the normal hit in unpredictability at the end

Role of requirements in relation to tests: Waste or value? Link between requirements and testing

We need to learn how to test with unstable requirements, and how to deal with increasing workload and complexity Link between requirements and testing

Instabilities of tests due to Managing trust in test results Managing variance in target and test equipment Maintenance of tests and test platforms Maturity of test environment

System level testing Very complex Very unpredictable behavior Unreliable testing tools Scarce resources, competent personnel Attitudes/mindsets personnel/organization Need to prioritize tests to support CI System Level Testing

Integration & verification It's fundamental to first understand what are we actually trying to do! - don't have the time to jump on the bike because you're so stressed to get moving System Level Testing

Documents vs Structured Information I like to think of it as moving the organization from a script where you have all these go-to in the code to an object oriented part where you just have instances that communicate with each other on a very simple level. And you hide all the complexity away. System Level Testing

we could sell a truck that is actually not verified, but we can't sell a truck that is not integrated System Level Testing

Data-Driven instead of processes An organization thinking in data instead of processes has an enormous advantage because it will focus on what's actually being done, instead of focusing on guarding business processes, protecting the budgets etc. which become extremely hard to change because of all these boundaries.

From Requirements to Test During the course of a project, requirements transition to test cases The formalization of requirements into test cases is a form of requirements elicitation and specification Requirements Test cases time

From Requirements to Test Depending on the level in the CiViT model, requirements might transition faster/easier to test cases Depending on the test environment (unit test, simulation environment, partial test environment), requirements transition faster/easier to test cases

Reuse of Requirements and Tests Companies (e.g. Axis) often define a new product in terms of the delta to an existing product That allows for reuse existing requirements and test cases Requirements New test cases Reused test cases time

Different Approaches Companies can formalize requirements through test cases early or late in the development process Different forces influence the curve that companies in different domains use Requirements Early transition Linear transition Late transition test cases time

Sprint 7 Further analyses of org & tech impediments from CI Risk-based test selection Link between requirements and testing Maturity of test environment System level testing The product family perspective Suppliers and the 25x problem Variability in testing Cost of maintaining a CI environment vs taking the normal hit in unpredictability at the end

Thank You! Nilsson, A. Bosch, J, & Berger, C. (2014) Visualizing Testing Activities to Support Continuous Integration: A Multiple Case Study. In proceedings of XP2014, 15th International Conference on Agile Software Development, May 26-30, 2014, Rome, Italy.

Legend F functional requirements Q Quality requirements Complete coverage Significant testing 70% < coverage < 95% Partial testing 30% < coverage < 70% Some testing but less than 30% coverage No testing of this type at all Coverage for each type of testing F Q L E L Legacy functionality E Edge cases Level of test automation Fully automated Significant automation, between 70 and 95% Partial automation, between 30 and 70% Some automation, less than 30% No automation at all

Axis Communications Firmware Platform Customer F Q L E Release F Q L E F Q L E Full Product F Q L E F Q L E F Q L E F Q L E Partial Product Subsystem Component F Q L E Once /release Month Week Day Hour Immediate/ Minutes

Sprint 6 What different aspects should be taken into consideration when selecting an improvement initiative? How can we assess the advantages, disadvantages, and various tradeoffs involved in the identified initiatives? How can we more systematically prioritize and select suitable initiatives in a certain context?

Picture Toolbox (Backup) Requirements Test cases time