Introduction and Agenda



Similar documents
Software Construction

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

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Leveraging Rational Team Concert's build capabilities for Continuous Integration

We ( have extensive experience in enterprise and system architectures, system engineering, project management, and

Code Quality Assurance. Peter Kofler, Code Cop FH Technikum Wien, February 2010

Continuous Delivery. Alejandro Ruiz

Continuous Integration in Kieker

Delivering Quality Software with Continuous Integration

Continuous Integration: A case study

Continuous Integration on System z

Continuous Integration For Real: The Perforce Java Platform. Hamish Reid Perforce Software Inc.

The Agile Project Management Bill Gaiennie, Davisbase Consulting. Copyright 2011 Davisbase LLC. Distribution without express permission is forbidden

ALM: Continuous Integration. José Almeida, Microsoft

Java Software Quality Tools and techniques

Improving Software Quality with the Continuous Integration Server Hudson. Dr. Ullrich Hafner Avaloq Evolution AG 8911

How To Write Unit Tests In A Continuous Integration

Continuous Integration Northwestern University. Evanston, Illinois November The Business of IT

Test Driven Development Part III: Continuous Integration Venkat Subramaniam

Software Continuous Integration & Delivery

Agile Austin Dev SIG. June Continuous Integration (CI)

Build management & Continuous integration. with Maven & Hudson

Kevin Lee Technical Consultant As part of a normal software build and release process

Two-Way Data Binding with WinJS By Marcin Kawalerowicz and Craig Berntson, authors of Continuous Integration in.net

Bridging the Gap Between Acceptance Criteria and Definition of Done

Continuous Integration. CSC 440: Software Engineering Slide #1

Continuous Integration and Bamboo. Ryan Cutter CSCI Spring Semester

Agile Testing: The Agile Test Automation Pyramid

Introduction to Agile Software Development Process. Software Development Life Cycles

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

Modern practices TIE-21100/

Continuous Delivery. Martin Fowler, Jez Humble YOW! Brisbane, 5 December Wednesday, December 7, 11

Agile So)ware Development

Introducing Continuous Integration

Continuous Delivery by example.net

Accelerate Software Delivery

Test-Driven Development

The Agile Movement An introduction to agile software development

Agile Testing and Extreme Programming

Effektiver Tool-Einsatz

Continuous Integration (CI)

Nick Ashley TOOLS. The following table lists some additional and possibly more unusual tools used in this paper.

Continuous integration End of the big bang integration era

Program & Portfolio! Management using! Kanban! Copyright 2013 Davisbase Consulting. Limited Display License Provided to ASPE

Agile Project Management

Upping the game. Improving your software development process

Continuous Delivery. Jez Humble, ThoughtWorks #continuousdelivery DevOpsDays, Hamburg

An Example Checklist for ScrumMasters

Agile Testing: Best Practices to Ensure Successful Transformation to Agile Methodologies

Continuous Integration

Enabling Agile Testing Through Continuous Integration

Case Studies of Free Test Tools Successful Test Tool Use without a Big Budget

"Testing in the DevOps World of Continuous Delivery"

Leveraging Agile and CMMI for better Business Benefits Presented at HYDSPIN Mid-year Conference Jun-2014

a way to successful Delivery

Continuous integration for databases using Redgate tools

Continuous integration for databases using

Software infrastructure for Java development projects

Accelerate Software Delivery with Continuous Integration and Testing. JaSST 08 Tokyo. Jeffrey Fredrick Agitar Software,

"Build and Test in the Cloud "

Enhancing The ALM Experience

Implementing Continuous Integration Testing Prepared by:

A Proposed Model for Code Quality Maturity Model

Continuous Integration Comes to China.

Basic Trends of Modern Software Development

Continuous Integration: Put it at the heart of your development

Continuous Integration For Fusion Middleware

Continuous Integration

Agile Testing (October 2011) Page 1. Learning Objectives for Agile Testing

Agile with XP and Scrum

Agile QA s Revolutionary Impact on Project Management

What s new in the HP Functional Testing 11.5 suite Ronit Soen, product marketing John Jeremiah, product marketing

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

The Unix-like Build Pattern

Test Driven Development with Continuous Integration: A Literature Review

Methodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1

Integrating Team Foundation Server, Microsoft Test Manager and Coded UI Tests

Continuous Delivery Workshop

HP ALM11 & MS VS/TFS2010

A Practical Guide to implementing Agile QA process on Scrum Projects

XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories

Continuous integration for databases using Red Gate tools

Agility via Software Engineering Practices

Agile Testing Overview

Software Development In the Cloud Cloud management and ALM

Meister Going Beyond Maven

Testing and Quality in Agile Development Speaker: Allan Watty Company: ABB Inc Website:

Practical QA in a Nutshell

Service Description - Testing

Making Test Automation Work in Agile Projects

Quality Cruising. Making Java Work for Erlang. Erik (Happi) Stenman

Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda

Fail early, fail often, succeed sooner!

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

Benefits of Test Automation for Agile Testing

SOFTWARE DEVELOPMENT BASICS SED

Lee Copeland.

How To Be Successful At An Agile Software Engineering

Continuous Integration Processes and SCM To Support Test Automation

The Role of Feedback in Continuous Integration, Continuous Delivery and Agile ALM

Transcription:

Continuous Integration a brief introduction to creating quality software continuously presented by

Introduction and Agenda Andy Painter, Davisbase Consulting 15+ years in software development. 5+ years working with software development teams, training, leading, and coaching Agile teams. Trained and coached teams ranging from start-ups to Fortune 50 corporations. Agenda What is Continuous Integration? Evolving to Nirvana Success Patterns & Challenges Next steps

Continuous Integration Attitude Contrary to popular belief, continuous integration is an attitude, not a tool. It's a shared agreement by the team that: When we get the latest code from the repository, it will always build successfully and pass all tests. We will check in our code every two to four hours. --- James Shore, The Art of Agile

Continuous Integration Practices Maintain a code repository Automate the build Make the build self-testing Everyone commits every day Every commit (to mainline) should be built Keep the build fast Test in a clone of the production environment Make it easy to get the latest deliverables Everyone can see the results of the latest build Automate deployment Practices specified by Martin Fowler, http://martinfowler.com/articles/continuousintegration.html

Continuous Integration Defined A process that supports teams in making small, working incremental changes to software. Continuous Integration is an automated process that provides feedback and supports: Transparency Consistency Continuous s Continuous Inspections Continuous Testing Continuous Deployment

Typical Development Large grained commits or Version control as a backup Independent development IDE driven manual builds

Scripted Scripted

Integrated Scripted Integration Integration

Continuous s Scripted Integration Transparency & Continuous s Integration

Continuous Inspections (Static Analysis) Scripted Integration Integration Transparency & Continuous s Continuous Inspections

Automated Unit Testing Scripted Integration Integration Transparency & Continuous s Continuous Inspections Automated Unit Testing

Automated Acceptance Testing Scripted Integration Integration Transparency & Continuous s Continuous Inspections Automated Unit Testing Automated Acceptance Testing

Automated Deployment Scripted Integration Integration Transparency & Continuous s Continuous Inspections Automated Unit Testing Automated Acceptance Testing Automated Deployment

Functional Testing Scripted Integration Integration Transparency & Continuous s Continuous Inspections Automated Unit Testing Automated Acceptance Testing Automated Deployment Automated Functional Testing

Multi-Phase Continuous Integration Integration Integration Manual & Exploratory Testing Integration

Through the Eye of Testing Manual & Exploratory Testing GUI Tests Acceptance Tests Integratio Integratio n n Integratio Integratio n n Unit Tests Integratio Integratio n n 1 6

Sample Tools for QTP/Selenium FIT, Fitnesse, BDD frameworks Cobertura, NCover Junit, Nunit, xunit FxCop, CPD, PMD Java, MS Ant, Nant Hudson, CC, Ant Hill Pro Functional Tests Acceptance Tests Code Coverage Metrics Unit Testing Static Analysis Execution/Compilation Scripting Continuous Integration

Value Proposition Reduce risk Automate frequent manual processes Improve transparency & visibility Generate deployable software

Symbiotic Agile Engineering Practices Automated Unit & Integration Tests Coding Standards Refactoring Collective Code Ownership Automated Acceptance Tests

ing Successful Habits Commit Often Don't commit broken code Fix broken builds immediately Write Automated Developer Tests Fail the if any test or inspection fails Run Local s before commits Don't check out code from a broken build

Fighting Resistance Another Process & System? More change? Cost? Our developers should already be doing this, right?

Next Steps Find experts that can point you in the right direction. Recognize that automating is an essential foundation that supports agile software teams. It takes time to get good at anything, Continuous Integration is no exception, but the rewards are well worth it. Getting started is easier than you might think. Try something, see what works

About Us A leading, national provider of Agile training and coaching services. Since 2007, over 300 classes taught to over 5000 people nationwide. Training, coaching, and consulting work for over 50 Fortune 500 Clients. Experienced; in the trenches doing what we teach Extensive experience with all aspects of software development and project lifecycle across multiple industries and verticals. Every title and role from Developer, QA, Project Manager through Sr. Leadership. Average of 14+ years of applied IT Leadership experience.

Final Thoughts... Simplicity does not precede complexity, it follows it. - Alan Perlis Whether your next project is a success or a failure is not a matter of chance, it is a matter of choice. - A wise Agile coach and trainer

Questions and Answers Your questions, my answers.