Continuous Integration Optimizing Your Release Management Process

Similar documents
Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Security Automation in Agile SDLC Real World Cases

The Tools For Continuous Delivery

Continuous Integration: A case study

Implementing Continuous Integration Testing Prepared by:

Continuous Integration (CI) for Mobile Applications

Continuous integration End of the big bang integration era

Software Testing Lifecycle

Accelerate Software Delivery

Continuous Delivery: implementation considerations. Léon Hagenaars-Keus Edwin van Dillen

Agile Software Factory: Bringing the reliability of a manufacturing line to software development

Improving your Drupal Development workflow with Continuous Integration

Software Quality Testing Course Material

Software Continuous Integration & Delivery

Continuous Delivery. Ariel Alonso, IPC

How To Develop An Application

Upping the game. Improving your software development process

ASSURING SOFTWARE QUALITY USING VISUAL STUDIO 2010

@jenkinsconf. Maintaining huge Jenkins clusters - Have we reached the limit of Jenkins?

How To Benefit From An Automated Deployment

Continuous Integration

Agile Testing Overview

Continuous Delivery Software-Deployments ohne graue Haare. 3. April 2012 Corsin Decurtins

The Deployment Pipeline

Testing Lifecycle: Don t be a fool, use a proper tool.

Increasing frequency of releases to every week down from quarterly major releases

Continuous Delivery Workshop

Agile Delivery Framework Automation & Deployment With Puppet

My DevOps Journey by Billy Foss, Engineering Services Architect, CA Technologies

Software Configuration Management Best Practices

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

Bringing wisdom to ITSM with the Service Knowledge Management System

OpenStack Private Cloud

Invitation Scripts Setting an Appointment by Text Messaging (Document 8 of 11)

ACCELERATE DEVOPS USING OPENSHIFT PAAS

The ITIL Guide to DevOps

Bridging Development and Operations: The Secret of Streamlining Release Management

Why Test Automation Fails

Continuous Integration and Bamboo. Ryan Cutter CSCI Spring Semester

Achieving Rolling Updates & Continuous Deployment with Zero Downtime

The Continuous Delivery Effect

Continuous Integration: Put it at the heart of your development

Guide to Mobile Testing

Copyrighted , Address :- EH1-Infotech, SCF 69, Top Floor, Phase 3B-2, Sector 60, Mohali (Chandigarh),

Table of contents. Performance testing in Agile environments. Deliver quality software in less time. Business white paper

November 12 th 13 th London: Mastering Continuous Integration with Jenkins

The Benefits of Utilizing a Repository Manager

Continuous Delivery for Force.com

CONTINUOUS INTEGRATION. Introduction

About me - Joel Montvelisky

Software Construction

Continuous???? Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

"Testing in the DevOps World of Continuous Delivery"

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

Taking the first step to agile digital services

Continuous Integration and Delivery at NSIDC

Agility via Software Engineering Practices

Continuous Integration

a new generation software test automation framework - CIVIM

Automating Security Testing. Mark Fallon Senior Release Manager Oracle

Massively! Continuous Integration! A case study for Jenkins at cloud-scale

Continuous Integration with Jenkins. Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8

Continuous Integration

Patterns to Introduce Continuous Integration to Organizations

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

Th3 - Open Source Tools for Test Management

Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012

DATABASE VIRTUALIZATION AND INSTANT CLONING WHITE PAPER

Building a Continuous Integration Pipeline with Docker

Software Engineering Process. Kevin Cathey

DevOps Course Content

Testing Tools Content (Manual with Selenium) Levels of Testing

A Practical Guide to implementing Agile QA process on Scrum Projects

Best Practices in Release and Deployment Management

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

SPECIFICATION BY EXAMPLE. Gojko Adzic. How successful teams deliver the right software. MANNING Shelter Island

Orchestrated. Release Management. Gain insight and control, eliminate ineffective handoffs, and automate application deployments

DevOps. Jesse Pai Robert Monical 8/14/2015

Continuous Application Delivery From concept to reality. Carsten Lentz Sr. Solution strategist

Continuous Integration. CSC 440: Software Engineering Slide #1

Continuous Delivery: Automating the Deployment Pipeline. Solution Brief

Transcription:

Continuous Integration Optimizing Your Release Management Process

Continuous Integration? Why should I care? What s in it for me?

Continuous Integration? Why should I care? What s in it for me? The cost of development is only a small part in the TCO

Continuous Integration? Why should I care? What s in it for me? The cost of development is only a small part in the TCO Huge part of ge ing software to ship is bug remediation

Continuous Integration? Why should I care? What s in it for me? The cost of development is only a small part in the TCO Huge part of ge ing software to ship is bug remediation Commercial development you may only get one chance

Continuous Integration? Why should I care? What s in it for me? The cost of development is only a small part in the TCO Huge part of ge ing software to ship is bug remediation Commercial development you may only get one chance IT development schedules depend on being done on time, too!

Writing Software is a Wicked Problem

Writing Software is a Wicked Problem Wicked problems can only be clearly defined by solving them

Writing Software is a Wicked Problem Wicked problems can only be clearly defined by solving them Insufficient design and testing have brought down bridges

Writing Software is a Wicked Problem Wicked problems can only be clearly defined by solving them Insufficient design and testing have brought down bridges Software can be brought down in the same way

Writing Software is a Wicked Problem Wicked problems can only be clearly defined by solving them Insufficient design and testing have brought down bridges Software can be brought down in the same way Writing software is actually harder than building bridges, because has millions more parts than bridges do

So How Exactly Do We Get To Quality in Our Code?

So How Exactly Do We Get To Quality in Our Code? Agile is more than just a social process in making software

So How Exactly Do We Get To Quality in Our Code? Agile is more than just a social process in making software Being Agile also requires be er engineering practices

So How Exactly Do We Get To Quality in Our Code? Agile is more than just a social process in making software Being Agile also requires be er engineering practices Technical excellence and good design enhances agility

So How Exactly Do We Get To Quality in Our Code? Agile is more than just a social process in making software Being Agile also requires be er engineering practices Technical excellence and good design enhances agility We get there with extreme Programming practices

I Thought My Job Was To Write Code. Now I m Told To Right It!

I Thought My Job Was To Write Code. Now I m Told To Right It! Writing code right is what we are after

I Thought My Job Was To Write Code. Now I m Told To Right It! Writing code right is what we are after Constantly fixing mediocre code is expensive

I Thought My Job Was To Write Code. Now I m Told To Right It! Writing code right is what we are after Constantly fixing mediocre code is expensive Unit testing is the right way to write quality code

I Thought My Job Was To Write Code. Now I m Told To Right It! Writing code right is what we are after Constantly fixing mediocre code is expensive Unit testing is the right way to write quality code Pair programming allows for constant code reviews

I Thought My Job Was To Write Code. Now I m Told To Right It! Writing code right is what we are after Constantly fixing mediocre code is expensive Unit testing is the right way to write quality code Pair programming allows for constant code reviews TDD allows for continuous design improvements

I Thought My Job Was To Write Code. Now I m Told To Right It! Writing code right is what we are after Constantly fixing mediocre code is expensive Unit testing is the right way to write quality code Pair programming allows for constant code reviews TDD allows for continuous design improvements Small releases expose code early and often for user review

I Thought My Job Was To Write Code. Now I m Told To Right It! Writing code right is what we are after Constantly fixing mediocre code is expensive Unit testing is the right way to write quality code Pair programming allows for constant code reviews TDD allows for continuous design improvements Small releases expose code early and often for user review CI gives us the time to make all of the above possible

What sort of testing do we do?

What sort of testing do we do? Doesn t work: ad hoc and V model testing

What sort of testing do we do? Doesn t work: ad hoc and V model testing Hit or miss: alpha and beta testing

What sort of testing do we do? Doesn t work: ad hoc and V model testing Hit or miss: alpha and beta testing Unsure of what it means: QA (which is usually QC) testing

What sort of testing do we do? Doesn t work: ad hoc and V model testing Hit or miss: alpha and beta testing Unsure of what it means: QA (which is usually QC) testing Works and should be automated:

What sort of testing do we do? Doesn t work: ad hoc and V model testing Hit or miss: alpha and beta testing Unsure of what it means: QA (which is usually QC) testing Works and should be automated: Functional testing (black as well as white box)

What sort of testing do we do? Doesn t work: ad hoc and V model testing Hit or miss: alpha and beta testing Unsure of what it means: QA (which is usually QC) testing Works and should be automated: Functional testing (black as well as white box) Non-functional testing (performance, volume, stress, etc.)

What sort of testing do we do? Doesn t work: ad hoc and V model testing Hit or miss: alpha and beta testing Unsure of what it means: QA (which is usually QC) testing Works and should be automated: Functional testing (black as well as white box) Non-functional testing (performance, volume, stress, etc.) Smoke testing

What sort of testing do we do? Doesn t work: ad hoc and V model testing Hit or miss: alpha and beta testing Unsure of what it means: QA (which is usually QC) testing Works and should be automated: Functional testing (black as well as white box) Non-functional testing (performance, volume, stress, etc.) Smoke testing Deployment testing

How does a Continuous Integration server work?

How does a Continuous Integration server work? First need to get what we want to do under scripted control

How does a Continuous Integration server work? First need to get what we want to do under scripted control Then, we can use scheduled or triggered automation

How does a Continuous Integration server work? First need to get what we want to do under scripted control Then, we can use scheduled or triggered automation Scheduled automation works similar to a cron job

How does a Continuous Integration server work? First need to get what we want to do under scripted control Then, we can use scheduled or triggered automation Scheduled automation works similar to a cron job Triggered automation works based on something else happening

How does a Continuous Integration server work? First need to get what we want to do under scripted control Then, we can use scheduled or triggered automation Scheduled automation works similar to a cron job Triggered automation works based on something else happening Typical triggers are from SCM or other automation tasks

What does a Continuous Integration server produce?

What does a Continuous Integration server produce? CRISP builds

What does a Continuous Integration server produce? CRISP builds Test results to monitor quality from

What does a Continuous Integration server produce? CRISP builds Test results to monitor quality from The artifacts generated during the run

What does a Continuous Integration server produce? CRISP builds Test results to monitor quality from The artifacts generated during the run Information radiation of the results

What does a Continuous Integration server produce? CRISP builds Test results to monitor quality from The artifacts generated during the run Information radiation of the results Safety net to allow us to know that we are ready to ship

Wait a minute Some of this seems real hard!

Wait a minute Some of this seems real hard! There is no silver bullet product

Wait a minute Some of this seems real hard! There is no silver bullet product But you can automate just about anything

Wait a minute Some of this seems real hard! There is no silver bullet product But you can automate just about anything Use good OO practices, such as IoC, for breaking dependencies

Wait a minute Some of this seems real hard! There is no silver bullet product But you can automate just about anything Use good OO practices, such as IoC, for breaking dependencies Treat databases like code and match schemas to code versions

Wait a minute Some of this seems real hard! There is no silver bullet product But you can automate just about anything Use good OO practices, such as IoC, for breaking dependencies Treat databases like code and match schemas to code versions User interfaces will require frameworks such as Selenium

Wait a minute Some of this seems real hard! There is no silver bullet product But you can automate just about anything Use good OO practices, such as IoC, for breaking dependencies Treat databases like code and match schemas to code versions User interfaces will require frameworks such as Selenium CI server based on build agents makes sense

Wait a minute Some of this seems real hard! There is no silver bullet product But you can automate just about anything Use good OO practices, such as IoC, for breaking dependencies Treat databases like code and match schemas to code versions User interfaces will require frameworks such as Selenium CI server based on build agents makes sense Proper set of test machines is needed for optimal results

Wait a minute Some of this seems real hard! There is no silver bullet product But you can automate just about anything Use good OO practices, such as IoC, for breaking dependencies Treat databases like code and match schemas to code versions User interfaces will require frameworks such as Selenium CI server based on build agents makes sense Proper set of test machines is needed for optimal results Preference is for builds triggered on repository commits

Wait a minute Some of this seems real hard! There is no silver bullet product But you can automate just about anything Use good OO practices, such as IoC, for breaking dependencies Treat databases like code and match schemas to code versions User interfaces will require frameworks such as Selenium CI server based on build agents makes sense Proper set of test machines is needed for optimal results Preference is for builds triggered on repository commits Schedule NFR and other long running tests for off-hours

The road to Continuous Integration takes us way past testing!

The road to Continuous Integration takes us way past testing! Metrics are another factor to indicate quality

The road to Continuous Integration takes us way past testing! Metrics are another factor to indicate quality Deployment packaging and testing of the packaging

The road to Continuous Integration takes us way past testing! Metrics are another factor to indicate quality Deployment packaging and testing of the packaging Deployments can be tested as well

The road to Continuous Integration takes us way past testing! Metrics are another factor to indicate quality Deployment packaging and testing of the packaging Deployments can be tested as well Monitoring of deployed systems may be useful

Poor quality? I m not going to take it anymore!

Poor quality? I m not going to take it anymore! This is really just a modest proposal that makes sense

Poor quality? I m not going to take it anymore! This is really just a modest proposal that makes sense The truth is that quality comes from technical excellence

Poor quality? I m not going to take it anymore! This is really just a modest proposal that makes sense The truth is that quality comes from technical excellence Blaming QA and DevOps for poor quality is not fair

Poor quality? I m not going to take it anymore! This is really just a modest proposal that makes sense The truth is that quality comes from technical excellence Blaming QA and DevOps for poor quality is not fair That makes as much sense as shooting the messenger on bad news

Poor quality? I m not going to take it anymore! This is really just a modest proposal that makes sense The truth is that quality comes from technical excellence Blaming QA and DevOps for poor quality is not fair That makes as much sense as shooting the messenger on bad news Fixing problems late in the cycle is expensive on many fronts

Poor quality? I m not going to take it anymore! This is really just a modest proposal that makes sense The truth is that quality comes from technical excellence Blaming QA and DevOps for poor quality is not fair That makes as much sense as shooting the messenger on bad news Fixing problems late in the cycle is expensive on many fronts Take control of the situation and everyone benefits!

Fin

Continuous Integration Optimizing Your Release Management Process