Saturday, December 3, 2011

Configure - Price - Quote (CPQ) Solutions


Image: Apttus CPQ Suite


The Sales Cloud application by Salesforce.com provides all of the basic elements for small and medium-sized businesses to generate price books and build sales quotes.  But what about enterprise-sized organizations or even smaller companies with very complex product configurations?  For these businesses, the standard price book, product and quote tools in Salesforce.com may not be sufficient.  These companies must generally turn to a Configure-Price-Quote (CPQ) solution.

What’s In a CPQ Tool?
CPQ solutions vary by vendor, but generally include the following features:

Product Catalog:  In a CPQ tool, Products and/or service offerings are loaded into a product catalog, which stores product information in a structured and consistent way: product name or service name, description, SKU, pricing information and pricing history.  Some CPQ solutions also allow product managers to upload data sheets, pictures and or video clips.  Product catalogs can become very complex tools, allowing organizations to define a nested catalog hierarchy, relationships between products, product code translations for backend billing systems, access / visibility rights, and more.  As a Salesforce.com Administrator, you’ll want to carefully review how the CPQ product catalog integrates with Salesforce.com Products and Pricebooks.  Both are critical areas if you want to take full advantage of Salesforce Opportunity and Quote management features. The best solutions advise users on related products, provide price comparison services, and integrate directly with enterprise resource planning (ERP) systems.

Product Configurator:  You want your sales team selling, not getting mired down in the complex array of currently available product bundles and promotional offers.  Product configurators are tools that the Sales team use to customize bundles of product offerings accurately and quickly.   The best CPQ solutions feature configurators that hide the complexity of your service bundle and product offerings.  Rules management features allow product managers to define product relationships and bundling rules, which ensure deals are built and priced correctly.

Needs Analysis / Guided Selling:  Advanced CPQ solutions feature tools that guide  the ustomer, partner or sales user to see related products / offerings, see automatic discounts or promotions they may be eligible for.  It allows them to compare similar product offerings side by side, or alerts them to current promotions.

Quotes / Proposals Generator:  When you start descending into your CPQ vendor selection process, you’ll find that most CPQ vendors have a stand alone solution – which allows for all product configuration, pricing, proposals, approvals and quote management to be done in their platform – a full SFA solution.  Optionally, they may also provide some integration with the CRM platform of your choosing.  Rich quoting tools will feature extensions, like selectable cover letters, product details, a “first bill” snapshot (for subscription models), terms & conditions, electronic signature integration (DocuSign, eSign, TurboSignature).  They may also include workflow rules to automate the approval process, if needed.

When Do You Need CPQ?
If you answer yes to one or more of these questions, chances are you need a CPQ solution:

- Our current configurations and price rules are scattered across multiple documents – and finding them is slowing your sales team down
- Our Sales team submit orders with invalid configurations or incompatible products; correcting these is costly
- Orders are submitted with incorrect pricing for the selected configuration
- Our Sales team frequently submit orders using expired / discontinued promos or products
- The process of rolling out a new promotion is extremely complex, time-consuming and prone-to-error
- Our product configurations / bundles are so complex, we can’t allow customers to order products over the web

CPQ Vendors (Salesforce.com Certified)
Looking to learn more about CPQ solutions?  The following vendors have CPQ solutions that integrate to some level with Salesforce.com:

- FPX

Other CPQ Vendors

Saturday, July 9, 2011

How To Prepare for Salesforce.com Certifications


I'm helping a new group of Salesforce.com Admins prepare for their upcoming ADM201 Certifications (which they'll be taking at Dreamforce 2011).  While preparing to help THEM prepare, I created this quick list of 14 tips, tricks and advice -- I hope you find it useful!

1.)  Exam Format:  This is a timed, multiple choice exam.  There are 60 questions you must answer within a 90-minute window.  Some questions have one answer, some have multiple correct answers (and you must select all of them correctly).  The advantage of a multiple choice format is that all of the information is in front of you.  The disadvantage is that additional information is also given to you, designed to confuse you.  Some people excel at this format and never have to study.  I’m not one of those people.   I need to study hard, write down the information, and review / recall it often.

2.)  Exam Environment:  Salesforce certification exams are taken on a computer and monitored by a proxy.  The exam software will present you with one question at a time.  You must answer it or skip it, and then move on to the next question.  At the end, the software gives you a chance to review each question and verify or change your answer.  The exam is pass/fail: you need to score a 67% or higher to pass (hey, for most exams we took in college, that’s an F, so how hard can it be, right?).  Exam results are calculated immediately: you will know if you passed or failed before leaving the exam area.

3.)  Scope of the Exam matches the Scope of Salesforce.com:  The exam covers the full breadth of functionality in Salesforce.com.  This might be challenging for admins who are only focused on one aspect of Salesforce.com for their companies (i.e., a new admin who is only using the Sales App for sales force automation features).  Salesforce Administration training and certification covers the full gambit of Salesforce Apps: Marketing, Sales, and Customer Support.  You will need to learn (or refresh) on all of the applications in Salesforce, as well as features that might not be often touched (user / profile / role configurations, security configurations, etc.  I wasn’t prepared for questions about configuring international monetary settings or changing the default languages, because in the company I worked at didn't use these features (and I hadn't attended the training, I just opted for the test).  I passed, but I wouldn't be surprised if I just barely squeaked out a 68% (Salesforce doesn't share the test results, so I'll never know how well or poorly I did on that first exam).  Since then, I have been much more careful in my exam preparation. My advice here is to make sure you’re focusing on the full functionality of Salesforce.com, not just the functionality that you're making use of at your current company.

4.)  Preparing for the Exam: Don’t wait to the last minute.  This is not the type of exam you can cram for the day before (unless you’re one of those people mentioned above, who can breeze through multiple choice formats with no problem).  Start preparing weeks before you schedule the test.  Dedicate small increments of study time every day.  Use the last few nights prior to the exam to review all of the information you have collected / prepared.

5.)  Get a Study Partner:  If you can, find yourself a study partner.  Study buddies and study groups were great in college, they're great when prepping for the Salesforce.com Certification exams.  Don't have anyone you can partner up with at work?  Get involved and connect with folks in your local user group, you’re almost certain to find someone preparing to take the exam, preparing to recertify, or eager to be talked into it!  Plan study sessions, take turns reviewing chapters and writing down your own multiple choice test questions for each other.  Create mock exams for each other and test each other.

6.)  Certification Training:  Salesforce offers 5-day, instructor lead classes which help participates prepare for the Salesforce Certification exams.  There are courses for Admin (ADM201), Advanced Admin (ADM301), Force.com Developer (DEV401), Force.com Advanced Developer (DEV501), and Consultant (CON201).  Courses range from $3,000 (for Salesforce.com Administrator Certification) to $4,000 (for Advanced Admin, and all other certifications).  The courses generally include a voucher to take the exam.  You can register and learn more about these training programs at www.salesforce.com/training.  Confession: I've never taken one of these (I'm too cheap, and I don't personally do well with instructor-led class formats).  Still, I hear great things from the folks in my Admin and Developer network who have taken them.

7.)  Get the Latest Study Guide from Salesforce.com:  At the bottom of the Salesforce Training and Certification page there are descriptions and links to the study guides for each of the current certification offerings.  The study guides include sample questions in the format you'll see during the certification exam.  These are very helpful, make use of them.  Here is a link to the current (Spring’11) Administrator Study Guide.

8.)  Some Great Trips from Bloggers:  Hayata Takeshita (@crmverse) offers some great advice on his blog: Salesforce.com Certification Exam Notes.  Hayata writes, “One obvious piece of advice was to read the questions and answers carefully, especially those with NOT, CANNOT, and EXCEPT in them.  I was provided with two pieces of paper and it helped to answer the questions as TRUE and then transpose them to fit the question format.”  Hayata also suggests a practical study aid: flash cards.  He built his flash cards using the Notepad app on his iPhone.  “Since the exam was mostly about memorization, flashcards were a great tool.  There’s something about writing stuff down that helps improve the learning ability of people.”  You should also check out Hayata's vlog: Home Study for the ADM201 Certification Exam.  It's a short, 8 minute video with some great tips and advice.

9.)  Another Great Blog Resource:  ForceCertified.com is a fantastic resource.  The site was designed by John Coppedge (@johncoppedge), who created the site while preparing for his own Salesforce Administrator Certification exam.  John went on to obtain his developer and consultant certifications, and updated the site to reflect the preparations he did for those exams, as well.  The site also includes a link to a simulated, timed practice exam.  The questions in the ProProfs practice exam are similar (if not slightly harder) than those in the actual certification exam. Take this exam and check your score at the end.  As mentioned previously, you need to score 67% or better on the Salesforce exam.

10.) Write it down:  Both John and Hayata used similar means to prepare for the exam: they read the materials carefully and then wrote the information down.  Hayata created flash cards on his iPhone Note app, John created a website.  If your study practice includes writing stuff down, you will likely retain it better.  If you have a tablet device or smart phone, I recommend checking out www.studyblue.com – free online flashcards that you can study wherever you go!

11.) Harmony of Mind requires Harmony of Body:  Get plenty of rest and eat healthy meals the day before.  Have a great breakfast the day of the exam.  Be positive – you’ve worked hard preparing for this, you can do it!

12.) During the Exam:  Think actively and logically.  Read the questions carefully, don’t rush.  This is a timed exam, so answer all questions that know the answers to first, skip the ones you don't.  Then you can do the mental math ( “Hey, that’s 80%, I should be ok.”) before going back to answer all the questions you weren't certain on.  Do a final review of all questions and answers, if you have time.

13.) After the Exam:  On no, you didn’t pass!  Don’t worry, rumor says that upwards of 40% of people fail their first attempt at the exam.  Don’t despair, you’re still in good company (you’re part of the bold few who have actually made the effort to get certified!).  You are wiser about the questions and format, and better prepared for the NEXT time you take the exam.  It will cost you $100 to re-test, and I recommend doing that sooner (within 1-2 weeks) than later.  Recall (and write down!) as many questions that stumped you as possible.  Then study and prep for the next test.

14.) After the Exam: Congratulations, you passed!  But you can’t stop here.  You need to recertify with each seasonal release of Salesforce.com (approximately 3x per year).  These are necessary because the Force.com platform is constantly evolving.  If you’re not going to continuously maintain your certification (which requires an ongoing financial investment), there’s not much point in taking the first certification.  Shell Black offers some great tips and advice for managing your Salesforce.com Release Exams in his blog: Release Exams.

Good luck -- and be sure to let us know how you did!

###

Thursday, July 7, 2011

Where Have All the Good Admins Gone?


I’ve been watching an interesting trend lately: Salesforce.com Admins are leaving their current companies and joining some of the top CRM consulting companies instead. In the past couple weeks, a half-dozen of the top “Force.com Enthusiasts” that I follow on Twitter, Facebook, and LinkedIn have signed on with companies like Appirio, Mavens Consulting, Accenture and Acumen Solutions.  Some recent examples (most on this list flocking to Appirio):


These aren’t just Salesforce.com Admins either … they’re some of the Top Guns in the Force.com community. Many of them are inaugural members of the Salesforce MVP program, all of them are strong Customer Evangelists for the Force.com Platform.

What’s happening here?

This past month, at Cloudforce Boston, I had a chance to chat with several Salesforce Admins who are on that list. Of the individuals I spoke to, each cited a similar motivation: they’re very passionate about Salesforce.com. They know what great things it is capable of doing and they’ve seen some incredible use-cases and ways other companies are using it. Some expressed a little frustration at their own companies, who were not taking the recommendations and advice of these Force.com Gurus: “I just came to the realization that no matter what I tried to do, I just wasn’t going to win them over. I don’t want to fight that hard to make my company brilliant! I want to work with companies who recognize the benefits of Salesforce – who really want to use it – and then help them get the most out of it.”

I have to confess, I occasionally experience these same frustrations. To me, it’s so clear how a well-developed and widely deployed CRM solution can completely transform a company. I’ve seen that transformation at other (smaller) companies where I’ve deployed Salesforce (and sometimes, competing CRM solutions). Partial CRM deployments are great, full CRM deployments (covering all customer-facing teams) are better, but extending the platform deep into the back office is simply #Awesome.

In a small company, I was able to roll out CRM features across the entire company quite easily: I’d just turn features on. Users were eager to see what else the platform to do, and it was easy to roll-out custom apps and services that met their needs. In a large enterprise company, I do far less development / deployment and far more preaching. I need to constantly evangelize cloud-computing in general, basic principles of CRM, and the value of extending our CRM tool beyond Sales. It’s exhausting and I can sympathize with some of those admins who favored the consulting career path.

Another Salesforce.com Top Gun that I correspond with (whenever our cloud paths cross) has been advising her company to avoid splitting their Salesforce.com org into two instances. In some cases, it might make sense, but in their model, she knows that it doesn’t. She’s the lead Salesforce.com Admin, and is being told “do not question this decision (to split the orgs), do not ask any questions.”

When your company no longer allows you to give them appropriate counsel and advice – no longer allows you to even ask questions – it might be time to seek out blue skies and green pastures.

###

Saturday, June 11, 2011

Liking the New Twitter Feature – Tell Me Who Liked What I Wrote

This past month (5/23/2011), Twitter introduced a new feature: email notifications whenever someone “Favorites” or retweets one of your posts (as long as you “follow” that Twitter user). It’s only been three weeks since the feature was rolled out, but I’m finding it to be a dang useful feature!

Why It’s Useful

My tweets are hodge-podge of information, but generally relate to CRM, Salesforce.com, cloud-computing, agile methodologies, privacy and security. These are my hot buttons, the areas of technology I am most interested in. These are the topics I tweet and blog about. More than likely, the folks who follow me share some of these same interests (otherwise, why follow?).

I get a lot of useful information from the folks I follow on Twitter. I especially like the way Paper.Li delivers all this content to my mailbox, in a newspaper format, twice daily.

Like many Twitter users, I like to reciprocate. I hope that the information I am tweeting is useful to those who follow me. Until this Twitter feature came along, my tweets have been largely a “one way” communication. Occasionally, users would retweet a particular message, and I’d see evidence of that in a my twitter stream. But now, getting an email link with of everything that has been favorited or retweeted gives more direct feedback. It lets me see who liked something I wrote. Those positive feedback loops are important in social tribes. Being able to see how often something you posted was “liked”, marked as a “favorite” or “+1” gives the author a sense of appreciation: someone found this information useful, I should do more like that.


Enabling and Disabling the Feature

When the feature was rolled out, it was set to enable for all users.  You can change those settings easily: when logged into twitter, click the drop-down icon next to your name, settings, Notifications tab, and uncheck the appropriate activity checkboxes.



What do you think of the new feature?  Like it or hate it?  Do you think it might change the way you or others tweet?

###

Friday, June 10, 2011

Simple Productivity Booster: Disabling the Outlook Email Desktop Alert

This past week, Ed Gallagher, our Division VP, brought in a Productivity Expert from the David Allen Company. David Allen is the author of “Ready for Work”, “Making It All Work”, and “Getting Things Done”. Ed had recently attended one of his seminars, and then hired one of the author’s professional consultants for some 1:1 coaching. Ed was so inspired by the program and the benefits he got out of it, that he decided to have all of his Directors, Managers and Supervisors attend the same training.

I have to confess – as finely tuned and productive as I think I am, I learned a thing or two. One of my “instant gratification” favorites from the training was: disabling the Microsoft Outlook email pop-up … read on!

Our trainer was Chris McIntyre (great speaker, great trainer!) and he promised to teach us things about Outlook that we didn’t know. Impossible, I thought!

Microsoft Outlook is my favorite email tool (sacrilege from a Force.com Evangelist, eh?), mostly because it’s the tool used by every company I’ve yet to work at. I use all the features of Outlook and I mean all: email, calendar, contacts, groups, tasks, notes, journals, views, rules and alerts, forms, macros, VB scripts … everything. It’s my nature. I become extremely vested in the productivity apps that I use every day and have to understand every little nuance about them. But there’s a difference between knowing every little feature that a product offers, and understanding when and how to use those features.

One of the tips that Chris recommended early in the session: disable the email pop-up alert (which is enabled by default) triggered when a new email enters your inbox. Chris explained, “It’s a productivity killer, especially if you get a lot of email. And I’ve been looking at the way you all work the past few days … you guys get A LOT of email.”

He’s right. On a daily basis, there are probably 100+ emails that move through my inbox. “Think about it,” Chris continued. “There you are, working on that really important report for your boss. You’re in the zone, writing up the document and – tap, tap, tap. It’s like someone tapping on your shoulder or tugging at your shirt sleeve: the email alert. And it stays there for a while, saying, ‘Hey, look at me … it won’t take long. Just look. LOOK! I’m titled REALLY IMPORANT.’”


And every email that comes in to the inbox does the same thing. Tap, tap, tap.

Of course, I knew how to disable the feature already – I just always thought keeping it on was the proper thing. Afterall, these are emails! They are COMMUNICATIONS! THEY ARE IMPORTANT!!!

But they’re not, really. They are distractions. They steer my attention away from my primary focus. They may indeed by important, but they can wait. Because whatever I’m working on right now is MORE important. If someone wants to get a hold of me urgently, they can call.

So I disabled the email pop-ups (In Outlook 2007, right click on the Outlook icon in your Systray, and uncheck “Show New Mail Desktop Alert”; same process for Outlook 2010, but the displayed menu options are labeled differently).


Today was my first full run without the pop-up alerts. Wow … what a difference it made. While writing up a detailed enhancement request, I was amazed at how much better it felt to get through that whole hour, without a single email interrupt. It was like working in the office on a quite Sunday afternoon. Sometimes, we allow ourselves to be distracted by every little thing; we forget the importance and ease by which we can tune out the world, and how much our brains really need that.

More tricks on the way, as I review my class notes and embrace some of the other lessons learned.

###

Sunday, May 1, 2011

My Favorite Daily News Source: Twitter (via Paper.li)

If you are an avid tweeter, then I highly recommend you create your own Paper.li subscription. It’s free, and it’s a remarkable tool for delivering focused content, directly to your email inbox, in a daily electronic newspaper format.

Whenever I’m online, either at home or at work, I’ll invariably have Hootsuite up. It scrolls a constant stream of tweeters and search topics that are of interest to me: Cloud Computing, Salesforce, Comcast, Robotics, Project Management, Process Improvement. Hootsuite allows me to stay connected with peers and my “social community”, and find new connections with people who share my interests. But even though I’m somewhat selective in who I follow on Twitter, it’s still an extremely high-volume of content. It’s very difficult to keep up with that stream.


Enter Paper.li

Paper.li summarizes all of the content (links, articles, photos, videos) that were shared by the people you follow, and summarizes them into a daily newspaper format. Confession: it felt somewhat pompous to create a newspaper around my own name. I had to get past that, and remind myself that the daily newspaper content isn’t mine – it is stuff that was shared by all the people I follow on Twitter. It’s all packaged up in a newspaper format, delivered to my email inbox daily. The format is much easier to read than scrolling through a twitter stream at the end of the day. This daily feed has become one of my favorite ways to take in news and information.

Paper.li allows you to set the frequency of your newspaper feeds, including a Daily Edition (default), Morning & Evening editions, and a Weekly edition. You can even control the preferred delivery hour. Don’t you wish you had that flexibility with your regular newspaper?.

Paper.li inserts some advertisements throughout the newsletter. The ads are not overbearing or distracting; I’m able to ignore them as easily as I ignore advertisements in a traditional newspaper or magazine.


The result is a daily newspaper that has a refreshing mix of personal interest content mixed in with industry and work-related content. I truly love it!

Creating your own daily Paper.li newspaper is easy:

1.) Navigate your web browser to http://paper.li
2.) Click “Create A Paper” in the top right hand corner of the page
3.) Follow the prompts to create a paper based on:

… your Twitter account: the newspaper will consist of articles shared in the past 24-hours by yourself and the people you follow on Twitter.

… a hash tag (i.e., #salesforce): the newspaper will contain articles shared in the past 24-hours by all Twitter users, who associated that hash tag with the article

… a Twitter @list: select any Twitter list, your own or that of another Twitter user, and get a daily newsfeed of articles shared by those users

Note: If you have taken an approach of simply following EVERYONE who follows you on Twitter, you may want to prune your Following List. The newsfeed is much more relevant if it includes articles promoted by people who specifically share your interests.

Check it out, and let me know if it makes a difference on how you read and manage your Twitter following practices.

Friday, January 28, 2011

From Chatter Apathy to Chatter Fan in 30 Days

Meet Joe Onisick, a self-proclaimed “IT professional specializing in data center technologies with a focus on virtualization and private cloud architecture.” (I haven’t had the heart to tell Joe that there is no such thing as a private cloud – that it’s a myth, like unicorns and leprechauns – but perhaps we’ll broach that twitter conversation on a later date :-)

I jumped into a conversation with Joe when he spoke disparagingly of Chatter:


So here we have a well-educated, intelligent fellow, who finds real value in “public social media”. From reading his Twitter stream, I see that Joe expertly wields Twitter to find other business professionals, networks with them to get answers and solve problems. So how is it that he couldn’t see a similar benefit with Chatter?

Could it be that the Chatter deployment at his company did not have appropriate C-level executive sponsorship? Securing your C-level executive sponsor is critical in any organization-wide application. Someone “at the top” has to recognize that this corporate social media stuff has value, convince their peers that it will be helpful to the company, and provide the oversight to ensure that it is rolled out properly.

Perhaps there had been no training for the user community at Joe’s company. Let’s be honest – a good number of our friends, relatives and work colleagues simply don’t understand the power and impact of social media – or even what it’s good for. A corporate executive, whom I get to work with from time to time, refers to Facebook as “Wastebook”. He perceives it as a tool for idle minds and wants no part of it in the workplace. An organization cannot simply turn on a tool like Chatter and hope that employees will “get it”. Training, monitoring, and re-training must be part of your Chatter roll-out strategy.

Perhaps the deployment did not have appropriate attention by community moderators. Social media is only useful when there is wide participation. In public social media tools, like Facebook, LinkedIn and Twitter, there is an enormous community of active participants. But when you close the tool to a smaller community, it very often requires a moderator to monitor the micro-blogging stream, create and steer conversations to the appropriate discussion groups, and nurture the community until it is able to thrive on its own. Many corporate social media experiments fail, simply because there is no one there to lead the conversation and get everyone out of their SocMed shells.

I made a note to check back with Joe one month later. I wanted to see if there had been any change to his position on corporate social media. There had been:


From Chatter Apathy to Chatter Fan in 30 Days. Go get him, Robin Daniels, there’s a successful user story in there somewhere!

Saturday, January 8, 2011

Salesforce.com Acquires Dimdim - Why Is That Good?

This past week, Salesforce.com acquired Dimdim, a browser-based web conferencing service provider. Dimdim is a very useful app and I’ve used it to conduct webinars, User Group meetings, and training sessions for remote employees. As web conferencing goes, Dimdim included all of the basic functionality: ability to schedule a web conference, track meeting registrations, automatically send email reminders to meeting registrants … even the ability to record the web conference for later playback.

After the event, the web conferencing organizer would receive an email link, which he could immediately share with anyone – so they could view the recorded session and play it back at their leisure. Organizers also recedived an embedded HTML link, which they could paste into their blog or website, making the content of the meeting available to a general audience. Beyond web conferencing, Dimdim had other useful features, like whiteboard collaboration, the ability to share and store documents, phone conferencing, and webcam sharing.

I used Dimdim for a good number of Salesforce.com consulting projects that I was doing for Non-Profit Organizations. These organizations were attracted to Dimdim because it was the only free web conferencing solution available. The free version only supported 20 attendees, but that was perfect for their needs. The Pro version, which allowed a greater number of participants and more functionality, was only $25 / month. Very compelling, compared to other web conference vendors, which were in the $40 - $60 price range.

It’s clear that Saleforce.com is acquiring Dimdim for its technology, not its customer base. When giving me the heads-up about the acquisition, my Salesforce.com Account Executive was careful to mention that Salesforce currently has “no plans to go into the web conferencing market.” Shortly after that, I got an email on my free Dimdim user account confirming the same: my Dimdim account will remain active until March 15th, and after that I won’t be able to use it.

That doesn’t mean Dimdim will go away completely. Afterall, Dimdim is based on open source code, and an open source version of the code will be posted to SourceForge.net. However, neither Salesforce.com nor Dimdim will be contributing to the open source project going forward. Source: Brown, Rodney (2011, January 7). Mass High Tech: Dimdim sells to Salesforce.com for $31M.

Why is this good for Dimdim? In the press release, Dimdim CEO DD Ganguly summed it up simply enough, “From our start, Dimdim has focused on enabling real-time collaboration in the cloud, with no software. Salesforce.com gives us the opportunity to apply our expertise and align our vision of real-time, social enterprise software in the cloud – at a scale that wouldn’t have been otherwise possible.”

Why is this good for Salesforce.com? Good development talent is hard to acquire, and in just 3 years, Dimdim has done some very interesting, innovative stuff in the web conferencing space. Salesforce plans to retain the Dimdim engineering team, most of which are located in India. Although the standalone web conferencing service is terminating, the engineering team will focus on integrating “Dimdim’s technology with Chatter as quickly as possible.” Source: Henschen, Doug (2011, January 7). InformationWeek: Salesforce.com Acquistion Feeds Chatter .

Why is this good for Salesforce.com Users? Plan on seeing some new features in the Salesforce.com Collaboration Cloud service very soon: instant messaging (and being able to log those communications to a contact / lead / case), screen sharing (how handy will that be for your customer service team?), whiteboard collaboration sessions that can be recorded and stored in Content or Chatter Groups, training webinars (also recorded and stored for replay), and more. Great stuff coming!

Why is this good for Dimdim Users? Well, truth be told, it ain’t. There’s not one good thing about this for Dimdim users, and I’m sorry to see my Dimdim web conferencing user account go away. Individuals who used Dimdim for web-conferencing will look toward other web-conferencing solutions (Yugma/Skype, for no-low cost; GoToMeeting, WebEx, Live Meeting, iLinc or others for subscription services)

What about you? What are you looking forward to with the latest acquisition by Salesforce.com?

Saturday, January 1, 2011

Converting 10-Lines of Apex code to a 1-line Validation Rule Formula

Code clean-up is what I'm doing these days ... lots of code clean-up. One of our Salesforce.com orgs (we have sixteen of them) currently has 72% test coverage in production. I'm not sure how the previous administrators were able to install code below the 75% threshold, but they managed. I'm tasked with getting that code cleaned up, so I can deploy a new release.

While looking for areas to improve code coverage, I stumbled upon this trigger:

trigger checkAccountPhoneNumberBiBu on Account (before insert, before update) {
   for (Account account : Trigger.new) {
      if (account.Phone==null) continue;
      Pattern p = Pattern.compile('[-() ]');
      String sPhone = p.matcher(account.Phone).replaceAll('');
      // check length without punctuation
      if (sPhone.length() != 10) account.Phone.addError(' Phone number must have 3 digit area code and 7 digit number');
      p = Pattern.compile('\\d');
      sPhone = p.matcher(sPhone).replaceAll('');
      if (sPhone.length() > 0) account.Phone.addError('Phone number must be formatted as (999)999-9999');
   }
}


This trigger looks at the value entered in the "Phone" field before an Account record is inserted or updated; if the phone field is not in the (999)999-9999 format, it errors out and notifies the user to enter the phone # in the proper format.

In addition to this Apex code, the developer also had to write a testmethod to ensure coverage of the trigger. His code was only getting 67% test coverage (which is what brought the trigger to my attention in the first place).

As I started looking at what I needed to add to the testmethod to ensure 100% coverage, I realized it would be easier to just get rid of the trigger altogether, and replace it with a Validation Rule. That 10 lines of Apex code was reduced to a 1-line formula in a validation rule:

NOT(REGEX(Phone, "\\D*?(\\d\\D*?){10}"))

Here's the validation rule in the UI:



Simpler is always better. Any time you can minimize your code (or get rid of it altogether), you make your org simpler, smaller and eaiser to maintain. I'm a fan of that.

Another benefit of implementing this as a validation rule is that I'm able to control where the error message is displayed. Previously, the trigger method displayed the error message at the top of the detail record page layout.  With validation rules, you can display error messages either at the top of the screen or at exact field where the error was made; I generally prefer the latter.

Want to see this and other useful validation rules? Check out the Useful Validation Formulas guide by Salesforce.com.