AppAssessor / DevOps

DevOps from the Comfort of Your Own Salesforce Org [In-Depth Overview]

By William Roberts

Organize your pipeline in a familiar environment with a one-stop shop that connects deployment, spring and feature management, and backup and rollback.

Highlights

  • Complete privacy and ownership of your data and processes, as well as full access to all of Salesforce’s customization features.
  • Pre-Deploy Fix finds errors with your deployment – even those that Salesforce couldn’t warn you about.
  • In-depth comparisons between repos – accessible to all skill levels of developers, admins, and architects.
  • Sync with project management tools, like Jira, to link deployments and cut down clicks.

Deployments and change management can often be overlooked or left until the last minute; related tasks may appear to be daunting or difficult, as they require tools with a steep learning curve, or don’t ‘play nicely’ with the project management tools already in place.

Flosum’s mission is to make it as easy as possible to manage your deployment pipelines and metrics on a familiar platform, so that you can take what they provide and make it your own – you’ll no longer have to bend your processes to fit an off-the-shelf tool. Flosum knows when to take advantage of what Salesforce offers, and when to provide their own screens and functionality, providing a nice balance of familiar and new interfaces. 

This overview will dive into the wide array of areas where Flosum can add real value to your business, from metrics to dependency management.

Features

Pipeline Quality

Peer Reviews: When you kick off a Peer Review for features, Flosum allows you to compare new, changed, or destructive changes between all types of metadata in different repo – when you find these changes, you can work through them and leave comments where. The familiar colors follow Git’s color schema, but even if you aren’t familiar with these, you’ll find them nice and clear. Bright green indicates new, and red indicates destructive, making it easy to scroll through larger pieces of metadata to work out what’s not right, or catch changes that aren’t quite right, or not meeting requirements. Once you’ve found these, you can leave comments right there on the metadata, so it’s clear exactly what your comments refer to.

Flosum also keeps Features in sync with project tools like Jira. As they’re updated and deployed in Flosum, the linked tickets are updated elsewhere, keeping project managers in the loop and saving a ton of clicks.

Code coverage and quality enforcement: Salesforce insists on 75% Code Coverage to deploy to Production. However, there are no such limits on sandboxes, which can lead to some nasty surprises when its deployment time, especially if there are Validation Rules or automations at play. Flosum includes Test Coverage checks, so that in specific environments – sandbox or otherwise – anything below the threshold you define won’t pass validation.

Flosum also checks your code to ensure it follows best practices and has valid tests against a set of static analysis rules. If the code breaches these, it will be rejected. This can be incredibly useful if you’re less ‘techy’ yourself, and want to ensure that only high quality code is deployed. That said, these rules can’t be ‘soft’ warnings; it’s all or nothing, so it’s worth putting time into understanding them ahead of using this feature.

Making it possible for some to be hard rules, and others soft, is something I’m very much hoping the Flosum team will work on in the future.

Overwrite Protection

When any deployment is being run, overwrite protection is mandatory – the name may make it sound scary, or like a backup of sorts, however, it is one of Flosum’s greatest assets. Firstly, Flosum will display a list of conflicts, highlighting the differences or deletions, as well as who last made a change to this item and when. This sets you up for any detective work that needs to be done at this stage.

Once you’ve selected the metadata you want to focus on, you then get a breakdown of exactly what’s different, using an interface that is consistent with the Peer Review, with changes highlighted in green and red, and showing the Source versus Target.

Discovering conflicts or missed changes is, of course, only half the battle – to prevent the Source and Target drifting further out, or unexpected changes going into the Target, the interface shows arrows and crosses next to each conflicting item. These neat little arrows allow items that aren’t in the Source to be pulled back, or for items that aren’t yet to be deployed to be held back.

As well as helping to keep your Source in sync with any sneaky changes that have made their way further up the pipe, you can be confident that only the changes you made are going into your release.

One of the really impressive features Flosum has achieved here is ensuring that there are no false positives – regardless of the order or size of the files, Flosum isn’t comparing line to line, but looking for each item and comparing. This can be a big relief at times, especially when dealing with some of Salesforce’s more fiddly metadata items, like Picklist Values, which like to get themselves all jumbled up, or even Flows, which can be very complex as it’s difficult to pick out individual changes.

Pre-Deploy Fix

With every deployment there is the risk of forgetting or missing a dependency. When you’re ready to Validate, Flosum has you covered.

When deploying with Salesforce, it’s likely that the first set of errors you need to resolve in a deployment will make way for another set, and then another, and so on – meaning a lot of re-working changesets, re-uploading packages or messing around in VS-Code. 

Whatever your preferred flavor of tool, it’s frustrating to go through that song-and-dance to solve one set, only to have more take their place – like some form of deployment hydra! With Pre-Deploy Fix, Flosum will catch up to 500 issues, rather than just the first handful.

With these missing dependencies, we either remove references to it (for example, if we’re trying to deploy a permission set with a single field that’s used by it missing), or we can choose a source (probably the Sandbox you were working in) to pull in the missing metadata (to use the same example, a pull in the field that a Permission Set references that we’d forgotten).

The time saving here is huge, speaking from my own experience, having to re-work my deployments due to a single missed item is really frustrating. However, that’s not to say this is foolproof – for more complex items like flows, its difficult to remove references as, it could take a big chunk of your functionality with it and wisely, Flosum isn’t going to let you take that risk – so for those deployments with a lot of automation, you might find yourself pulling any missing items in, rather than excluding them. 

Rollback

This is very much ‘what it says on the tin’ – a real lifesaver when it’s needed, be it rolling back Production after a bug made it through, or rolling back something that’s got into UAT perhaps a little sooner than it should. Before Flosum makes any deployment, it takes a backup, and then runs that against your current environment. From here, you can pick and choose the changes to roll back, so it doesn’t have to be the full set of changes if say 90% is performing fine.

The branch you pushed from can then be used to troubleshoot. It can also be teed up again for deployment – we don’t need to go through the same song-and-dance for a new branch just to attempt to re-deploy, as the history is kept in one place.

Pipelines

For both simple and complex uses, Pipelines provide automation to push things along, saving clicks along the way, as well as calling out to any external systems for testing.

No matter what your business process looks like, you can set up a Pipeline to help visualize this process, so all hands know what approvals, checks, and deployments each feature needs to go through. 

This saves manual steps along the way, which can include pushing to environments, automated testing, validation, and even rolling back. This can take a lot of the unpredictability out of testing and deployment schedules, which often fall behind (depending on resourcing), and leads to a more consistent and transparent process.

Detailed Audit Trail

Salesforce keeps an audit of changes for six months, but this is hard to read and does not provide any context. When changes are being deployed through Flosum, they are added to the Audit Trail, with links to the Branch and any history. So, as long as changes are being pushed through the platform, not only is the full audit trail available, but you will also see all decisions and comments that went into that item. Flosum doesn’t clear this – no matter how long you’re with them, the complete audit trail is retained.

Domains and Permissions

For those of us working across multiple orgs, rather than just the one, Domains govern access – we can give access to an org and its associated repo on a domain-by-domain basis. This way, we can prevent teams from having sight of anything that might be confusing or outside their project scope.

Likewise, each org has its own set of Org Permissions, which allow assigning of Roles across an org. Each Role has a varying level of permission; you may need some team members to only be able to submit for validation. Here, you can save the release manager from the stress of collating everything and confirming it will work. However, it will still be someone’s task to give it a final check and press the big ‘scary’ deploy button!

Native to Salesforce

The entirety of Flosum lives in your very own spun-up Salesforce org – utilizing Custom Objects, Custom Fields, and Lighting Pages. This means that anything and everything can be customized and managed in the way that your team is already used to in their day jobs. In turn, this opens up a wealth of possibilities with automations, notifications, swapping layouts (to only show what you need), and all of the other joys that the Salesforce platform brings. 

It also means that navigating through Flosum doesn’t require much more than familiarizing yourself with the various tab names – everything is familiar through its use of List Views, Lighting Pages, and Components. Teams used to implementing or working around Salesforce should find this easy to pick up and engage with.

Analytics

As Flosum is built on Salesforce and uses Custom Objects, pretty much anything within it can be reported on by leveraging Salesforce’s own Reports tools. Flosum ships with a handful of pre-build dashboards, including a “What are my devs doing?” perspective, looking at code coverage overtime, pull requests, where permissions are located, and other day-to-day operational details.

Flosum also ships with a Tableau license for more detailed reporting – much better for higher level team members who might be less concerned with day-to-day operations, and more with overall metrics and planning.

How many times do we deploy? How often do we roll back deployments? All of these metrics are generated as you use the tools, and can be used to help work out how hands-on (or off) to be. If there are lots of failed deployments or rollbacks, this can help you push your teams to engage with Pre-Deploy Fix, or push you towards more automated testing in the Pipeline.

Use Cases

Having run through the extensive features of Flosum, it’s hard to apply them all to just a handful of use cases – the tool is designed to add value across the board, regardless of the complexity of your pipeline, or what the lifespan of your project is. So, let’s look at a couple of examples:

Consultancy Teams

Consulting can be hectic, with varying sizes of teams needing to make quick changes of varying scales, often including development work across a wide range of clients:

  • We can use Domains to manage access – various clients can have limited visibility of only the orgs and repos they need, keeping their view clear and concise.
  • We can sync feature statuses with Jira, keeping project managers in the loop and able to feed back to their clients at a moment’s notice.
  • Quality can be maintained even if development is moving at a fast pace. The more that junior members of the project team are able to validate work, the clearer the testing and production environments will be, keeping senior talent away from building packages up.
  • Code coverage and testing can be kept to a good standard without the need for micro-managing, which can be an issue in consultancy – test coverage often falls victim to a fast moving project.
  • We can use metrics to assess our project team’s performance and spot consistent errors and trends across a wide range of orgs.

Internal Salesforce Teams

As a larger business with a Salesforce team, we might have many moving parts over a long period of time, as well as our own internal admins making quick fixes outside our project structure:

  • Audit Trail will help us understand what is being changed outside our process, and who made the changes.
  • Overwrite Protection can then help us avoid wiping out changes made outside our structure, and merge them back to help prevent future conflicts.
  • Pre-Deploy Fix can help us to address any conflicts that arise, especially if we’re migrating work that we’re less familiar with as other teams have interacted with it.

As you can see, it’s pretty easy to see how Flosum can be utilized across two very different industries, and it’s not a stretch to re-apply this elsewhere. Where there is a Pipeline, Flosum is a welcome addition.

Impact

With any project, short or long, in-house or offshore, it can be tempting to skimp on release management, change tracking, and detailed tests – this will almost always come back to bite you! Flosum is here to take a large amount of the overhead away, and give you as many (or as few) tools as you need to get things ticking over smoothly.

Setup

If you’re familiar with Salesforce, it’s easy to become familiar with Flosum; it does take a little clicking around to get used to the tab names, related lists, and interface, but once you’re navigating, it becomes increasingly straightforward. 

The joy of Flosum being built on Salesforce means that setup can take a little longer than you’d expect – but only because you have the opportunity to tweak every wayout, button location, and related list field that takes your fancy. Likewise, there is a little overhead setting up Domains and Roles, but it’s well worth taking the time to keep your processes secure. In short, you can hit the ground running with Flosum, or spend as much time as you like making it perfect for your requirements.

In terms of documentation, Flosum has a YouTube channel full of useful how-to videos which cover all of their core features: what they do, how to use them, and when to use them. They also provide updates on their new features and releases, as well as a video gallery with three pages of guides. For further help and support, there is also an Experience Cloud site you can self register for.

Pricing

If you’d like to discuss pricing and try Flosum for yourself, you can click here to book a meeting and see how the team can help your business.

Summary

To wrap up, if you like working on Salesforce, Flosum will help you to do exactly that (but better!) without having to leave the platform. Whether you simply want assistance with deployments and dependency management, or you want detailed metrics on success rates and rollback, Flosum has something to offer.

Regardless of the industry you’re in, Flosum offers transparency around processes and allows you to make fantastic use of the tools provided by Salesforce, as well as bringing their own interfaces to the table.

The Author

William Roberts

Will is a self-taught Flow enthusiast based near Liverpool. Passionate about bringing good UI/UX through mixing Configuration and Code. Has been having fun with Salesforce since 2015.

Leave a Reply