Managing Citizen Developers With Flosum

Using Flosum to Manage Salesforce Citizen Developers

What is a Citizen Developer?

As the pace of technology continues to increase, more and more people are becoming involved in app development. It is no longer necessary for someone to know code and understand software design in order to build an app in response to a business need. These business professionals turned app developers are known as citizen developers.

While most businesses have a dedicated IT department that could create sophisticated solutions, the typical programmer usually has little to no knowledge about the specific business environment. Often, IT is called upon to help install and configure pre-existing software. While this type of software can meet general industry needs, it typically does not meet the needs of a specific business.
With the evolution of citizen developers, companies are able to build applications that are tailored to their exact requirements. As “low-code” platforms become more popular, businesses are taking advantage of their simplicity and ability to build upon existing infrastructure.

An IBM global study showed that up to 80 percent of enterprises are relying on citizen developers to close the skill gap. Gartner, a market research firm, defines a citizen developer as a user operating outside the scope of enterprise IT and its governance that creates new business applications for consumption by others, either from scratch or by composition. Using shared services, fourth generation language (4GL), and cloud computing platforms, today’s end users have the ability to build department and enterprise specific applications.

Enterprises that rely on a partnership between IT and citizen developers can save time and money producing applications that coincide with changing business needs. Companies can reduce design time while also standardizing the look and feel of their platform. At the same time, they no longer need to be locked into vendor commitments and subscriptions.

Salesforce for App Development

Salesforce is a cloud computing company focused on customer relationship management (CRM) solutions.  Founded in 1999, the San Francisco-based company helped to move customer management tools to the cloud, making the information more accessible.  Their tools help to increase employee productivity, team collaboration, customer loyalty, and sales.

The primary offering within the Salesforce platform offers a management interface for tracking events and tasks. Over the years, Salesforce has expanded their offerings to include Sales Cloud, Service Cloud, Data Cloud (including Jigsaw), Marketing Cloud, Community Cloud (including Chatter), Analytics Cloud, and App Cloud.

Most recently, Salesforce launched its frontend platform called Lightning in 2014.  This component based framework is what the Salesforce1 mobile app is built on, and customers are now able to build on it as well. Salesforce built on this framework in 2015 by releasing the Lightning Design System, an HTML style framework with built-in default CSS styling. This framework allows customers to build their own components to either use in their internal instances or sell on the AppExchange.[1]

Lightning’s component-based architecture makes it easy for citizen developers to create their own apps.  Users can create apps using custom and standard components available as drag-and-drop tools.  This advanced development platform contains over 200 new features that are simple to use and allow those without a coding background to create enterprise solutions.  More than 2.8 million developers have already built some 5.5 million apps based on Salesforce’s customer relationship management software.[2]

[1] https://en.wikipedia.org/wiki/Salesforce.com

[2] http://www.pcworld.com/article/3080849/salesforce-targets-citizen-developers-with-new-tools-and-training.html

Challenges of Managing Salesforce

Salesforce is one of the top-rated platforms chosen by businesses that want to quickly build business applications. The rapid application development capability of the platform allows both experienced software developers and citizen developers to build applications that address their specific needs.  Although Salesforce helps to close the gap between desired functionality and speed to implementation, it is not without its challenges.

Governance

One of the biggest hurdles that must be overcome with the Salesforce platform is the issue of governance.  Most organizations have defined roles and responsibilities for various team members.  What they lack, however, are the systems and applications to comply with the policies that ensure the separation of duties.  When actions are not tracked between various team members, this can lead to a failure in governance.  For example, when code is deployed, best practice is to track:

·         Who deployed the code

·         Which developer made the changes

·         When the changes were made

·         If the changes were tested and approved

·         If the complete testing was done after modifying the production system

IT executives need help implementing effective operating models to manage technology risk. They need systems to better understand the true business impact of the risks arising from an organization’s dependence on technology.

Approaches to Governance

Minimal Governance:

An application is typically used within a single department.

The user audience is small (one to five users).

The business typically finds and deploys the development tool.

Data is departmental in nature and does not extend to enterprise data.

Citizen developers are independently competent.

Shared Governance:

IT deploys low-code platform for use by citizen developers.

IT uses a sandbox environment and a testing process for citizen developers to build without breaking things.

IT writes code if custom UI or advanced functions are needed.

Business users are trained on using the development tools.

IT creates secure components that connect to enterprise systems when the app needs to access enterprise data.

Complete Governance

IT defines tiers of application types.

IT reviews the requests.

Where needed, IT builds components for use by citizen developers in composing the app.

Low-code developed applications are tested in a sandbox environment created by IT.

Citizen developers and business units create requests to develop applications.

If approved, IT may offer that the development be done by the citizen developer.

The development of more complex apps is led by IT, with iterative reviews by users.

*Source: Salesforce ~ How Can IT Empower Citizen Developers? Governance, Tools, and Training for Low-Code Application Development

Developer Productivity

The native tools provided by Salesforce are not enough for developers to perform all release management functions and do not constitute a complete change management solution. Developers have to manually make changes during release management.  Without the ability to compare different development organizations, they have to guess which organization made changes while manually tracking the changes for particular features.

Deploying changes from one organization to another is challenging.  Because all code changes are done manually by developers, testing is often limited before the code is actually deployed into the organization.  Salesforce does not offer a “clicks, not code” approach to these problems.

Salesforce is also lacking tools that automate the process of sharing code.  Developers do not have the ability to see the different development organizations. If a developer wants to share his latest code changes with another developer, he has to do this manually.

Shadow IT

Shadow IT is a term often used to describe information-technology systems and solutions built and used inside organizations without explicit organizational approval.[1]  This is a problem in the Salesforce environment when business users want the ability to make changes to the Salesforce platform themselves. However, allowing more people to make changes can lead to problems if they are not managed correctly.  As the number of users making changes increases, developers end up overwriting each other’s changes.  To prevent this, the organization needs to create a central IT team that can orchestrate and manage the changes across the various business users as well as IT developers. Salesforce does not offer a solution to track the details of changes in a central platform that allows for the orchestration of those changes into the production organization.

Enterprise Collaboration

Business users have applications to track end-to-end business processes. For example, all the customer activities are tracked — from lead to opportunity, opportunity to quote, and finally from order to cash — in a CRM & ERP solution which helps the business to keep track of the customer’s position in the buying process.

Similarly, developers need a solution to keep track of the centralized intakes from the various business teams, prioritize the requirements, assign those different requirements to different developers and finally, deliver the requirements to the production environment. The challenge is that most organizations must do this task manually. Typically, a spreadsheet is used to keep track of the various requirements from the business teams and to track the delivery of these requirements to the production organization.  Manual tracking is inefficient and prone to errors.

Version Control and Release Management

Today, most Salesforce customers do not have a version control system.  Version control allows developers to easily recover from mistakes, review past changes, and backup code.

Salesforce is a rapid application development platform that offers a “clicks, not code” approach to roll out applications quickly. While this makes it easy to build applications, it creates challenges for deployment. Release management is often cited as one of the biggest pain points in the Salesforce platform.

Management of multiple releases is also a problem for Salesforce.  Even though the timelines for delivery may differ, most developers work on multiple releases and multiple issues at the same time. For example, a developer may be working on a hotfix in the production environment that needs to be delivered in 24 hours.  At the same time, he could also be working on a new feature required for the VP of sales that is not due until next week.  In such a case, the developer needs to work on two separate code lines at the same time without co-mingling the code.

Compliance

Many industries have specific regulatory and compliance requirements that must be met. Organizations need to ensure that their Salesforce platform meets their specific compliance needs. Salesforce fully complies with the HIPAA regulations for the life sciences and healthcare industry, as well as with the industry regulations for the financial services sector. Salesforce is also compliant for federal certifications.

While Salesforce is dedicated to meeting a variety of compliance needs, organizations must also choose a change management solution that is equally compliant.

The Solution is Flosum

Flosum is a complete Salesforce-based Application Lifecycle Management solution that is designed for the Salesforce platform. Flosum manages development processes from requirements planning all the way to deployment into production. As a native Salesforce application, it promotes governance, compliance, and rapid innovation in the successful delivery of software.

Flosum helps promote transparency between the various team members. This enables organizations to deliver applications faster, increase developer productivity, and improve the code quality. Flosum is completely built for the Salesforce platform, on the Salesforce platform. It offers a “clicks, not code” solution to change management using an interface that Salesforce users already understand.

Flosum saves time and improves productivity by automating manual tasks done by developers while improving application throughput. The entire change management process becomes transparent, predictable, repeatable, and consistent as per the business policies of the organization. This improves governance and compliance for the organization, reducing the cost of governance and audits.

100% Native

Flosum is completely native to Salesforce.  There are no servers to manage and no processes to monitor.

Simple, Powerful Architecture

No footprint on customer sandboxes. Flosum is completely native. No Heroku, no Amazon, no proprietary cloud services.

[1] https://en.wikipedia.org/wiki/Shadow_I

Flosum Architecture

Architecture: Built on Salesforce to Manage Salesforce

Extensible and Customizable

It is easy for businesses to make changes to Salesforce with Flosum.  Whether adding approval processes, reports, custom fields, or simply changing the layout of the screen, Flosum uses Salesforce technology already familiar to users.

Collaboration and Visibility

Flosum allows users to review code and give feedback to developers.  It provides a complete 360-degree view of every org, allowing users to track every deployment to the org down to the component level.

With Salesforce Chatter, workers can connect, engage, and motivate each other to work efficiently across departments and teams.

Compliance

Flosum offers the underlying certifications required by financial, healthcare, and life science enterprises as well as federal agencies. It provides out-of-the-box segregation of duties and can be extended for COBIT and ITIL compliance.

Governance

A deployment through Flosum keeps the auditors happy. Flosum allows users to track every change, action, and deployment across the entire delivery chain. When there is an issue, it is easy to identify which objects were modified and if someone made changes directly to production without prior testing and sign-off. Users can easily implement proper access controls without sacrificing visibility.

Flosum Governance

Flosum Governance

SLAs, Disaster Recovery Plans & Backups

It takes due diligence to select a CRM platform. Organizations that choose Salesforce can rely on Flosum to provide the same SLAs, disaster recovery plans, and backup and restore plans for their production application.

Security

Salesforce spends hundreds of millions of dollars to protect customer data. Flosum is built on the same #1 trusted cloud platform. Using Flosum in conjunction with Salesforce eliminates the threat of security vulnerabilities.

Manage Multiple Work Streams

Most developers work on multiple releases at the same time. Flosum helps to keep track of multiple work streams and multiple releases concurrently.

Profile and Permission Sets Migration

Migrating profiles and permission sets can be a painful process. Flosum saves time and frustration by automating profiles and permission set migrations.

Continuous Integration

Flosum is a complete, automated Continuous Integration solution. No servers to install, no services to monitor. Configuring CI processes only takes a few clicks.

Version Control

Flosum offers the only version control completely built on the Salesforce platform. Simple and easy to use, it has all the power of GIT without the complexity.

Flosum Version Control Comparison Table

Flosum Version Control Comparison

Automatic Rollback

When a deployment fails, there is no need to panic or refresh the environment. Just click the Rollback button to undo the changes and restore the environment to the original state.

Integration with Agile Accelerator

Business analysts and product managers can be confused about where to test. Flosum eliminates this with full visibility of feature locations.

Compare Orgs

Compare any two orgs or compare the same org at different points in time.

Promote Code Between Orgs

Migrating code between teams is painful. Users have to use changesets and build-scripts while resolving dependencies manually. Flosum automates the dependency analysis as well as deploys the entire code at the click of a button.

Create Once, Deploy Multiple Times

Stop recreating changesets over and over again. With Flosum, developers can create once and deploy multiple times.

Destructive Changes

With Flosum, it is easy to clean up the mess left by the last developer or remove an unwanted workflow notification email. Destructive changes help you remove unwanted components and refactor code easily.

^