Develop a Release Management Strategy
After completing this unit, you’ll be able to:
- Identify how to align development teams
- Develop a strategy for managing releases and new environments
- Make a plan for managing source control
Examining what you’ve built is an important step in understanding how you can better manage your org in the future. But you want to make sure you’re looking at how the people that build and deliver apps for your company work together, too. As you look at adopting models for app development and delivery that allow smaller, more focused changes, make sure that you’re not creating opportunities for teams to carry out redundant or conflicting work. Or, in other words, just creating a newer and shinier silo.
Align Your Development Teams
So how can you align your development teams? Look at how your teams work together to build apps today. Do some teams use agile methodologies? Do others use different frameworks? Do teams work in silos? Getting visibility across teams is a key part of better managing your applications. Identify areas of overlap (or conflict) early in the planning and development process in order to avoid more costly conflicts down the road.
Along with establishing strong guidelines for team communication, ensure you set your company up for long-term success. Does your company have a plan for overall governance for your org? Creating effective governance is also an essential part of safeguarding the health of your org in the future.
Develop a Strategy for Managing new Environments and Releases
How teams communicate while building apps is just one part of your release management. How do teams communicate about changes as they release into production? Do different people handle how you’re training end users and sharing updates with those groups? Who handles deployment and migration of changes between environments? How do teams that develop different areas of your org coordinate who’s releasing what, and when?
Shifting to a release model that lets teams move their changes more quickly between environments means that teams will need new ways to be easily aware of other releases and when they’re happening. You also need to establish a strong system for how teams are using sandboxes and newer environments like scratch orgs.
Check out the Change Management Module for more strategies around release management and governance.
Make a Plan for Managing Source
When you’re changing your development strategy, it’s important to get a plan in place for managing source control. Are you using any kind of source control today? How are teams checking their work back into source control? Where and how do code reviews take place? Do you need to restrict access to certain branches or environments? How does automation like Continuous Integration/Continuous Delivery impact your app management lifecycle?
If you’re new to source control, make sure your team is getting a solid grip of the basics. A good place to start is the Git and GitHub Basics Module. Next, you need to evaluate how you're structuring repos and branches within your repos. If you have a meaningful plan in place for source control and branching, it can simplify your daily application development workflows. This not only applies to unlocked packages, but development in general.
You want any plans for how you're managing repos and branches to support the plan you’ve already established for how teams should work together to build and deliver apps. You don’t want to undermine the great communication and release strategies you’ve settled on by creating a source control pattern that lets teams isolate themselves and create redundant or conflicting customizations.
If you already use source control, and you find that it doesn’t align with the way your teams work, look at the reasons why. Is it lack of training? Issues around tooling?
Now is a great time to address any outstanding issues around source control and make sure you’re enabling your team to use source control tools effectively. Source control should reinforce the way you want your teams to work when building and delivering apps.
We’ll be adding more resources and opportunities to get hands-on with these concepts in the coming months. You’ll have the ability to explore untangling metadata and create packages, and learn more about managing unlocked packages.