Category Archives: Agile

Agile Vs Traditional HR practices

Word “Agile” has become a buzzword. Agility as a concept has been talked about from beginning of this century. This was more in relation to software programming. Agility in management is now become a global phenomenon. This is a global movement entirely transforming the “world of work” that includes HR and transforming it into Agile HR.

Anu-1

Agile HR is the capability of the HR function to respond proactively to changing expectations, workplace disruptions and business requirements. We could sum up Agile HR as Adaptable, Transparent, Simple and United.

  • Adaptable: Adaptability is important in the face of ever-changing business needs and requirement.
  • Transparent: Transparency is important in gathering the trust of managers and employees, as well explaining why things must be done in a certain manner.
  • Simple: Simplicity is when designing HR programs and practices that does not cause any confusions, alienate managers and employees.
  • United: Unity applies with respect to HR working together and ensuring it isn’t working in silos or at cross purposes with the business.

Continue reading

Posted in Agile, AGILE Tools.

Working with Salesforce Account Teams

In Salesforce, Account team is a group/team of users working together on an account, making tracking of collaboration on account easier. Suppose there is a team of people working on an Application say ‘ProjectBuilder’. This team contains developers, team lead, project manager, delivery manager, Sales Manager, Executive Sponsor. Now each of the team member has a role to play. Developer is responsible for developing the application, team lead is responsible for managing the developer, project manager is responsible for planning and monitoring of the project., and the delivery manager is responsible for the timely and accurate delivery of the application, sales manager is responsible to reach the established sales target and executive sponsor is responsible to project aligned with organization’s strategy. Now the account is ProjectBuilder and developer, team lead, project manager, delivery manager. Sales Manager and Executive Sponsor are the users. To track the progress of the team of users both the internal and the partner user, Account Team concept is used.

Use of Account Team

Using Account team, we can grant access to account and their related contacts, cases and opportunities. Account team is good to use in private sharing model where users cannot see/edit other accounts. We can include any set of roles in account team and can assign a user to every role who will then be part of the account team and will be responsible for the account. We can use a member of the Account Team to:

  • Identify responsible people on an account and contact them.
  • Assign role-specific tasks on the account.
  • Using account role, send campaigns on an account team member’s behalf

Continue reading

Posted in Agile, salesforce administrator, salesforce consultant, Salesforce Implementation, Salesforce.com, Team Collaboration. Tagged with , , , , , .

Integration with Salesforce Lightning External Services

Nowadays there is an API Integration in almost every org. The main purpose of integration with another service is to avoid reinventing the wheel. However, the development effort that is required to integrate with services is a complex and time-consuming venture. It reduces speed to market, but it also saps developer energy that is better spent in the front end, building the features that will really differentiate their app. With Lightning External Services, Salesforce makes this a lot easier and admin friendly.

With external services you can connect to any service that you want to, invoke methods based on the external source via a flow all with the help of an easy-to-use wizard. Declarative tools are used to import API definitions right into Salesforce. Swagger or Interagent-based API definitions can be used to define an external service. Once the definitions have been imported, you can create lightning flows which will invoke actions generated from the API definition schema. Below is a depiction of how external services works.

KaranP1

Here is what is happening in the above image:

Based on provided API schema specification, a schema definition is created that describes the API. Once this is done, named credential is created to authenticate to the service’s endpoint using the URL provided by the external service provider. The endpoint is URL that exposes the web services resources that External Services needs to interact with. Using the named credential and schema definition, external service is registered. External Services imports the definitions into your org and generates Apex actions, which are available immediately in Lightning Flow. While creating a flow, these Apex actions are added into the flow which sends a callout to the endpoint and output is returned based on schema definition.

Schema Definition for your external service:

Schema specification is basically a contract which contains which type of inputs and outputs can be included in the API calls that are made from your external service. Endpoint information and authentication parameters for REST based API service are also included in specs. On the other hand, schema definition is human readable structured data.

Below is the schema definition of a pet store Swagger API.

Pet Store Schema

This schema declares various methods available in the API and the inputs, outputs included in this service. For example, the below snippet contains information about a GET method which is used to get all the inventories by status.

KaranP2

We will be using the Pet Store Schema to illustrate the whole external service in this blog.

Registering an External Service:

Registering an external service involves the below two steps:

1. Named Credential: In order to register an External service, you need to create a named credential first. Named credential is created to authenticate to the service’s endpoint using the URL provided by the external service provider. Create a Named Credential as below in your org:

  • For Label, use SwaggerPet.
  • For URL, use https://petstore.swagger.io
  • Leave other fields as they are and click Save.

2. External Service: In your org, go to setup and search for external service in the quick find box. Create a new external Service and provide the below information in the fields:

  • For name, give ExternalSrv1
  • For Named credential, select SwaggerPet named credential created in previous step
  • In the Service Schema Relative URL field paste “/v2/swagger.json”

KaranP3

 

KaranP4

The generated actions are used in the flows. Below is the list of actions available in the pet store endpoint. We cover getOrderById action in this blog.

KaranP5

External Services in flow:

Apex actions generated from external services can be used in lightning flows. When users run the flows, during runtime external services sends a callout to the service’s endpoint. Create a new flow and drag the Apex Action element. Select “ExternalSrv1_getOrderById__Service”

This action takes an Order id (any integer between 1 and 10) and returns details for that order like Order quantity, pet id, shipping date. Create variables for input and output data and configure the output variables to be stored in the variables as done below. Provide the default value of id such that 1<=id<=10. Set the input values and the output values by associating each with a flow variable. Make sure that the data type of input/output matches the input/output specs mentioned in the schema definition.

KaranP6

 

KaranP7

Connect the Apex Action with the start element.

KaranP8

After completing all these steps, click on debug. Doing this will start the flow in debug mode. On the next screen select Show details of what’s executed and render flow in Lightning runtime and click Run.

KaranP9

Above is the output of “ExternalSrv1_getOrderById__Service” for order Id = 2. Similarly, other Apex Actions can also be invoked using external services and flow without writing any code.

Summary:

External services are a great tool which along with point-and-click automation tool like flows and process builders can be used to integrate any API with Salesforce without writing any code. It reduces the development effort and is very much admin friendly making the process of integration making this process simpler and thus cheaper.

Posted in Agile, Salesforce, Salesforce Challenges, salesforce development, salesforce integration, Salesforce Lightning, Service Cloud. Tagged with , , , , , , .

Artificial Intelligence powered HR Automation in Workplace

Artificial intelligence (AI) has been changing our lives for decades, but today its presence is bigger than ever before. AI has powered HR automation. Human resource processes plays vital role in every company. Whether it’s recruitment, onboarding process, training, learning & development. Artificial Intelligence is entering the HR space, and very soon everything that can be automated, will be automated.

AnuBlogPic

HR automation is the process of enhancing the efficiency of the HR department by freeing employees from tedious manual tasks and allowing them to focus on complex tasks like decision making and strategizing. By automating standard and repetitive HR activities, organizations can reduce the cost and time they spend on manual HR planning and processing. Through HR automation, organizations can design, streamline, integrate, and deploy necessary services swiftly at a considerably lower cost. If implemented right HR Automation tools shows real effectiveness to be more productive, freeing us of our most mundane and time-consuming tasks so that HR can drive more value at work. Few of latest HR automation tools which are AI based:

  • HR Chatbots – HR chatbots are changing the way routine HR processes and functions are done. One such tool that has shown immense potential and is pegged to revolutionise the way businesses interact with customers and employees are chatbots. Chatbots are artificial intelligence programs that conduct conversations. HR Chatbots acts as Help desk.
  • E-recruitment – Another big hit automation tool for hiring process used by HR. The E-Recruitment, also known as Online Recruitment, is the process of hiring the potential candidates for the vacant job positions, using the electronic resources, specially the internet.
  • HR Analytics – Smart automation systems excel at wading through deep pools of data to pull out important insights.
  • E-Learning – Now a days through Artificial Intelligence tools, e-learning has created a big platform not only in business environment but also in education industry.
  • Virtual Onboarding – Onboarding is vital part of any HR processes and for Multinational organization companies are who are hiring hundreds of people across the globe throughout the year, creating an onboarding program that is delivered in a virtual manner is critical. It enables the new hire to access the information WHEN they need it and in a way that is engaging and easy to consume.
  • Gamification – Gamification is the usage of game-thinking and game mechanics in non-game scenarios such as business environment and processes, specifically in recruitment, training & development and motivation; in order to enhance employee engagement.

The Benefits of HR Process Automation

Through HR automation, organizations can design, streamline, integrate, and deploy necessary services swiftly at a considerably lower cost. If implemented right, HR automation can reap indispensable benefits. Here are the benefits of HR automation:

  • Improve productivity due to quick processing and data sharing.
  • Reduce employee turnover due to heightened employee engagement.
  • Slash down storage and printing costs associated with paper-based processing.
  • Stay free from compliance risk or policy violations.
  • Enhance organizational growth through efficient hiring at optimal operational cost.
  • Drop in data entry errors and misplaced/lost documents.
  • Make intelligent business decisions with insightful reports.
  • Collaborate with other stakeholders to hire, train, and retain skilled employees.
  • More time to analyse HR data to make intelligent business decisions.

 

Posted in Agile, AGILE Tools, Artificial Intelligence, Machine Learning, Process Change Management, Salesforce, Salesforce AI, Salesforce Einstein, Salesforce Einstein, Salesforce Machine Learning, Team Collaboration.

Predicting Success of your Salesforce Development Project

Can you really predict the success of your Salesforce Development /Integration project with a high degree of confidence at the beginning of your project?

The answer is No!

But you can rate your people, process and tools that are required for success and use that to predict success with a ‘good enough’ confidence level.

Pillars of Salesforce Development Project

Pillars of Salesforce Development Project success.

Continue reading

Posted in Agile, Apex Development, Salesforce cloud Implementation, salesforce consultant, salesforce customization, salesforce development, Salesforce DevOps, Salesforce Implementation. Tagged with , , , .

A Primer in Software Testing

Software testing is a field that gained currency in late 90s and 00’s for different reasons. As people moved from client server to web applications, it got a new life as software systems will behave differently. Software testing was re-invigorated with Web 2.0. Subsequently it was in focus again with mobile applications and tailoring user experience for mobile devices. Lately, focus on software testing is again on the go with new architectural patterns including micro services architecture. Model driven testing and behavior driven development have been other testing approaches that have influenced the overall industry. Today, cloud based applications (such as Salesforce) that can scale on-demand and cloud based storage are in vogue; these require not-so-different test practices. Continue reading

Posted in Agile, Software Testing.

7 Ways Technology is Changing the Face of Treatment Centers

application-3399516_1920

Technology has provided healthcare many breakthroughs in recent years and Salesforce has been at the forefront of that. So if this is the case why are most treatment centers still so far behind. Everyday people are scouring the internet trying to find a great place to recover from the diseases of Mental Health and Addiction. It’s estimated that over 20 million Americans over the age of 12 have an addiction. Many treatment centers lack the basic tools needed to be able to serve these patients with the care they need. As a consulting partner for Salesforce we have seen technology changing the face of Treatment Centers. Technology is providing treatment centers with the advanced tools needed to navigate the ever changing landscape. We’re going to outline 7 ways that technology is changing the face of treatment centers.

Request our free eBook to learn more

1. The addition of a CRM or Patient Relationship Management platform to the contact center is the number one way to better serving your patients. We have seen organizations taking notes on note pads or using excel to track patient calls. This is a major problem, in my experience working in a very busy Contact Center even your very best admissions representative will miss a follow up. Also in my experience, as a recovering alcoholic with almost 7 years of sobriety, I know that when I was ready to get help patience was not one of my strongest areas. So timely follow ups and the ability to take a call from beginning to end without hanging up the phone has resulted in a 35% increase in patient admissions based on case studies we have conducted.
Continue reading

Posted in Agile, Salesforce, salesforce administrator, Salesforce Challenges, Salesforce cloud Implementation, salesforce community implementation, salesforce consultant, salesforce customization, salesforce development, salesforce for healthcare, salesforce for medical clinics, salesforce for NonProfit, salesforce for small business, salesforce integration, Salesforce Support Packages, salesforce Tips & Tricks, Salesforce.com. Tagged with , , , , , , , .

Salesforce Implementation Using Agile Scrum Process

 

 

Agile SalesforceWith having being part of 5 Salesforce Sales and Service cloud implementation projects I have realized that customizing the platform to the client’s need is not challenging but the build up to the production release and approach that the integrator adopts to, makes all the difference to have delighted project sponsors and end users. The implementation that I am considering for the scope of this article can range anywhere between 6 to 16 weeks depending on the complexity of Salesforce lightning components, number of external interfaces involved for integration with Salesforce and the number of clouds being rolled out (most common are Sales Cloud, Service Cloud or Community Cloud).

We can have varied school of thoughts on how to plan for such small duration projects; should it be a complete roll out of all features or an Agile Development approach where even a 6-week project is divided into 3 sprints of 2 weeks each. With my experience, I can safely say that breaking into multiple sprints will allow everyone to gain a lot more value out of the project as the lightning components and interface integration will evolve with regular feedback from the client. My team scored an average CSAT rating of 9 for the projects we have delivered in the last 1 year. Now let’s take a closer look at the key processes and scrum ceremonies one needs to follow that make the process truly Agile. Please note that one consultant will play the role of PO, Scrum Master and Project Manager because that helps to have full visibility and control on the timelines for the cloud implementation.

  • Requirement Discovery Sessions – This is the foundation stone and often referred to as sprint 0 for the project and generally ranges anywhere from 3 to 5 days of dedicated meetings and workshop at the client side sitting, discussing and brain storming the needs of the end users. The consultant running the workshop as a pre-requisite should have basic knowledge of the CRM domain, good understanding of the Salesforce Sales cloud, Service cloud or Community cloud and basic idea about the client’s industry will be an added advantage. The sessions are facilitated with flip charts, white boards and process maps. The consultant should constantly ask the question ‘Why’ to the customer team to understand the pain point before advising and concluding any solution to the customer. This will be a good place to define if any REST/SOAP based Salesforce Integration will be needed or not.

 

  • Define Stories in Jira or tool of your choice- Immediately after the workshops are concluded the consultant should start to document the discussed features with peripheral details into any tool like Jira and define the narrative and acceptance criteria on these stories. Even if the name of the feature is only added, more details can be added later.

 

  • Point Sizing and Team Strength – The PO/Project Manager who facilitated the discovery session needs to competent enough on Salesforce platform to provide the points in a Fibonacci series (1, 2, 3, 5, 8, 13, 21) to each of the story put it into Jira. Based on the total points and agreed upon schedule with client the PO decides on the number of Engineers needed for the whole work. This is typically done by doing a mock/draft release planning with a technical lead and PO making a guess on how many points an engineer can deliver. This part of the project gets better only with practice and experience that you gain in at least two rollouts.

 

  • Backlog Grooming – This is an ongoing ceremony for the Agile team. We typically spend 60-90 minutes/week for a SCRUM team of 5 to 6 members including developer and quality assurance. The PM/BA   puts on the hat of a PO and interacts with the agile team and grooms into each requirement in detail and updates the story with acceptance criteria. The team agrees upon the scope of the stories and call them as ready for development. The grooming sessions are also used to decide on the technical solution to achieve the requirement the decision of configuration versus customization is decided now. It will be beneficial to have an Salesforce architect involved in the session so that the engineers don’t overkill the system with excess of apex coding like triggers, batch classes and rely on configurations as much as possible.

 

  • Sprint Planning – This again is an ongoing ceremony that happens at a cadence. Engineers pick up stories as per their understanding and add to the sprint. The assignment of stories should be done with everyone’s consensus considering the engineer’s experience and story complexity.

 

  • Sprint Demo and Retrospective – This phase utilizes the maximum benefit out of Agile Development for Salesforce clouds. The demo is organized by the PO to the stakeholders like the client’s functional users and project sponsor and get their feedback early and if needed changes can be implemented in the next sprint. This helps the client to have focus throughout the project and hedges the integrator’s risk towards any possible changes coming after all work is done.

 

I would like to summarize by saying that any process can be used to deliver the same set of things but keep in mind that you need to Adopt a process, Customize the process and finally accept and embrace the process so that you believe in it to ensure your client and team stand with you even if there are some challenges thrown your way in the implementation. Finally, don’t forget to have some fun in this journey.

Mirketa has been helping client’s ranging from small to Fortune 500 companies’ rollout Salesforce clouds with high customer satisfaction and user adoption rates. Get in touch with our Agile Salesforce champions to understand how we can help your sales business process achieve more with the powerful Salesforce platform.

Posted in Agile, Salesforce cloud Implementation, salesforce community implementation, salesforce consultant. Tagged with , , , , .

Sales and Marketing Automation for Addiction Treatment, Part 1

Mirketa AppExchange
Have you ever sat wondering if you had followed up with everyone you were supposed to talk to today? Or managed a team and wondered if they we’re following through? These questions plague most sales driven businesses daily, but to Addiction Treatment Centers this could mean that someone’s life is on the line.

Download our eBook “How to Leverage Salesforce for your Addiction Treatment Centers”

Continue reading

Posted in Agile, Learn Salesforce, Salesforce, salesforce administrator, Salesforce Challenges, salesforce consultant, salesforce customization, salesforce development, salesforce for healthcare, salesforce for medical clinics, salesforce for NonProfit, salesforce for small business, salesforce integration, Salesforce Support Packages, salesforce Tips & Tricks, Salesforce.com, Salesforce1 Mobile app development. Tagged with , , , , , , , , , , , , , , .

NLP – Natural Language Processing

Since a long time, engineers have been striving to make machines perform tasks that human beings do; which has led to birth of the field of machine learning. Understanding the language humans speak, constitutes a vital part of this field. This field of computer science which deals with human-machine interactions, especially concerned with computer programs which can process natural language efficiently, is known as Natural Language Processing, mostly referred to by the abbreviation NLP.

NLP sits at the intersection of computer science, artificial intelligence and computational linguistics. “By utilizing Natural Language Processing algorithms, developers can organize and structure textual data to perform tasks such as automatic summarization, translation, named entity recognition, relationship extraction, sentiment analysis, speech recognition, and topic segmentation.” (En.wikipedia.org, 2017)

Natural Language Processing is characterized as a hard problem in computer science since human language is rarely precise, or plainly spoken. To understand human language, one must not only understand the words but their meaning & context and how they interconnect to form meaning. The vagueness and ambiguous nature of human language makes it difficult to learn for computers while being easy to learn for humans.
 

Components of NLP

There are two components of NLP which are listed as follows:

    • Natural Language Understanding(NLU)
      This includes understanding the different aspects of the language and mapping the input text in natural language to useful representations. This is the harder of the two components since this section has to deal with the ambiguity & complexity of the language. There are mainly three levels of ambiguity which are as follows:

          1. Word-level or Lexical Ambiguity
          2. Syntax Level or Parsing Ambiguity
          3. Referential Ambiguity

 

    • Natural Language Generation(NLG)
      As evident from the name, NLG is the process of producing or generating meaningful phrases and sentences in the form of natural language. It involves text planning, sentence planning and text realization.

 

NLP Terminology

Syntax: It refers to arrangement of words which form a sentence. It also involves determination of structural role of each word in the sentence.

Phonology: It is the study of organizing sounds systematically.

Morphology: It is study of how words are constructed using primitive meaningful units.

Semantics: It deals with the meaning of words and how they can be joined/combined to form meaningful sentences.

Discourse: This determines how the immediately preceding sentence can affect the interpretation of the next sentence.

Pragmatics: This deals with how the interpretation of a sentence changes according to the situation.

 

What can developers use NLP algorithms for?

    • Summarizing blocks of text to extract the meaningful information from the given text, ignoring the remaining non-relevant text
    • Understanding the input and generating the output in Chatbots
    • Deriving the sentiment of a piece of text using Sentiment analysis
    • Break up large text into simpler tokens such as sentences or words

 

Some Open Source NLP Libraries

    • Apache OpenNLP
      It is a Java based machine learning toolkit provided by Apache, that supports the most common NLP tasks, such as tokenization, sentence segmentation, part-of-speech tagging, named entity extraction, chunking, parsing, language detection and coreference resolution. OpenNLP also includes maximum entropy and perceptron based machine learning. It provides built-in Java classes for each functionality as well a command line interface for testing the pre-built agents.

 

    • Natural Language Toolkit(NLTK)
      It is a platform for building Python programs to read and process human language data. It provides easy-to-use interfaces to over 50 corpora and lexical resources, along with a suite of text processing libraries for classification, tokenization, stemming, tagging, parsing, and semantic reasoning, wrappers for industrial-strength NLP libraries, and an active discussion forum.

 

    • Stanford CoreNLP
      Stanford CoreNLP provides a set of human language technology tools. It can give the base forms of words, their parts of speech, mark up the structure of sentences in terms of phrases and syntactic dependencies, indicate which noun phrases refer to the same entities, indicate sentiment, extract or open-class relations between entity mentions, get the quotes people said, etc.

 

    • MALLET
      MALLET is a Java-based package for statistical natural language processing, document classification, clustering, topic modeling, information extraction, and other machine learning applications to text. Apart from classification, MALLET includes tools for sequence tagging for applications such as named-entity extraction from text. Algorithms include Hidden Markov Models, Maximum Entropy Markov Models, and Conditional Random Fields.

 

These are few of the many open source libraries and toolkits available for development on Natural Language Processing which can be utilized by developers in their applications.

In conclusion, Natural Language Processing is an important part of the artificial intelligence field and needs to be given importance if someone wants to master the trade of Machine Learning or Artificial Intelligence.

 

References

 

Posted in Agile, Learn Salesforce. Tagged with , , .