Title: Continuous Delivery and Continuous Integration. Conference: 13 th Annual Software Testing Conference 2013

Size: px
Start display at page:

Download "Title: Continuous Delivery and Continuous Integration. Conference: 13 th Annual Software Testing Conference 2013"

Transcription

1 1 Title: Continuous Delivery and Continuous Integration Conference: 13 th Annual Software Testing Conference 2013 Author: Tanvi Dharmarha Organization Name: Adobe Systems Inc Address: I-1A, Sector 25A, Noida, UP

2 2 I Abstract Conventional development process involves conceptualization of idea through extensive research, building algorithms, implementing the software features, testing and rolling out software in phased manner with releases of Alpha, Beta, Release Candidates and production. One of the biggest drawbacks of this development methodology is the time to market. It just takes too long to conceptualize an idea and get the fruits of an idea onto a customer s desk and more often than not by the time an idea reaches the customer either it is too obsolete or user preferences have changed and the benefits of the idea/feature are never realized. Every concept or idea has an expiry and it is extremely important that the idea is delivered quickly, the longer it takes to push an idea to the customer the less engaging the concept is. Smaller the turnaround cycle, more engaging is the experience for the end user. Customers love to see software evolve, not as a big bang but in small increments as they can experience more of the incoming changes rather than a whole suite of features, which is a bit too much for an individual to try out. The goal is to reduce time to market. Through this paper we will learn the processes and practices provided by Continuous Integration and Continuous Delivery which will considerably improve time to market and ensure constant delivery of valuable software to customers. II Status quo Inefficiency & increased time to market Most software organizations invest 4-6 months in customer survey and research trying to figure out what customers want. Around days are spent in requirement elicitation and creating an SRS (Software Requirement Specification). The design and implementation can take anywhere between 3 weeks to 2 months depending on the complexity of the feature request. And finally comes the most time consuming part of deployment and testing. With applications getting more and more complex with multiple servers, components, templates, system tools, deployment and testing of the whole system has become a very tedious and time consuming process. Numerous setup and configuration instructions have to be applied to test software and these are commonly prone to human error. Thus isolating a misconfiguration in the whole package is another huge challenge. Repetitive deployments and retesting the whole software after minor fixes increases certification time considerably from a planned 20 days to 2 months. Certification also iterates in a phased manner, from QA, Alpha and Beta before the feature is actually released to the customer. The release rollout of the feature takes anywhere between 6-9 months since its conception. With technology pacing and competitive market conditions, we cannot afford to have such inefficiencies and increased time to market. Strategies need to be adopted to reduce these inefficiencies. III Goal Constantly deliver valuable software to customers. Achievable by delivering incremental software enhancements efficiently and reliably with small time to market and capability to roll back changes without affecting the subscriber base. One way to achieve this is to develop in an agile fashion, be ready to put experimental features in mature software and provide flexibility so that the feature can be exposed or hidden from a customer base (selective absorption of features). Reliability The roll out of experimental features brings us to another important aspect of delivery cycle that is reliability. We do not want to blow up a piece of software working for a majority of customers such that a select group of customers can try out an experimental feature. One of the ways to achieve this would be to deliver new features behind a feature toggle. Feature toggle can be seen as a configuration parameter which hides the feature from majority of customers and exposes the feature to a select group of customers. The software continues to behave as is for a majority of customers and only a select group of customers are exposed to the new feature via the feature toggle. This select group of users basically is the tier 1 customer that is passionate about software improvements, is loyal to product and is willing to accept minor flaws in new features. This select tier 1 group forms the early adoption

3 3 customer base that can provide valuable feedback on the usefulness of a feature. Things that improve the reliability of new feature roll out are - stable and representative test environments - good tests at various levels - fast feedback from tests within development setup, extreme control on environments on which the software gets deployed - software should be deployable / installable with very little configuration and with minimum non-invasive input from the person deploying the software thereby reducing the complexity of configurability of software - automation of deployment pipeline - roll out of software in tiers - ease of roll back by implementing a switch or a feature toggle which can disable a feature in run time with minimum down time so that customer experience for the early adopters is not jeopardized Roll back and willingness to drop features It happens very often that an idea which may sound valuable in principle may not have desired impact on the customer base. If we build up an ecosystem where we can put an idea onto customers desk in reasonable time and validate the usefulness we should also be ready to scrap ideas if they don t deliver on the expectations. This makes our software more manageable and lean with active features and not features which are present because of legacy reasons. This is a change in mindset for the developers where the affinity is not merely on the work that is done but also on the value that a work adds and an acceptability that things cannot turn out as expected. Controls should be setup which should be able to generate the matrices for the usefulness of a feature. Observing user behavior when interacting with a feature can give us an idea of usefulness and acceptance of a feature in general and can determine the features place in the software.

4 4 IV New Technology Offering Continuous Integration and Continuous Delivery For an organization to incorporate CICD into the software development life cycle, they must adhere to the following: Development branches & Feature toggles - A lot of companies have demonstrated that if all the developers in the company work on the same branch of software stack, the development process is synergized and homogenous - Working on the same branch of trunk could be a huge ask as we have to make sure that trunk is always stable and is constantly in releasable form. This means that every check-in that a developer makes does not compromise the stability of a release. - This also introduces a need to be able to hide a partial implementation from the customer since the partial implementations are also part of the regular release. This can be achieved by hiding the implementation behind a configuration parameter (feature toggle) and exposing the feature to every one or a group or a tier based on the comfort of the person or team developing the feature. Build Packaging - Builds must be packaged as SNAPSHOTs and uploaded in the snapshots repository. Each incoming build with fixes should replace the snapshot till a stable build arises. - Stable builds should be marked as Releases; should be versioned and stored in the Release Repository for distribution. Test & Test Environment - Tests should not be the sole responsibility of QA team; Team should be designed to be crossfunctional where a team is self sufficient on what it delivers along with the responsibility of the quality of tests. Tests, be it unit, component, integration or acceptance tests should be always green and should be a good representative of the desired behavior from a piece of functionality added to the software. - Goal should be to keep the tests green all the time

5 - Tests should have the code quality as much as possible as any production software and all the principle of development should be practiced when developing test framework or writing tests - Test framework should be developed with the view that writing tests should be a fun experience rather than being a burden or mundane task for the team developing a feature. - Tests should be written such that they should be able to answer questions about a feature and should be written with a critical view on the software. Tests should not be just validation of feature but should be written with a goal of exploring the usability of the software. - Unit tests should test the desired functionality of a class - Component tests should test the interaction of feature with other features which may interact with the new feature - Integration tests should be written with the goal of making sure that the feature in its entirety fits with the software and does not blow up the software - Acceptance tests should demonstrate that expected user experience can be achieved from the software with the addition of the new feature - Achieving a common framework from doing all these levels of testing has an additional advantage of writing tests with ease so the test framework should be designed in a way that it should be equally easy to write an acceptance test and a unit test and no additional skills are required to write one kind of test or the other - Tests should be fast, there are organizations which can run tens-of-thousands of tests in matter of seconds. This gives a very quick feedback in development and broken tests if identified early make it easy to locate the changes which caused a failure. - Tests can be treated as a source of documentation and tests should be able to explain how a feature is supposed to behave in various circumstances - A build management system should be carefully chosen which can run tests on each commit, a commit should not be made with failing tests - Test runner hosts should represent customer environment especially when running integration and acceptance tests, this makes sure that we do not have bug slip ups for identified scenarios because a particular flavor of OS or configuration was not tested - Minimize MANUAL tests, if we feel a need to do manual testing, write an automated test which replicates the manual steps it is achievable and saves us from regression bugs as a test once automated makes sure that we do not miss a scenario 5

6 6 Configuration - systems should have least amount of configuration required from the person deploying / installing the system - software should come packaged with all dependencies and on a supported platform it should be deployable with only a few simple command(s) and not many configurations - software should be tested on all supported platform in an automated fashion - Software should be continuously deployed and checked for configuration consistency alongside development and this process should not be a disjointed one. Deployment Pipeline - Gives visibility into the production readiness of the applications by giving feedback on every change to the system - Builds, Tools and other prerequisites software should be deployed in an automated fashion on the certification environments (dev/qa/stage). - Any reds (failures) in the deployment pipeline should raise alarms. Rollout tiers - Almost all the social networking companies and some product companies use the concept of tier rollouts where a feature is first exposed to a select group of customers and on successful acceptance by those customers the feature is made available to general public - The select group is dynamic and can be chosen based on the relevance of a feature. A particular feature may be more relevant for a teenager and thus a company which has information about the age group of its customers maybe inclined to first expose the feature to a particular age group and then asses the value that the feature created. - Added advantage of tier roll out is that if something goes wrong not every one is affected by the bug but only the people in that tier are affected. - To visualize tiers, consider we have a stable branch V which is rolled out every where, then a team decides to introduce a new feature make a release V+, the V+ could be rolled out to only a select group of deployments and thus deployments become tier 1 deployment. If successful, the V+ get released to another set of deployments called tier 2 and the features is promoted eventually to all the tiers. - The tiers have to be designed such that most sensitive of the customers to a particular area of the software are least affected.

7 7 Snapshot Repo Fetch Dependencies from Repo Publish libraries to Repo Software Trunk Acceptance Integration Component Unit Tests Acceptance Integration Component Unit Tests Commit Commit Configuration Trunk Publish update libraries to Repo System Environment Trunk Fig 3: Snapshot Releases (Non Public)

8 8 Release Repo Publish libraries to Release Repo Publish libraries to Release Repo Fetch Dependencies from Snapshot Repo Acceptance Integration Component Unit Tests Acceptance Integration Component Unit Tests Snapshot Repo Trigger Release Trigger Release Fig 4: Public Releases

9 9 Tools - Subversion system (SVN/Git/CVS/Perforce/VSS) - Build tools (maven, ant) - Building Packaging (Nexus/Seli using Rest Apis) - Build management system (TeamCity / Hudson) - Build runner systems (agents) (customized based on platforms on which the software would run) - Configuration management systems: standardized environment setup on which the system can be deployed and managed by some kind of a configuration management system (Puppet, Salt) - Feature / bug tracking system (jira / Watson/Bugzilla) - Release management (Plutora/ URelease/Jira) - Test frameworks (JUnit / NUnit / Jmeter / QTP / Rational Robo, etc) - Knowledge base (api docs / man docs / technical docs) - Production machine monitoring systems (tools provided by hardware vendors) - Usage tracking of features: systems built to gather productions usage statistics V Conclusion The mantra behind Continuous Integration and Continuous Delivery is to build small, review regularly and deploy quality software to turn your release into a business advantage. VI Other desired advantages Time & Cost Saving: Apart from the increased time to market, incremental development helps in finding bugs easily and early in the cycle. Bug isolation and fixing is quicker as only a small change has resulted in that bug. Adopting of Continuous Integration and Continuous Delivery processes can reduce implementation time by 15% and deployment and testing time considerably by 55-60%. VII Acceptable with existing Business Models /Organizations Products and services environments where ideas have to be tried out soon and rolled out require CICD practices so that they can stay ahead in competition. Some examples of successful CICD implementation include 1. Social networking sites like Facebook deploys multiple times a day with bug fixes, new features, and site improvements 2. Image and video hosting websites like Flickr deploy 8-10 times a day with home redesigning, network traffic fixes and other improvements. 3. High Frequency Trading Organizations deploy every alternate day with various quantitative configurations for price predictions 4. Travel and Tourism sites like Booking.com, Yatra and MakeMyTrip deploy multiple times a day with new deals, promotions, bug fixes VIII References

10 IX Authors Biography The author, Tanvi Dharmarha, is working as a Lead Software Engineer with Adobe Systems Inc and is leading the quality team for Anti-Piracy initiatives at Adobe. She holds an Engineering Degree in Informational Technology. Prior to Adobe she has worked with an online Trading Company, International Marketmakers Combination, based out of Amsterdam. 10

Load Testing Strategy Review When Transitioning to Cloud

Load Testing Strategy Review When Transitioning to Cloud International Journal of Innovative Technology and Exploring Engineering (IJITEE) ISSN: 2278-3075, Volume-3, Issue-9, February 2014 Load Testing Strategy Review When Transitioning to Cloud Tanvi Dharmarha,

More information

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

WHITE PAPER. Getting started with Continuous Integration in software development. - Amruta Kumbhar, Madhavi Shailaja & Ravi Shankar Anupindi WHITE PAPER Getting started with Continuous Integration in software development - Amruta Kumbhar, Madhavi Shailaja & Ravi Shankar Anupindi Introduction DevOps culture is gaining rapid momentum in the IT

More information

Cost effective methods of test environment management. Prabhu Meruga Director - Solution Engineering 16 th July SCQAA Irvine, CA

Cost effective methods of test environment management. Prabhu Meruga Director - Solution Engineering 16 th July SCQAA Irvine, CA Cost effective methods of test environment management Prabhu Meruga Director - Solution Engineering 16 th July SCQAA Irvine, CA 2013 Agenda Basic complexity Dynamic needs for test environments Traditional

More information

Distributed Agile Development in the Cloud

Distributed Agile Development in the Cloud W H I T E PA P E R Distributed Agile Development in the Cloud A new development process using the Power of Cloud and combining the merits of Agile, Feature Branching, Continuous Integration, Continuous

More information

Delivery. Continuous. Jez Humble and David Farley. AAddison-Wesley. Upper Saddle River, NJ Boston Indianapolis San Francisco

Delivery. Continuous. Jez Humble and David Farley. AAddison-Wesley. Upper Saddle River, NJ Boston Indianapolis San Francisco Continuous Delivery Jez Humble and David Farley AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Cape Town Sydney Tokyo Singapore

More information

SOA Solutions & Middleware Testing: White Paper

SOA Solutions & Middleware Testing: White Paper SOA Solutions & Middleware Testing: White Paper Version 1.1 (December 06, 2013) Table of Contents Introduction... 03 Solutions Testing (Beta Testing)... 03 1. Solutions Testing Methods... 03 1.1 End-to-End

More information

Continuous Delivery. Alejandro Ruiz

Continuous Delivery. Alejandro Ruiz Continuous Delivery Alejandro Ruiz True reality How the customer explained it How the project leader understood it How the analyst designed it How the programmer wrote it What the customer really needed

More information

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS @huibschoots & @mieldonkers INTRODUCTION Huib Schoots Tester @huibschoots Miel Donkers Developer @mieldonkers TYPICAL Experience with Continuous Delivery?

More information

ACCELERATE DEVOPS USING OPENSHIFT PAAS

ACCELERATE DEVOPS USING OPENSHIFT PAAS ACCELERATE DEVOPS USING OPENSHIFT PAAS September 3, 2014 AGENDA World we live in today IT organization: Charter, goals, and challenges DevOps: Problem statement, what, and why How to enable DevOps Application

More information

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Enabling Continuous Delivery by Leveraging the Deployment Pipeline Enabling Continuous Delivery by Leveraging the Deployment Pipeline Jason Carter Principal (972) 689-6402 Jason.carter@parivedasolutions.com Pariveda Solutions, Inc. Dallas,TX Table of Contents Matching

More information

An Introduction to Continuous Delivery

An Introduction to Continuous Delivery An Introduction to Continuous Delivery rolf russell continuous delivery practice lead 2011 All rights reserved. conan the deployer getting it in front of users quickly http://code.flickr.com small feature

More information

Continuous Delivery. Ariel Alonso, IPC

Continuous Delivery. Ariel Alonso, IPC Continuous Delivery Ariel Alonso, IPC About Me Ariel Alonso Systems Architect Independent Purchasing Cooperative, Inc. Software Engineer for 15 years Interests Agile & XP Test Driven Development Automation

More information

a new generation software test automation framework - CIVIM

a new generation software test automation framework - CIVIM a new generation software test automation framework - CIVIM Software Testing is the last phase in software development lifecycle which has high impact on the quality of the final product delivered to the

More information

Software Development In the Cloud Cloud management and ALM

Software Development In the Cloud Cloud management and ALM Software Development In the Cloud Cloud management and ALM First published in Dr. Dobb's Journal, February 2009: http://www.ddj.com/development-tools/212900736 Nick Gulrajani is a Senior Solutions Architect

More information

Optimizing Your Software Process

Optimizing Your Software Process Optimizing Your Software Process Software Configuration Management Best Practices Executive Summary Software configuration management (SCM) comprises of factors such as compliance, workflow, security,

More information

Continuous Integration Build-Test-Delivery (CI-BTD) Framework in compliance with ISO26262

Continuous Integration Build-Test-Delivery (CI-BTD) Framework in compliance with ISO26262 Continuous Integration Build-Test-Delivery (CI-BTD) Framework in compliance with ISO26262 Manish Patil Sathishkumar T September 2015 1 Contents Abstract... 3 1. Introduction... 3 2. Industry Challenges...

More information

CONTINUOUS INTEGRATION

CONTINUOUS INTEGRATION CONTINUOUS INTEGRATION REALISING ROI IN SOFTWARE DEVELOPMENT PROJECTS In the following pages we will discuss the policies and systems that together make up the process called Continuous Integration. This

More information

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation Practicing Continuous Delivery using Hudson Winston Prakash Oracle Corporation Development Lifecycle Dev Dev QA Ops DevOps QA Ops Typical turn around time is 6 months to 1 year Sprint cycle is typically

More information

Continuous integration End of the big bang integration era

Continuous integration End of the big bang integration era Continuous integration End of the big bang integration era Patrick Laurent Partner Technology & Enterprise Applications Deloitte Mario Deserranno Manager Technology & Enterprise Applications Deloitte The

More information

Virtualization Reduces the Cost of Supporting Open Industrial Control Systems

Virtualization Reduces the Cost of Supporting Open Industrial Control Systems Virtualization Reduces the Cost of Supporting Open Industrial Control Systems Virtualization Reduces the Cost of Supporting Open Industrial Control Systems ii Table of Contents Introduction... 1 What is

More information

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS @pascal_dufour & @hrietman INTRODUCTION Pascal Dufour Agile Tester @Pascal_Dufour Harald Rietman Developer Scrum Master @hrietman TYPICAL Experience with

More information

Top Ten Reasons to Transition Your IT Sandbox Environments to the Cloud

Top Ten Reasons to Transition Your IT Sandbox Environments to the Cloud Top Ten Reasons to Transition Your IT Sandbox Environments to the Cloud WHITE PAPER BROUGHT TO YOU BY SKYTAP 2 Top Ten Reasons to Transition Your IT Sandbox Environments to the Cloud Contents Executive

More information

DevOps: Roll out new software and functionality quicker with high velocity DevOps

DevOps: Roll out new software and functionality quicker with high velocity DevOps DevOps: Roll out new software and functionality quicker with high velocity DevOps As software becomes more central, companies are looking for ways to shorten software development cycles and push new functionality

More information

Use Scrum + Continuous Delivery to build the right thing

Use Scrum + Continuous Delivery to build the right thing August 2012 W hitepapers Use Scrum + Continuous Delivery to build the right thing PETER GFADER Introduction How often do you release your product to your end users? How often do your end users see and

More information

Delivering Quality Software with Continuous Integration

Delivering Quality Software with Continuous Integration Delivering Quality Software with Continuous Integration 01 02 03 04 Unit Check- Test Review In 05 06 07 Build Deploy Test In the following pages we will discuss the approach and systems that together make

More information

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

Agile Software Factory: Bringing the reliability of a manufacturing line to software development Agile Software Factory: Bringing the reliability of a manufacturing line to software development Today s businesses are complex organizations that must be agile across multiple channels in highly competitive

More information

Git Branching for Continuous Delivery

Git Branching for Continuous Delivery Git Branching for Continuous Delivery Sarah Goff-Dupont Automation Enthusiast Hello everyone I ll be talking about how teams at Atlassian use Git branches for continuous delivery. My name is Sarah, and

More information

INTRODUCING CONTINUOUS DELIVERY IN THE ENTERPRISE

INTRODUCING CONTINUOUS DELIVERY IN THE ENTERPRISE INTRODUCING CONTINUOUS DELIVERY IN THE ENTERPRISE The situation Today Not too long ago customers and prospects had to find a computer to visit your site. In stark contrast with just a few years ago, this

More information

Software Continuous Integration & Delivery

Software Continuous Integration & Delivery November 2013 Daitan White Paper Software Continuous Integration & Delivery INCREASING YOUR SOFTWARE DEVELOPMENT PROCESS AGILITY Highly Reliable Software Development Services http://www.daitangroup.com

More information

Accelerating software testing effectiveness using Agile methodologies..

Accelerating software testing effectiveness using Agile methodologies.. Accelerating software testing effectiveness using Agile methodologies.. How can testing be completed faster, and more efficiently, within short iterations? The Problem It is a painful paradox that while

More information

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

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery! Continuous Delivery for Alfresco Solutions Satisfied customers and happy developers with!! Continuous Delivery! About me Roeland Hofkens #rhofkens roeland.hofkens@westernacher.com http://opensource.westernacher.com

More information

Implementing Continuous Integration Testing Prepared by:

Implementing Continuous Integration Testing Prepared by: Implementing Continuous Integration Testing Prepared by: Mr Sandeep M Table of Contents 1. ABSTRACT... 2 2. INTRODUCTION TO CONTINUOUS INTEGRATION (CI)... 3 3. CI FOR AGILE METHODOLOGY... 4 4. WORK FLOW...

More information

Test Driven Development Part III: Continuous Integration Venkat Subramaniam venkats@agiledeveloper.com http://www.agiledeveloper.com/download.

Test Driven Development Part III: Continuous Integration Venkat Subramaniam venkats@agiledeveloper.com http://www.agiledeveloper.com/download. Test Driven Development Part III: Continuous Integration Venkat Subramaniam venkats@agiledeveloper.com http://www.agiledeveloper.com/download.aspx Abstract In this final part of the three part series on

More information

How Silk Central brings flexibility to agile development

How Silk Central brings flexibility to agile development How Silk Central brings flexibility to agile development The name agile development is perhaps slightly misleading as it is by its very nature, a carefully structured environment of rigorous procedures.

More information

Steady as She Goes. How the VIVO developers work to deliver a stable platform

Steady as She Goes. How the VIVO developers work to deliver a stable platform Steady as She Goes How the VIVO developers work to deliver a stable platform Overview These practices: are by and for the Cornell development team. are applied to the main VIVO code base. The next challenge:

More information

Continuous Integration: Put it at the heart of your development

Continuous Integration: Put it at the heart of your development Continuous Integration: Put it at the heart of your development Susan Duncan Tools Product Manager, Oracle 1 Program Agenda What is CI? What Does It Mean To You? Make it Hudson Evolving Best Practice For

More information

Improving database development. Recommendations for solving development problems using Red Gate tools

Improving database development. Recommendations for solving development problems using Red Gate tools Improving database development Recommendations for solving development problems using Red Gate tools Introduction At Red Gate, we believe in creating simple, usable tools that address the problems of software

More information

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture Pipeline Orchestration for Test Automation using Extended Buildbot Architecture Sushant G.Gaikwad Department of Computer Science and engineering, Walchand College of Engineering, Sangli, India. M.A.Shah

More information

Continuous Integration: A case study

Continuous Integration: A case study Continuous Integration: A case study Vaibhav Kothari Talentica Software (I) Pvt ltd 1 Abstract Developer s dilemma QA s dilemma Continuous Integration? Case study What is accomplished? Benefits of CI Recommended

More information

A Sumo Logic White Paper. Harnessing Continuous Intelligence to Enable the Modern DevOps Team

A Sumo Logic White Paper. Harnessing Continuous Intelligence to Enable the Modern DevOps Team A Sumo Logic White Paper Harnessing Continuous Intelligence to Enable the Modern DevOps Team As organizations embrace the DevOps approach to application development they face new challenges that can t

More information

CONTINUOUS INTEGRATION. Introduction

CONTINUOUS INTEGRATION. Introduction CONTINUOUS INTEGRATION Introduction Continuous Integration is the topic of quite a bit of buzz in Silicon Valley and beyond. And with good reason: continuous integration helps teams ship better software

More information

Application Performance Testing Basics

Application Performance Testing Basics Application Performance Testing Basics ABSTRACT Todays the web is playing a critical role in all the business domains such as entertainment, finance, healthcare etc. It is much important to ensure hassle-free

More information

Continuous Integration

Continuous Integration Continuous Integration Collaborative development issues Checkout of a shared version of software ( mainline ) Creation of personal working copies of developers Software development: modification of personal

More information

Software Construction

Software Construction Software Construction Martin Kropp University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Learning Target You can explain the importance of continuous integration

More information

The Importance of Continuous Integration for Quality Assurance Teams

The Importance of Continuous Integration for Quality Assurance Teams The Importance of Continuous Integration for Quality Assurance Teams Without proper implementation, a continuous integration system will go from a competitive advantage for a software quality assurance

More information

Continuous integration for databases using Red Gate tools

Continuous integration for databases using Red Gate tools Whitepaper Continuous integration for databases using Red Gate tools A technical overview Continuous Integration source control develop Dev Dev Dev build test Automated Deployment Deployment package Testing

More information

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction Software Testing Rajat Kumar Bal Introduction In India itself, Software industry growth has been phenomenal. IT field has enormously grown in the past 50 years. IT industry in India is expected to touch

More information

We (http://www.newagesolution.net) have extensive experience in enterprise and system architectures, system engineering, project management, and

We (http://www.newagesolution.net) have extensive experience in enterprise and system architectures, system engineering, project management, and We (http://www.newagesolution.net) have extensive experience in enterprise and system architectures, system engineering, project management, and software design and development. We will be presenting a

More information

Levels of Software Testing. Functional Testing

Levels of Software Testing. Functional Testing Levels of Software Testing There are different levels during the process of Testing. In this chapter a brief description is provided about these levels. Levels of testing include the different methodologies

More information

WHITEPAPER. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Principle #1, Agile Manifesto

WHITEPAPER. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Principle #1, Agile Manifesto 30 September 2014 WHITEPAPER Delivery Maturity Model Releasing software is often a long, difficult and risky process. Defects and integration issues pop-up at the very last moment and cause dissatisfaction

More information

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

Increasing frequency of releases to every week down from quarterly major releases Continuous Delivery with Go enables an 87% improvement in release time, 85% reduction in test time and ROI of 6x in one of Germany s largest consumer portals. Increasing frequency of releases to every

More information

Software Configuration Management Best Practices

Software Configuration Management Best Practices White Paper AccuRev Software Configuration Management Best Practices Table of Contents page Executive Summary...2 Introduction...2 Best Practice 1: Use Change Packages to Integrate with Issue Tracking...2

More information

APPLICATION OF SERVER VIRTUALIZATION IN PLATFORM TESTING

APPLICATION OF SERVER VIRTUALIZATION IN PLATFORM TESTING APPLICATION OF SERVER VIRTUALIZATION IN PLATFORM TESTING Application testing remains a complex endeavor as Development and QA managers need to focus on delivering projects on schedule, controlling costs,

More information

Sandesh Prasanna Kumar

Sandesh Prasanna Kumar E-Mail: sandeshp7@gmail.com Contact No: +44 7508061652 Linked in: http://www.linkedin.com/in/sandeshp7 Website: cv.sandeshp.com Skype: Sandesh_p5 Current location: London, United Kingdom Nationality: Indian

More information

Increasing Business Efficiency and Agility for ATGbased. Systems. the business challenge: upgrading the development pipeline

Increasing Business Efficiency and Agility for ATGbased. Systems. the business challenge: upgrading the development pipeline Increasing Business Efficiency and Agility for ATGbased ecommerce Systems This case study follows a Tier 1 retailer migrating to an ATG-based ecommerce platform and upgrading its software development process

More information

Version Management in SaaS The 1010data Approach

Version Management in SaaS The 1010data Approach Version Management in SaaS The 1010data Approach Sandy Steier 1010data, Inc. December, 2011 Copyright 2011 by 1010data, Inc. Overview Was I deceiv'd, or did a sable cloud Turn forth her silver lining on

More information

Optimizing Your Software Process

Optimizing Your Software Process Optimizing Your Software Process Top 5 Software Development Process Challenges Executive Summar ry A process framework is a combination of project management, technical practices, and supporting tools.

More information

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

My DevOps Journey by Billy Foss, Engineering Services Architect, CA Technologies About the author My DevOps Journey by Billy Foss, Engineering Services Architect, CA Technologies I am going to take you through the journey that my team embarked on as we looked for ways to automate processes,

More information

Creative Shorts: Twelve lifecycle management principles for world-class cloud development

Creative Shorts: Twelve lifecycle management principles for world-class cloud development Creative Shorts: Twelve lifecycle management principles for world-class cloud development Foundations for optimal development on and for the cloud A Creative Intellect Consulting Shorts Report Series (ALM)

More information

Software Testing Lifecycle

Software Testing Lifecycle STLC-Software Testing Life Cycle SDLC Software Testing Lifecycle Software Testing Life Cycle (STLC) defines the steps/ stages/ phases in testing of software. However, there is no fixed standard STLC in

More information

The Benefits of Deployment Automation

The Benefits of Deployment Automation WHITEPAPER Octopus Deploy The Benefits of Deployment Automation Reducing the risk of production deployments Contents Executive Summary... 2 Deployment and Agile software development... 3 Aim to deploy

More information

WHITEPAPER. Improving database development

WHITEPAPER. Improving database development WHITEPAPER Improving database development Introduction At Redgate, we believe in creating simple, usable tools that address the problems of software developers and technology businesses. In considering

More information

Top ten reasons to transition your IT lab environments to the cloud

Top ten reasons to transition your IT lab environments to the cloud Top ten reasons to transition your IT lab environments to the cloud WHITE PAPER BROUGHT TO YOU BY SKYTAP 2 Top ten reasons to transition your IT lab environments to the cloud Contents The Promise of Cloud

More information

MDSplus Automated Build and Distribution System

MDSplus Automated Build and Distribution System PSFC/JA-13-23 MDSplus Automated Build and Distribution System Fredian T.W., Stillerman J.A.*, Manduchi G.** * Plasma Science and Fusion Center, MIT ** Consorzio RFX, Euratom-ENEA Association, Padova,Italy

More information

Agile Austin Dev SIG. June 2013 - Continuous Integration (CI)

Agile Austin Dev SIG. June 2013 - Continuous Integration (CI) Agile Austin Dev SIG June 2013 - Continuous Integration (CI) Special thanks to: Our hosts, BancVue, for their hospitality and meeting facilities. And to Agile Austin for providing lunch. * For more SIGs

More information

Aspire's Approach to Test Automation

Aspire's Approach to Test Automation WHITE PAPER Aspire's Approach to Test Automation by Ujjawal Bagaria, Aspire Systems Automation has been seen as the long term solution for cost reduction of manual testing across the globe. A successfully

More information

Achieving Rolling Updates & Continuous Deployment with Zero Downtime

Achieving Rolling Updates & Continuous Deployment with Zero Downtime +1 800-825-0212 WHITEPAPER Achieving Rolling Updates & Continuous Deployment with Zero Downtime Get started with ANSIBLE now: /get-started-with-ansible or contact us for more information: info@ INTRODUCTION

More information

AUTOMATED MOBILE TESTING REQUIRES BOTH REAL DEVICES AND EMULATORS

AUTOMATED MOBILE TESTING REQUIRES BOTH REAL DEVICES AND EMULATORS WHITE PAPER AUTOMATED MOBILE TESTING REQUIRES BOTH REAL DEVICES AND EMULATORS SEPTEMBER 2015 Today, businesses compete in an increasingly mobile-centric marketplace. Mobile QA can no longer take a backseat

More information

Continuous Integration and Delivery at NSIDC

Continuous Integration and Delivery at NSIDC National Snow and Ice Data Center Supporting Cryospheric Research Since 1976 Continuous Integration and Delivery at NSIDC Julia Collins National Snow and Ice Data Center Cooperative Institute for Research

More information

BRINGING CLOUD TRADITIONAL DESKTOP COMPUTING TO APPLICATIONS

BRINGING CLOUD TRADITIONAL DESKTOP COMPUTING TO APPLICATIONS BRINGING CLOUD COMPUTING TO TRADITIONAL DESKTOP APPLICATIONS Overview Our client, a fast growing startup in the Silicon Valley, has built a scalable web based collaboration platform to help businesses

More information

Automated Mobile Testing Requires Both Real Devices and Emulators

Automated Mobile Testing Requires Both Real Devices and Emulators WHITE PAPER Automated Mobile Testing Requires Both Real Devices and Emulators September 2015 Today, businesses compete in an increasingly mobile-centric marketplace. Mobile QA can no longer take a backseat

More information

Upping the game. Improving your software development process

Upping the game. Improving your software development process Upping the game Improving your software development process John Ferguson Smart Principle Consultant Wakaleo Consulting Email: john.smart@wakaleo.com Web: http://www.wakaleo.com Twitter: wakaleo Presentation

More information

SA Tool Kit release life cycle

SA Tool Kit release life cycle Release management Release management process is a software engineering process intended to oversee the development, testing, deployment and support of software releases. A release is usually a named collection

More information

Leveraging Rational Team Concert's build capabilities for Continuous Integration

Leveraging Rational Team Concert's build capabilities for Continuous Integration Leveraging Rational Team Concert's build capabilities for Continuous Integration Krishna Kishore Senior Engineer, RTC IBM Krishna.kishore@in.ibm.com August 9-11, Bangalore August 11, Delhi Agenda What

More information

Server Virtualization and Consolidation

Server Virtualization and Consolidation Server Virtualization and Consolidation An Ideal cost effective solution to maximize your Return on Investment of your organization's hardware infrastructure It is quit evident today that Business owners,

More information

Basic Unix/Linux 1. Software Testing Interview Prep

Basic Unix/Linux 1. Software Testing Interview Prep Basic Unix/Linux 1 Programming Fundamentals and Concepts 2 1. What is the difference between web application and client server application? Client server application is designed typically to work in a

More information

The Role of the Operating System in Cloud Environments

The Role of the Operating System in Cloud Environments The Role of the Operating System in Cloud Environments Judith Hurwitz, President Marcia Kaufman, COO Sponsored by Red Hat Cloud computing is a technology deployment approach that has the potential to help

More information

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

Solution Spotlight KEY OPPORTUNITIES AND PITFALLS ON THE ROAD TO CONTINUOUS DELIVERY Solution Spotlight KEY OPPORTUNITIES AND PITFALLS ON THE ROAD TO CONTINUOUS DELIVERY C ontinuous delivery offers a number of opportunities and for organizations. By automating the software buildtest-deployment

More information

Testing in a Mobile World

Testing in a Mobile World White Paper Testing in a Mobile World April 2014 Share this White Paper Contents Introduction 3 1. Testing in agile projects 4 2. Testing tools 6 3. Testing practices 10 4. Testing as a service 14 Conclusion

More information

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

Automated performance testing using Maven & JMeter. George Barnett, Atlassian Software Systems @georgebarnett Automated performance testing using Maven & JMeter George Barnett, Atlassian Software Systems @georgebarnett Create controllable JMeter tests Configure Maven to create a repeatable cycle Run this build

More information

Software Engineering I: Software Technology WS 2008/09. Integration Testing and System Testing

Software Engineering I: Software Technology WS 2008/09. Integration Testing and System Testing Software Engineering I: Software Technology WS 2008/09 Integration Testing and System Testing Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Overview Integration testing

More information

Automation using Selenium

Automation using Selenium Table of Contents 1. A view on Automation Testing... 3 2. Automation Testing Tools... 3 2.1 Licensed Tools... 3 2.1.1 Market Growth & Productivity... 4 2.1.2 Current Scenario... 4 2.2 Open Source Tools...

More information

Continuous Delivery: Automating the Deployment Pipeline. Solution Brief

Continuous Delivery: Automating the Deployment Pipeline. Solution Brief Continuous Delivery: Automating the Deployment Pipeline Solution Brief The Value of Continuous Delivery Continuous Delivery is a software delivery practice that requires you to build and deploy software

More information

The Deployment Production Line

The Deployment Production Line The Deployment Production Line Jez Humble, Chris Read, Dan North ThoughtWorks Limited jez.humble@thoughtworks.com, chris.read@thoughtworks.com, dan.north@thoughtworks.com Abstract Testing and deployment

More information

Introduction to Programming Tools. Anjana & Shankar September,2010

Introduction to Programming Tools. Anjana & Shankar September,2010 Introduction to Programming Tools Anjana & Shankar September,2010 Contents Essentials tooling concepts in S/W development Build system Version Control System Testing Tools Continuous Integration Issue

More information

Software Configuration Management Best Practices for Continuous Integration

Software Configuration Management Best Practices for Continuous Integration Software Configuration Management Best Practices for Continuous Integration As Agile software development methodologies become more common and mature, proven best practices in all phases of the software

More information

Building, testing and deploying mobile apps with Jenkins & friends

Building, testing and deploying mobile apps with Jenkins & friends Building, testing and deploying mobile apps with Jenkins & friends Christopher Orr https://chris.orr.me.uk/ This is a lightning talk which is basically described by its title, where "mobile apps" really

More information

Testing Tools Content (Manual with Selenium) Levels of Testing

Testing Tools Content (Manual with Selenium) Levels of Testing Course Objectives: This course is designed to train the fresher's, intermediate and professionals on testing with the concepts of manual testing and Automation with Selenium. The main focus is, once the

More information

Achieving business benefits through automated software testing. By Dr. Mike Bartley, Founder and CEO, TVS (mike@testandverification.

Achieving business benefits through automated software testing. By Dr. Mike Bartley, Founder and CEO, TVS (mike@testandverification. Achieving business benefits through automated software testing By Dr. Mike Bartley, Founder and CEO, TVS (mike@testandverification.com) 1 Introduction During my experience of test automation I have seen

More information

Hudson configuration manual

Hudson configuration manual Hudson configuration manual 1 Chapter 1 What is Hudson? Hudson is a powerful and widely used open source continuous integration server providing development teams with a reliable way to monitor changes

More information

2405 - Using Git with Rational Team Concert and Rational ClearCase in enterprise environments

2405 - Using Git with Rational Team Concert and Rational ClearCase in enterprise environments 2405 - Using Git with Rational Team Concert and Rational ClearCase in enterprise environments Bartosz Chrabski Executive IT Specialist WW Competitive Sales Team bartosz.chrabski@pl.ibm.com Peter Hack ClearCase

More information

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

CSE 70: Software Development Pipeline Version Control with Subversion, Continuous Integration with Bamboo, Issue Tracking with Jira CSE 70: Software Development Pipeline Version Control with Subversion, Continuous Integration with Bamboo, Issue Tracking with Jira Ingolf Krueger Department of Computer Science & Engineering University

More information

SA4 Software Developer Survey Survey Specification v2.2

SA4 Software Developer Survey Survey Specification v2.2 Last updated: 30-06-2009 Activity: SA4 Dissemination Level: PP (Project Participants) Authors: Branko Marović (UoB/AMRES), Cezary Mazurek (PSNC), Gina Kramer (DANTE) Table of Contents 1 Introduction 1

More information

Continuous Delivery. Jez Humble, ThoughtWorks Studios @jezhumble #continuousdelivery DevOpsDays, Hamburg

Continuous Delivery. Jez Humble, ThoughtWorks Studios @jezhumble #continuousdelivery DevOpsDays, Hamburg Continuous Delivery Jez Humble, ThoughtWorks Studios @jezhumble #continuousdelivery DevOpsDays, Hamburg Agile 101 "Agile" team Analysis + Design Development Centralized QA Integration + QA IT Operations

More information

Cisco Unified Communications and Collaboration technology is changing the way we go about the business of the University.

Cisco Unified Communications and Collaboration technology is changing the way we go about the business of the University. Data Sheet Cisco Optimization s Optimize Your Solution using Cisco Expertise and Leading Practices Optimizing Your Business Architecture Today, enabling business innovation and agility is about being able

More information

Top 10 Reasons to Virtualize VMware Zimbra Collaboration Server with VMware vsphere. white PAPER

Top 10 Reasons to Virtualize VMware Zimbra Collaboration Server with VMware vsphere. white PAPER Top 10 Reasons to Virtualize VMware Zimbra Collaboration Server with VMware vsphere white PAPER Email outages disrupt a company s ability to conduct business. Issues as diverse as scheduled downtime, human

More information

POSITION SPECIFICATION ENTERPRISE ARCHITECT UK&I

POSITION SPECIFICATION ENTERPRISE ARCHITECT UK&I POSITION SPECIFICATION ENTERPRISE ARCHITECT UK&I THE POSITION The Enterprise Architect will be supporting the Experian Consumer Services UK&I Architecture functions and processes. The Enterprise Architect

More information

Process of Building up an Application Packaging

Process of Building up an Application Packaging Process of Building up an Application Packaging Trupti M. Hake * M.E. (Computer Engg.,) pursuing, Sinhgad College Pune (M.S.) India * truptihake@yahoo.com Pravin S. Metkewar Assoc Professor, Symbiosis

More information

IBM Pure Application Implementation Guide

IBM Pure Application Implementation Guide PERFICIENT IBM Pure Application Implementation Guide How to guide on the usage of Pure Application Technical Architect: Chuck Misuraca Change History Table 1: Document Change History Document Revision

More information

Best Practices in Release and Deployment Management

Best Practices in Release and Deployment Management WHITEPAPER Best Practices in Release and Deployment Management Mark Levy Through 2016, a lack of effective release management will contribute up to 80% of production incidents in large organizations with

More information