Managing Change - Build

  • Permissions(sf) User access to new components is handled through permission sets and an optional stub profile. For MPs, updating customer permsets or profiles is handled through Direct Deployment. (TBD)
  • Report ExamplesNew reporting examples are included with new features, as appropriate, and distributed through Direct Deployment. (TBD)
  • External ID Fields(sf) External IDs are included with standard and custom objects to support capabilities like data conversion, sample data import, and staging refresh. (This item does not include implementing the capabilities, only the External ID fields.) (TBD)
  • Proxy BaseFor extension packages being developed alongside a base package, to support base API changes for the extension, the base is represented by a proxy package using a different namespace prefix so that the base can be updated incrementally during the development sprint.  (TBD)
  • Proxy Upload(sf) For managed packages using Proxy Base, a new version is automatically uploaded and installed into an integration or development environment, after every change to the mainline or on a nightly basis. (TBD)
  • Flows for the Win!(sf) Flows are available for use in managed packages and local extensions. (TBD)
  • Cache Partitions(sf) Platform cache partitions are used in managed packages and local extensions where needed.  (TBD)
  • Customer CollaborationCustomers have access to an issue tracker and wiki (such as JIRA and Confluence) that can be used to collaborate between themselves and with the implementation team. (TBD)
  • Unit TestsAs part of coding an item, include light-weight automated tests that exercise the internal interface for individual classes or components. A unit test provides a strict contract that the piece of code must satisfy.  (TBD)
  • Team Agile BoardA team agile board is a work and workflow visualization tool that optimizes the flow of work during an iteration. The board provides columns to represents phases of work, such as To Do, In Progress, and Done. Each work item is represented on the board as it moves across the columns. An agile board can be used with Scrum, Kanban, and other methodologies, and be physical or virtual. (TBD)
  • Feature Agile BoardA feature agile board tracks the progress of a feature from inception to adoption. The board provides columns to represents phases of work, such as To Do, Plan, Build, Operate, Evaluate. Other agile board may track the progress of each feature with the top-level phases.  (TBD)
  • Continual Builds of Complete Test VersionsAt least once a day, automatically build a complete release candidate, including dependencies, documentation, and automatic tests. Deploy build to a staging or test environment. (TBD)
  • Short Running TestsDuring code review both Apex unit test coverage and Apex unit test duration on new components is confirmed to be within expectations (less than five seconds per method). (See also ApexUnit https://github.com/forcedotcom/ApexUnit.) (TBD)
  • Go/NoGo Milestone Checkpoints​At the close of each iteration, stakeholders jointly determine whether to proceed with the next milestone version.  (TBD)
  • Peer Review and TestingPeer developers review and test all changes before code and sample data is merged back to version control, following a test plan that is created for each issue in Confluence. (TBD)
  • Static AnalysisOnce a pull request is created, changes are verified through static analysis, including quality scans and security scans. (TBD)
  • Coding Style GuideDocument the set of conventions about how to write code for your project. It is much easier to understand a large codebase when all of its code is presented in a consistent style. (TBD)

Please submit feedback to the DreamOps Success Group http://dreamops.org/group.