Team Development on Force.com
- 1. Team Development on Force.com
Daniel Hoechst
Salesforce Developer, ARUP Laboratories
@dhoechst
- 3. Team Development Challenges
• Collaboration
• Conflicts with developers working on the same object or class
• Change tracking
• Issue identification early in development process
- 4. Critical Components for Success
• Bug/Feature Documentation and Tracking
• Multiple Sandboxes/Dev Orgs
• Source Control
• Code Review / Code Standards
• Continuous Integration
- 8. Sublime Text + MavensMate
• Retrieve Local Copy of Metadata
• Make Changes
- 11. Travis CI
• Continuous Integration Tool
• Test Pull Requests
• Deploy changes to staging sandbox
• Uses Force.com Migration Tool
- 13. 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
- 23. Benefits
• Well understood process
• No developers overwriting code
• Track changes back to an issue and developer
• Easy to rollback
• Immediate feedback with build errors
- 24. 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
Editor's Notes
- 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.
- Multiple custom objects that link Sprints, Releases, PBIs and Deliverables and Metadata
You can use Github issues or something similar as well