Develop Software with Confidence



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

Accelerate Software Delivery

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

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

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

Continuous Integration Using Cruise Control

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

Software Construction

Continuous Delivery. Alejandro Ruiz

The Importance of Continuous Integration for Quality Assurance Teams

Leveraging Rational Team Concert's build capabilities for Continuous Integration

Delivering Quality Software with Continuous Integration

Java Software Quality Tools and techniques

CASE STUDY: AgitarOne Ensures Quality of Outsourced Software Development at Major International Bank

Continuous Integration

Continuous Integration: Aspects in Automation and Configuration Management

Foreword by Martin Fowler *

BuildBot. S.Cozzini/A.Messina/G.Giuliani. And Continuous Integration. RegCM4 experiences. Warning: Some slides/ideas.

Best Practices for Java Projects Horst Rechner

Test Driven Development Part III: Continuous Integration Venkat Subramaniam

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

Unit Testing with FlexUnit. by John Mason

Continuous Integration in Kieker

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

Software infrastructure for Java development projects

Continuous Integration: Put it at the heart of your development

Modern practices TIE-21100/

Software Configuration Management Best Practices for Continuous Integration

Continuous Integration Multi-Stage Builds for Quality Assurance

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

Continuous delivery Release software on-demand, not on Red Alert

CONTINUOUS INTEGRATION

Continuous Integration (CI)

The Unix-like Build Pattern

WHITE PAPER. Getting started with Continuous Integration in software development. - Amruta Kumbhar, Madhavi Shailaja & Ravi Shankar Anupindi

Professional Java Tools for Extreme Programming. Ant, XDoclet, JUnit, Cactus, and Maven

For more about patterns & practices: My blog:

Introduction and Agenda

Realizing Continuous Performance Management

VMware vcenter Log Insight Delivers Immediate Value to IT Operations. The Value of VMware vcenter Log Insight : The Customer Perspective

ALM: Continuous Integration. José Almeida, Microsoft

How To Write Unit Tests In A Continuous Integration

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

CSE 70: Software Development Pipeline Version Control with Subversion, Continuous Integration with Bamboo, Issue Tracking with Jira

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

"Build and Test in the Cloud "

Problems and Measures Regarding Waste 1 Management and 3R Era of public health improvement Situation subsequent to the Meiji Restoration

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

Agile Test Automation

Agile QA s Revolutionary Impact on Project Management

G-Cloud Framework Service Definition. Continuous Integration Service

Continuous Delivery. Ariel Alonso, IPC

Introducing Continuous Integration

vrops Microsoft SQL Server MANAGEMENT PACK OVERVIEW

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

Implementing Continuous Integration Testing Prepared by:

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

Agile with XP and Scrum

Continuous Delivery Workshop

Continuous Integration

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

What the heck is that bar over there?

Upping the game. Improving your software development process

Continuous Delivery. Anatomy of the Deployment Pipeline (Free Chapter) by Jez Humble and David Farley

Eclipse Help

Higher Focus on Quality. Pressure on Testing Budgets. ? Short Release Cycles. Your key to Effortless Automation. OpKey TM

Continuous Integration and Bamboo. Ryan Cutter CSCI Spring Semester

Continuous Integration

How to Optimize Automated Testing with Everyone's Favorite Butler

Introduction to Programming Tools. Anjana & Shankar September,2010

Test Driven Development with Continuous Integration: A Literature Review

STeP-IN SUMMIT International Conference On Software Testing

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

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

convincing reasons to replace your accounting system with ERP

DevOps Stack. Reid Holmes. Chris Parnin:

Continuous Delivery and Test Automation in Agile SW projects with Robot Framework Antti Pohjonen

An Introduction to Software Development Process and Collaborative Work

Automated testing and continuous integration

Effective feedback from quality tools during development

Continuous Delivery Benefits, Best Practices and Practical Advice

Mobile App Quick Start

Build and Release Management: Understanding The Costs of Doing it Yourself. John Graham-Cumming Co-Founder Electric Cloud, Inc.

How To Avoid Snowflakes

How Silk Central brings flexibility to agile development

Automated Acceptance Testing of High Capacity Network Gateway

The Value of Adopting Agile & CI for OBIEE

Continuous Delivery Maturity Model

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Continuous. Integration. in.net MARGIN KAWALEROWICZ CRAIG BERNTSON MANNING. Greenwich. (74 w. long.)

Continuous integration End of the big bang integration era

White Paper. The Agile Heartbeat. How Agile Development Puts Fast, Automatic Builds Center Stage

CONTINUOUS INTEGRATION. Introduction

Continuous Integration Just another buzz word?

Agile Development: Five Steps to Continuous Integration. By John Graham-Cumming Co-Founder and Chief Scientist, Electric Cloud, Inc.

Automated performance testing using Maven & JMeter. George Barnett, Atlassian Software

DRUPAL CONTINUOUS INTEGRATION. Part I - Introduction

Agile SCM Build Management for an Agile Team. Some Definitions. Building and Agility. Steve Berczuk, Brad Appleton, and Steve Konieczka October 2003

Software Configuration Management and Continuous Integration

Agile Software Development in the Large

Transcription:

Develop Software with Confidence Continuous Integration, Continuous Agitation March 2006 Jeffrey Fredrick jtf@agitar.com 1

Topics What is Continuous Integration Continuous Integration at Agitar Toolset Questions 2

What is Continuous Integration Manual CI The practice of frequently integrating my work with the work of the team Automated CI the practice of giving automated feedback as rapidly as possible following a change Common goal lower the cost of failure 3

Feedback Code rules pass Code compiles Agitation tests pass Progress on test targets System tests pass Installer created Deployment successful People are generally interested in being good citizens. Alistair Cockburn 4

Developer Testing as Feedback Allows developer to confirm some part of the code works as expected not the same as the product working Provides feedback while doing faster feedback lower cost of failure downstream efficiency Developers write tests to change the code 5

Importance of Automating Tests Tests are code: software rots if not used Good tests fail Imperfect tests, run frequently, are much better than perfect tests that are never written at all. Martin Fowler 6

Overview of Agitator & Dashboard Agitator :: developer testing tool attempts to exercise all code and report on observed behavior observations/assertions evaluated for a range of input track expected and unexpected outcomes Management Dashboard managers: set targets, track trends developers: report status, progress on targets 7

Overview of A&D Code Bases Agitator (core) 1886 classes, 74126 lines 1164 test & harness classes, 33659 lines 5857 JUnit test points, 32668 total Dashboard 126 classes, 5052 lines 183 test & harness classes, 7028 lines 3360 JUnit test points, 5316 total 8

Our Builds quick build compiles & JUnit tests feedback < 10 minutes agitation build system tests & agitate changed classes feedback in under 1 hour nightly agitation agitate everything execution time ~ 10 hours (official build) 9

Feedback Mechanisms Lava lamps extreme Feedback Monitor Email CI tool & dashboard emails JSP reporting application 10

Lava Lamps 11

quick XFM 12

Failure Email 13

JSP Metrics Tab quick Results 14

Developer Testing Maturity Continuous Agitation Managed Developer Testing Machine independent tests Continuous Integration Automated nightly test execution Machine dependent tests No tests 15

Managed Developer Testing Why Because developer testing effort can be a non-trivial amount of development time How Set visible targets Show developers their progress Track trends position is nothing, momentum is everything 16

Agitator Executive Email 17

Agitator Developer Email 18

Agitation XFM 19

JSP Metrics Tab Agitation Results 20

Continuous Agitation Math Dashboard project agitation build 5316 test points x 1241 builds = 6.6 million opportunities for feedback Agitator project agitation build 32668 test points x 5407 = 176 million opportunities nightly build 32668 test points x 557 = 18 million opportunities 21

Impact of Continuous Agitation More features and higher quality Engineering staffing 40% lower than projected Latest release added new functionality 2 weeks before ship shipped 1 week early Oozing Confidence 22

Toolset CruiseControl open source CI framework Agitator ant tasks quicklist regression mode create.zsums console.xml Dashboard ant tasks generate & email reports 23

Resources CruiseControl Continuous Integration: An Unlikely Hero Continuous Integration by Martin Fowler DeveloperTesting.com Continuous Integration, Continuous Agitation A Bad Day With Continuous Integration extreme Feedback for Software Development 24

Questions 25