team development on force.com

26
Team Development on Force.com Daniel Hoechst Salesforce Developer, ARUP Laboratories @dhoechst

Upload: daniel-hoechst

Post on 18-Jul-2015

220 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Team Development on Force.com

Team Development on Force.comDaniel Hoechst

Salesforce Developer, ARUP Laboratories

@dhoechst

Page 2: Team Development on Force.com

Place

Customer or

Partner logo in

white area of

slide, centered

Daniel HoechstSalesforce Developer, ARUP Laboratories

@dhoechst

Page 3: Team Development on Force.com

Team Development Challenges

• Collaboration

• Conflicts with developers working on the same object or class

• Change tracking

• Issue identification early in development process

Page 4: Team Development on Force.com

Critical Components for Success

• Bug/Feature Documentation and Tracking

• Multiple Sandboxes/Dev Orgs

• Source Control

• Code Review / Code Standards

• Continuous Integration

Page 5: Team Development on Force.com

Use to

introduce a

demo, video,

Q&A, etc. Tools of the Trade

Page 6: Team Development on Force.com

STARS

• Sprint Tracking and Requirements System

• Custom built on Force.com

Page 7: Team Development on Force.com

Sandboxes

Developer Sandbox for each

admin and developer

Staging Sandbox to receive

merged metadata

User Acceptance Testing Sandbox

Page 8: Team Development on Force.com

Sublime Text + MavensMate

• Retrieve Local Copy of Metadata

• Make Changes

Page 9: Team Development on Force.com

Github

• All metadata stored in source control

• Pull Requests used for code review

Page 10: Team Development on Force.com

SourceTree

• Git Client

• Easy to Visualize Changes

Page 11: Team Development on Force.com

Travis CI

• Continuous Integration Tool

• Test Pull Requests

• Deploy changes to staging sandbox

• Uses Force.com Migration Tool

Page 12: Team Development on Force.com

Use to

introduce a

demo, video,

Q&A, etc. Demo

Page 13: Team Development on Force.com

Demo Steps• 1. Github - show issue created

• 2. Source Tree - create branch

• 3. Sublime – to class and Save

• 4. Source Tree

• - review changes

• - stage

• - commit, push, create pull request (close issue in comments)

• 5. Github

• - show pending pull request, integration with Travis

• - merge pull request

• 6. Travis - show build

• 7. Salesforce

• - Show deployment status

• - Show updated class

Page 14: Team Development on Force.com
Page 15: Team Development on Force.com
Page 16: Team Development on Force.com
Page 17: Team Development on Force.com
Page 18: Team Development on Force.com
Page 19: Team Development on Force.com
Page 20: Team Development on Force.com
Page 21: Team Development on Force.com

Gotchas

• Destructive changes aren’t automated

• Not all changes can be pushed through metadata

• API version changes

Page 22: Team Development on Force.com

Development Process

Log Issue

(Github)

Create Branch

(SourceTree)

Develop

(Sublime + MavensMate)

Commit and Create Pull

Request

(SourceTree)

CI Validate Changes

(Travis CI)

Code Review and Merge

(Github)

Build to Staging Org

(Travis CI)

Page 23: Team Development on Force.com

Benefits

• Well understood process

• No developers overwriting code

• Track changes back to an issue and developer

• Easy to rollback

• Immediate feedback with build errors

Page 24: Team Development on Force.com

Resources

• Team Development on Force.com http://www.verticalcoder.com/2014/01/06/team-

development-on-force-com/

• Continuous Integration Using Drone.io

http://www.verticalcoder.com/2014/01/07/continuous-integration-using-drone-io/

• MavensMate and Git for Non

Developershttps://tdd.instawiki.com/display/SF/Mavens+Mate+and+Git+for+Non+D

evelopers

Page 25: Team Development on Force.com

Questions?@dhoechst

www.verticalcoder.com

Page 26: Team Development on Force.com