29
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

Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

Embed Size (px)

Citation preview

Page 1: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

Page 2: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

Page 3: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

Page 4: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

Page 5: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

Page 6: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

Page 7: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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'

Page 8: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

Page 9: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

Page 10: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

Page 11: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

Page 12: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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)

Page 13: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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 !!!

Page 14: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

AutoRABIT in Action

ALM

SYSTEMS

Dev Environment

AutoRABIT System

Metadata

Data

Single Click Promotion

Page 15: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

CI Model 1 – Dev Process is version controlled

Page 16: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

CI Model 2 – Dev to Prod with version control

Page 17: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

Page 18: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

DEMO

Page 19: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

HOW TO DEFINE GOALS AND GET THERE?

Page 20: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

Page 21: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

Page 22: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

Page 23: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

Page 24: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

Page 25: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

Page 26: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

Page 27: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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)

Page 28: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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

Release Management

Can your release process be more automated and confidence evoking?

Page 29: Auto rabit salesforce_continuous integration_deployments_vishnu_v2-2

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