Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

Preview:

Citation preview

Effective Release Management For

Salesforce.com development teams

AutoRABIT

A Product of TechSophy, Inc. www.techsophy.com

www.AutoRABIT.com

Presented to Phoenix Salesforce Developer Group

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

Agenda

• Present Challenges in Salesforce.com• About AutoRABIT• AutoRABIT Demo

– Continuous Integration – Release Management – Dashboard, KPI’s, goal alignment– Version control– Data Loading– Test Automation

• Q & A

Note:- Slides & recording of the session will be shared- Pl. ask questions at any time

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

AutoRABIT – About USEX

PERT

IZE

SPE

CIA

LIZAT

ION

EXPE

RIE

NC

E• Technology• Business Process Management• Continuous Integration• Analytics

• Architecture• Project Management• Product engineering• Mindset – We automate

• Test Automation• CI Implementations• CI, ALM Services• Extreme Test Automation• Productivity catalyst – Sales Force• Cloud solution delivery easy

• 300+ man years of effort• Team members core

contributors for several open source projects

• Sales force Rapid automation• Breadth of clients: Fortune

100 and SMB customers

Automation Mindset

TechSophy, Inc. (Parent Company)Started in 2008HQ : Pleasanton, CATech Lab: Hyderabad, India110 EmployeesFocus: Services on BPM and Product Engineering

AutoRABIT, Inc.HQ : Pleasanton, CAR&D and Dev: Hyderabad, IndiaEmployees : 30 (20 Dev + 10 Support)Focus: CI for Salesforce.com

The ONLY true Continuous Integration product from group-up for Salesforce.com

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

Definitions – CI & CD

• Continuous Integration– Maintain a single source repository (mainline)– Small and frequent changes– Automate build, test & deployment– Goal to increase release velocity

• Continuous Deployment/Delivery– CI + option of releasing every good build to users

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

Present Challenges

• I want more frequent releases deployments • My team(s) keeps overwriting code• My team spends lot of time on change sets• I need visibility into my dev. process • My Sales team wants a new campaign live in 1

week • I need additional Testing resources for release

– I need additional budgets, I have to schedule, set up (QA sandbox), test plans…

• I want to increase the code quality

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

The Problem

• Lack of coordination• No automation• Mostly manual steps for deployment• Manual testing with limited test coverage• Multiple production orgs with no common

code

…SLOW RELEASE VELOCITY

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

Prerequisites for CI/CD

• Before start the journey– Does your team have the CI mindset– Evaluate the tool set and process– Environment/sandbox in sync– Does your mgmt. have the desire

• Pitfalls– CI Tools built for Java/ .Net Platforms may not come

out-of-box for Salesforce. You would need to customize at script level

– Do not plug CI process directly into your present release . Let people, tools as well as CI process evolve for one release.

– Understand change management ‘for your Team'

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

Dataloading

• Present challenges– Cumbersome to move the records of selected set

of objects.- Dataloading along with relationships- Exporting Attachments, integration with external

tools like Apptus are a challenge• Best Practices

– Integrated with UAT sandbox

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

Version Control

• Present challenges– How to use version control in the overall process ? - Is it to check-in our changes every time we work in our sandbox with IDEs like Eclipse ?

- or is it more for nightly code back-ups.– Administrative and business teams find it hard to work with ?– Which tool to select ?– How to drive the adoption of branching and release.

• Best Practices– Integrated with UAT sandbox

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

AutoRABIT Enterprise Test Automation Suite

Test Generator Test Transformation Wrappers & Adapters Adapters

Rule Based

Equivalence classes

Combination of States

Boundary Value Analysis

Separate Data, Configuration

Separate scenario from script

Data Scrubbing

Environment driven Test Preparation

300+ Built in Wrappers

Reusable Libraires forTechnology platforms

Keyword & Framework specific

Adapters for Selenium,Apex, Jmeter..etc.

Self Learning Model

Predictive Analytics

Test Genius on what to test

Test efficiencecalculator

Test Automation

ALM CapabilitiesVersion Control Integration & Support

Automated Metadata Deployment Selective Deployment Integrated Dataloader Backup/RestoreOrg Comparison

Additional effective features

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

Test Team

Staging/UAT

Test TeamIntegrationX

Configuration Backup / Restore

Feature1

Feat

ure2

DevSandbox

DevSandbox2

Dataload / Sandbox R

efresh

Sandbox Refresh

Production

Hot fix

Promote to Producti

on

Manual Process

Feature1

Error

Production Issue

2 Days

2 Days

2 Days

1 Day

2 Days

* Test effort excluded

Typical process without Continuous Integration (Basis: various client deployment experiences)

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

People Involved

Committed Resources + Explicit Trainings + Various Tools + Time….

Automation

COMMIT UNIT TESTSTATIC

ANALSYSBUILD DEPLOY

RUNTESTS

PROJECTSTATUS

PERFORMANCETESTS

FUNCTIONALTESTS

RUNTESTS

CHANGEMANAGEMENT

DEVELOPMENT + INTEGRATION ACCEPTANCE RELEASE MAINTENANCE

User-1

User-2

User-3

User-4

User-1

User-2

User-3

User-4

Continuous Integration/Deployment

- Many tool in the market- Open source works just fine- Select what works for your organization- ~ 6 months + Budgets- Evaluate the entire process and workflow

Create a symphony !!!

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

AutoRABIT in Action

ALM

SYSTEMS

Dev Environment

AutoRABIT System

Metadata

Data

Single Click Promotion

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

CI Model 1 – Dev Process is version controlled

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

CI Model 2 – Dev to Prod with version control

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

Developer Community Engagement

• Active involvement– Blogs, Suggestion & Tips, 10% charter– PUG’s (Bay Area, Chicago, MN, San Diego , + 3 )– Free Training

• Webinar series• Social

– SFDC (various), Blogs, LinkedIn, MeetUp, • Target groups

– Developer & admin’s – Managers, Business, BA, PM

Involve, Educate & Transform

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

DEMO

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

HOW TO DEFINE GOALS AND GET THERE?

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

Level Build Process Environments and Deployment

Testing Reporting

Level 4 • All build issues addressed through automation

• Continuous deployment to production

• Feature sandboxes• Automated provisioning

• 100% code coverage• All testing automated• Code tested against large

number of potential configurations

• Real-time visibility

Level 3 • Triggered builds• Code, meta-data,

documentation, requirements subject to version control

• Separate Dev, Test, and Prod environments

• Single button deployment

• Very high test coverage• Test interaction between

code, meta-data, and data• Users create automated

test scripts

• Report trend analysis

Level 2 • Build on commit• Dependencies

managed

• Standardized deployment process

• Full Sandbox• Selective Promote, Change

sets• Some automated deployment

• Automated daily functional tests

• On-demand reporting

Level 1 • Source control utilized

• Automated build process

• Documented deployment process

• Defined branching strategy

• Large amounts of testing done at build

• Reports visible to entire team

Level 0 • Manual or semi-manual build process

• Changes made directly to Production

• Manual or no testing • Status visible only to individual developer

Maturity model to plan goals

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

Level Build Process Environments and Deployment

Testing Reporting

Level 4 • All build issues addressed through automation

• Continuous deployment to production

• Feature sandboxes• Automated provisioning

• 100% code coverage• All testing automated• Code tested against large

number of potential configurations

• Real-time visibility

Level 3 • Triggered builds• Code, meta-data,

documentation, requirements subject to version control

• Separate Dev, Test, and Prod environments

• Single button deployment

• Very high test coverage• Test interaction between

code, meta-data, and data• Users create automated test

scripts

• Report trend analysis

Level 2 • Build on commit• Dependencies managed

• Standardized deployment process

• Full Sandbox• Selective Promote, Change

sets• Some automated

deployment

• Automated daily functional tests

• On-demand reporting

Level 1 • Source control utilized• Automated build

process

• Documented deployment process

• Defined branching strategy

• Large amounts of testing done at build

• Reports visible to entire team

Level 0 • Manual or semi-manual build process

• Changes made directly to Production

• Manual or no testing • Status visible only to individual developer

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

First Step: Change Management

• Change Management Team– Functional Leaders– Business Analysts– Technical Architects– Power Users

• Release Management Strategy– What is allowed in each branch– Who is allowed to make changes where

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

Production

Test

Feature A

Feature B

Feature C

Dev Dev Dev Dev Dev Dev DevDev

Feature Team A

Feature Team B Feature Team C

BranchingStrategy

Tests

Tests

Tests

Release Management Strategy

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

Production

Test

Feature A

Feature B

Feature C

Dev Dev Dev Dev Dev Dev DevDev

Feature Team A

Feature Team B Feature Team C

BranchingStrategy

Tests

Tests

Tests

Release Management Strategy

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

Trunk

Test

Feature A

Feature B

Feature C

Dev Dev Dev Dev Dev Dev DevDev

Feature Team A

Feature Team B Feature Team C

BranchingStrategy

Tests

Tests

Tests

Release Management Strategy

Org C

Gradually Migrate Features from Other Orgs into Trunk

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

Summary

• AutoRABIT is the first (and only) tool designed from the ground up for Continuous Integration on Force.com

• Meta-Data Management– Metadata Comparison and Selective Promotion– Minimize Meta-Data conflicts with feature teams, branching strategy

with version control, and testing

• Version control and branching done visually• Sandbox Restore, Rollback with backups of meta-data,

source code and data• Test automation by non-technical end users• Easy and complete dataloading• “Test Genius” help prioritize and optimize your testing

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

AutoRABIT Test Genius (Automatic selection & execution of test cases to identify 99% or critical defects)

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

Release Management

Can your release process be more automated and confidence evoking?

Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)

We appreciate your time and interest, Thank You

Vishnu Datla

+1 (732) 766 5667

vishnu(at)AutoRABIT.com

Twitter: @vishnuraju

www.linkedin.com/vishnudatla

For a free trial pl. register at www.AutoRABIT.com