Category Archives: Design

Defining the solution(s) that would meet the business need

Non-functional Requirements

A non-functional requirement (NFR) describes a feature or trait that defines a system’s state of being.

NFRs are

  • expressed in the form of “system shall be <requirement>”, an overall property of the system as a whole or of a particular aspect and not a specific function
  • Called “quality attributes”, “qualities”, “quality goals”, “quality of service requirements”, “constraints”, “non-behavior requirements”, “technical requirements”
  • Can be categorized as either
    • execution qualities (safety, security, usability) which are observable during operations (at run time)
    • evolution qualities (testability, maintainability, scalability) which are embodied in the static structure of the system

It is important to understand various types of NFRs, if they apply to your specific project and what questions can be used to help elicit and define non-functional requirements.

Different teams will group NFRs into different categories based on what they are producing, what they are familiar with, etc.  Some groupings today are:

  • FURPS – Functionality, Usability, Reliability, Performance, Supportability
  • RASUL – Reliability, Availability, Servicability, Usability, Installability
  • IIBA Supports – Reliability, Performance, Efficiency, Operability, Security, Compatibility, Maintainability, Transferability

I will be covering a number of NFRs to help you understand each of them and provide questions you should be asking and example statements in future posts.

NFR wrong-way

Improving Lookup Search Results

Hi my fellow citizen developers.  Lookups are a great way to relate objects together but can lead to a bad user experience if the lookup search isn’t configured well.

In this post we will be looking at a simple example of using a lookup field to define the instructor for a class.  So below shows the instructor field where we enter the last name of the instructor to be assigned to the class.


When we click on the lookup icon we see several results from our lookup search.  Unfortunately we have no additional information to determine which Ben Smith is the one we need to assign as the instructor.


To help users find the right instructor we need to include additional information in the lookup search to help them choose.  To do that we need to modify the Search Layout on the object that is holding our instructor information.


Go to the search layouts for the object you are using, in this case I am using Contact.  To help my users find the right contact record I am adding the contact’s title, department, reports to and email information in the Lookup Dialog.  So when a lookup search is done, more information is displayed.


Now with this information my user should be able to select the correct contact to assign as instructor for the class.

Hope this helps you with your configuration setup and user experience design.




4 Types of Email Notifications

Emails are part of the business landscape so including them in your Salesforce applicationemail1 makes sense.  Designing the look of the email and its contents is important so that the emails provide users with the right information at the right time.

So what are some typical scenarios that result in email notifications?

  1. Acknowledgement – when a user submits a request, CASE, etc
  2. Status Update – providing user with status of request, CASE, etc
  3. Escalation – providing user with information on an escalation
  4. Information – providing user with information

Design Considerations for Salesforce Email Templates

Every email should include the following:

  • Reason person is receiving the email
  • ID / Link back to the Salesforce record which resulted in the notification (if appropriate)
  • Relevant information
  • Next Steps for person receiving the email (if any)
  • Next Steps for Company/Group (helps to set user expectations)
  • How to contact us

In the process of creating your templates consider the following:

  • Pick the appropriate email template type based on what your email recipients can handle and the level of layout control you require.
  • Maximize your subject line
    • Keep it concise but informative
    • For mobile recipients some researchers feel the first 35 characters are key
  • Use Merge Fields to personalize content
    • Be sure the merge fields you will be using have data. The merge field will not appear in the email for a record where there is no data in that field.
    • Email templates give you access only to the fields that are accessible to you via your page layout and field-level security settings.
  • Configure your email Deliverability Settings — Information about these settings can be found here.

A great place to see how to create a Salesforce Email Template is the article “How to create an email template in Salesforce” at


How do you use email notifications in your business?