SlideShare a Scribd company logo
Team Development on Force.com
Daniel Hoechst
Salesforce Developer, ARUP Laboratories
@dhoechst
Daniel Hoechst
Salesforce Developer, ARUP Laboratories
@dhoechst
Team Development Challenges
• Collaboration
• Conflicts with developers working on the same object or class
• Change tracking
• Issue identification early in development process
Critical Components for Success
• Bug/Feature Documentation and Tracking
• Multiple Sandboxes/Dev Orgs
• Source Control
• Code Review / Code Standards
• Continuous Integration
Tools of the Trade
STARS
• Sprint Tracking and Requirements System
• Custom built on Force.com
Sandboxes
Developer
Sandbox for each
admin and
developer
Staging Sandbox
to receive
merged metadata
User Acceptance
Testing Sandbox
Sublime Text + MavensMate
• Retrieve Local Copy of Metadata
• Make Changes
Github
• All metadata stored in source control
• Pull Requests used for code review
SourceTree
• Git Client
• Easy to Visualize Changes
Travis CI
• Continuous Integration Tool
• Test Pull Requests
• Deploy changes to staging sandbox
• Uses Force.com Migration Tool
Demo
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
Team Development on Force.com
Team Development on Force.com
Team Development on Force.com
Team Development on Force.com
Team Development on Force.com
Team Development on Force.com
Team Development on Force.com
Gotchas
• Destructive changes aren’t automated
• Not all changes can be pushed through metadata
• API version changes
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)
Benefits
• Well understood process
• No developers overwriting code
• Track changes back to an issue and developer
• Easy to rollback
• Immediate feedback with build errors
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
Questions?
@dhoechst
www.verticalcoder.com
Team Development on Force.com

More Related Content

Team Development on Force.com

Editor's Notes

  1. Key Takeaway: We are a publicly traded company. Please make your buying decisions only on the products commercially available from Salesforce.com. Talk Track: Before I begin, just a quick note that when considering future developments, whether by us or with any other solution provider, you should always base your purchasing decisions on what is currently available.
  2. Multiple custom objects that link Sprints, Releases, PBIs and Deliverables and Metadata You can use Github issues or something similar as well