Salesforce Application Development
ScienceSoft applies its 12-year CRM expertise to build Salesforce applications that address the needs of businesses in manufacturing, retail, healthcare, professional services, banking and financial sector, telecoms and other industries. The main benefits these business get from building custom Salesforce applications on the Customer 360 Platform (the former Lightning Platform) are:
less unplanned downtime
*According to the IDC White Paper “Business Value of Building Apps on the Salesforce Lightning Platform”
Types of Salesforce Apps We Build
We build reliable and bug-free applications that make Salesforce fully cover our customers’ or their clients’ business needs in improving or transforming sales, marketing and customer service processes. We also build apps that become popular with a large audience and rank high on AppExchange.
Custom apps for internal needs:
Apps for AppExchange:
Our Approach to Salesforce Application Development
Efficient project management when developing custom applications for internal use. We collaborate with the stakeholders from the customer’s side to elicit and prioritize requirements and ensure full alignment of the future application’s functionality with them. We promptly adapt the application to arising and changing requirements, and stay flexible at every project stage.
Mature technical project management when building applications for AppExchange. We have mature processes of scheduling time, managing the budget and developers’ work, as well as sound risk management practices, which helps us to deliver high-quality apps in due time and avert the project’s scope and cost creep. Close cooperation of our project manager and technical team results in delivering an app, which is fully compliant with its concept, the customer’s requirements, and the technical and security requirements of Salesforce.
Need-based delivery models. We can quickly deliver an application at once, for instance, in case of developing a “niche” application to solve a narrow set of tasks within a CRM domain. To deliver an app for comprehensive business needs, we apply the iterative approach. With this approach, end customers can start using the application in its basic version as soon as possible. Then we add other features in response to product owners’ demands and users’ feedback.
Focus on quality. The quality of applications we develop is our top priority. Users get a bug-free app that functions as intended and provides a smooth and logical user experience. Due to regular unit tests and code reviews we achieve an app’s high-quality architecture and code, which provides for easy maintenance, modification and evolution of an application.
Long-term support and evolution. The collaboration with our customers doesn’t end with an application’s launch. We continuously adjust applications in line with the arising or changing business needs by modifying an app’s existing features or complementing it with new functionality.
Reasonable costs. Leveraging our experience in project management, we can choose a suitable delivery model (either at-once or iterative) and properly prioritize the developers’ time, which ensures their high performance and helps to deliver software without rework and delays. Thus, we avoid the project’s scope and cost creep and deliver cost-efficient apps, without compromising their quality.
Flexibility in terms of a project’s timeline. We are flexible towards the change of a project’s start date and key development phases. In case a customer decides to shift a project’s timeline, we’ll adapt to the change.
We offer different cooperation models depending on whether we develop a custom Salesforce app for internal use or an app for AppExchange:
- Comprehensive delivery from scratch (custom applications for internal use).
We perform a full-cycle application delivery from analyzing the customer’s business specifics and eliciting high-level requirements to user training and further support of a custom app. Applying the Agile methodology, we adjust our development activities to the customer’s new requirements if they arise amidst the development process and incorporate them into an app’s functionality.
- Development based on the customer’s requirements (apps for AppExchange).
We consider the specified business-, functional- and system requirements of our customers and turn their vision into a reliable app that stands out on the AppExchange and either becomes an independent source of revenue, or helps to sell the main software product, allowing its integration with Salesforce. In the latter case, we find an optimal way to overcome Salesforce APIs limitations and devise an AppExchange integration app that ensures smooth data flow between the connected systems.
Full-Cycle Salesforce Development Services
Business or requirements analysis
Business analysis is what we start with when creating a custom application for internal use. First, we hold individual or group interviews with stakeholders to collect or elicit their requirements. Then we interpret the requirements, including conflicting ones, and prioritize them to deliver the most demanded functionality first. Finally, we present the prioritized business-, functional- and system requirements in a detailed report and finalize the aligned vision of the business and technological aspects of the application. Our BA team can stay in touch with the customer throughout the entire project to keep up with the changing or arising requirements.
Requirements analysis is the first step we take while building an application for AppExchange. We analyze our customer’s requirements, check them for consistency, elaborate them, and devise the most efficient ways to meet these requirements with technical means. This helps us to make the future application both efficient and compliant with the system and security standards of Salesforce.
We make Salesforce applications user-friendly and highly responsive by mapping out user journeys and creating the UI prototype of an application.
We develop apps with comprehensive functionality in small iterations to deliver features according to their priority. To stay agile and quickly adapt to the customer’s new or changing requirements, we build a ready-to-use functionality baseline first. Then we can quickly deliver other features, adding them on the end users’ or product owner’s demand. This allows users to start using an app as soon as possible and leverage new features right after they’re rolled out (new features are typically added every 2-4 weeks after the baseline’s delivery in case of developing a custom app for internal use).
As for building small apps, we provide a quick at-once delivery, which suits the app’s size and purpose most.
To ensure high quality and stable performance of our Salesforce applications, we carry out a set of QA activities, like unit tests and code reviews, performed by Salesforce developers. We perform continuous testing activities within the development process, namely functional testing, performance testing, and integration testing (when needed). We also apply an appropriate amount of test automation to speed up an application’s delivery and bring a number of bugs down to a minimum.
We connect custom applications for internal use with third-party software, like content management systems, either with default tools for Salesforce integration or with custom integration tools built from scratch.
We provide training materials and hands-on training sessions to end users to increase user adoption of custom applications for internal use.
When we launch custom applications for internal use, we transfer the tested custom application to the UAT (User Acceptance Testing) environment. As soon as the customer accepts the application, it is migrated to the production environment and made available to end users.
In case of launching an application on AppExchange, we prepare it for the AppExchange security review, which implies creating an app’s documentation relevant to end users and an admin and providing it to the Salesforce Product Security Team. We also provide credentials for the Lightning Platform org and for any external components or services that were used to build an app.
We deliver after-launch support to custom applications for internal use during 1-3 months after the launch. We tune the application’s features and take measures for user adoption beyond user training (e.g., provide release notes, reactively resolve user issues).
Technologies and Tools We Use
- Salesforce customization for a roofing services provider for effective purchasing order management.
- Development of a tool for document migration from Salesforce Financial Services Cloud for a commercial real estate loan provider.
- Development of a custom Salesforce app for Sales Cloud integration with the website to assist B2B sales teams (the app was placed on AppExchange).
- Development of a bridge web application for Salesforce-Alfresco (ECM system) integration for efficient document management for an IT consulting company.