You can follow these five bloggers, and all the other SFDC Tech Bloggers on Twitter with one click. Click the “Follow this list” button here.
Books
Jeff Douglas and Wes Nolte have teamed up to write "The Salesforce Handbook: A Newcomer’s Guide to Building Applications on Salesforce.com and the Force.com Platform". They published a teaser excerpt on their blog: The Salesforce Handbook. The book is not due out until October (plenty of time to get your signed copy at Dreamforce 2010!). Visit their blog to join the email subscription list.
Salesforce IdeaExchange: Ideas I Liked / Promoted
Allow Single Test Method Execution from an Apex Class (120): Give Developers / QA Testers the ability to select the specific test methods that should be tested in an Apex test class. Handy for when you are trying to debug a single method! Vote it up here.
Cool Videos
I really liked this Flash App Demo by James Ward. The demo shows the power of the new Flash Builder tool, and integrating it with Salesforce.com. In the demo, James shows an app that allows him to take a picture of a person, associate it with a contact record in Salesforce, which then automatically uploads that picture into a custom image field on the Salesforce contact object. Very cool, check it out at the The Salesforce Channel.
Developer Stuff
In the Salesforce blogosphere, there is lots of interesting stuff happening on the developer front.
Managed Package Woes: Abhinav Gupta of Tech Germ describes a common problem that developers first encounter when migrating their Force.com web-service apps from a developer org to a managed package. During this migration, and external Java, Flex, PHP or .NET client code that made web-service calls to the Salesforce WSDL Web Services break, because the custom sObjects and fields get unique prefixes during the packaging. He presents two solutions, read more ...
Java Namespace Exception Errors: Abhinav follows that great article with a 2nd one, describing the cause, effect and solution for when Java namespace exception errors are thrown, when using WSC and Apache Axis WSDL2 Java together in a JVM or project. To avoid this problem, Abhina suggests compiling the WSDLs using WSC. Read more ...
Force.com Explorer (Beta): Salesforce Developers and Admins have a new tool for their arsenal: Force.com Explorer (Beta). This is an AIR app, built with Adobe Flash Builder for Force.com, which allows you to “browse your database schema, custom objects, and fields, and build test SOSL queries. It can also generate a simple schema report.” Read more at Developer Force.
VisualForce Pages that Talk to You? Aslam Bari thought of a great new trick: enable your VisualForce Pages to Speak! He found two useful web service / plugins on the net: jTalk is a an API that converts text to speech on the fly, and DewPlayer is flash MP3 player. Combined, you can integrate these into your VisualForce pages and convert output data to speech. Read more at Technology Share. One of the barriers for new developers posting apps to the AppExchange has been the cost of getting those applications reviewed and approved by Salesforce.com. That barrier has become less impacting, with lower security review fees. Read more at Developer Force.
Posting AppExchange Apps Just Got Cheaper: One of the barriers for new developers posting apps to the AppExchange has been the cost of getting those applications reviewed and approved by Salesforce.com. That barrier has become less impacting with lower security review fees. Read more at Developer Force.
I am the Salesforce.com Administrator for a small company, but I still get a ton of requests to customize and change things in the system: custom fields, objects, tabs, workflow, validation rules, reports, dashboards, applications, you name it. Help! There are so many requests, I can’t keep up with them! Some of these requests are very practical, and I know they’ll help our CRM initiatives greatly. Others aren’t so very useful (at least from my perspective). And of course, everything is URGENT! How do I track and priortize all these “urgent” change requests?
Great question, and a problem every Salesforce.com Administrator faces, I’m sure! Let me share an approach I use, perhaps it will help in your situation.
First, implement Ideas. Ideas is a “free” Salesforce.com application, available to organizations with Professional, Enterprise or Unlimited edition user licenses. If you’re familiar with the Salesforce.com IdeaExchange, the concept is the same. In fact, Ideas is based off the tremendous success Salesforce has recognized from their IdeaExchange. For more information about Ideas and IdeaExchange, check out my previous blogs here.
Inform and train your users on the use of Ideas. Set their expectation that all change requests to your CRM platform MUST be submitted through the Ideas tab. Prime the pump by creating Ideas! Through the newly deployed Ideas tab, post all of the projects and change requests you’re currently aware of. Get them off the yellow stickies, excel worksheets and email messages that you've been tracking them in -- get them in Ideas.
Every time a User approaches you in the hallway, or sends an email / voice message with an idea request, ask them to add it to the Ideas tab. Don’t worry if your users are initially reluctant to create, promote or comment on Ideas. Change takes time. Just make sure that YOU aren’t implementing any new changes to your organization's CRM platform UNLESS it has been submitted as an idea.
Now your Idea bucket is starting to fill up. Users can see the ideas they have submitted, and also those submitted by their colleagues. Users become aware that there are a lot of competing ideas and change requests in your queue. Furthermore, you can update the Idea Status field, showing your users which ideas have been reviewed, which ideas are coming soon, and which ideas have been implemented. Create Public Dashboards that track and show this information for your user community.
I created a Workflow Rule which sends a “thank you” email to Idea originator, and copies myself. I review every email as they come in, and create a “project” for each Idea. Some projects are fast and easy, some take longer and may require a more disciplined approach -- but every idea is tracked and worked on as a project.
Keeping track of these projects is easy! I created a custom object called “CRM Projects”. Here’s a sample page layout for the custom object (click image to enlarge):
All the important information is tracked in these CRM Project records: a unique project number and name, a link back to the Idea, originator of the request (my "internal" customer), drivers, constraints, pictures, etc.
“Ok, JP, but how does that help me prioritize all these Ideas and Projects? You’ve just given me more work, because now I have to go look at all these ideas, review them, qualify the ones that are worthy as projects, and then do some data entry describing what the project is!”
There are several fields in this custom object which help me prioritize the projects:
Importance: Picklist field, with 3 values: high, medium, and low Urgency: Picklist field, with 3 values: high, medium and low Effort: Picklist field, with 4 values: hours, days, weeks, months Priority: A numeric formula field that provides a weighted priority for this project. Here is the formula that I use (alternatively, click the image to the left)
This last field, Priority, is the most important in the bunch. Check out this List View, which shows all of open CRM Projects, along with their individual Importance, Urgency, Effort and Priority values (click to enlarge):
Wow! That's a lot of projects to work on -- more than can fit on one screen! The List View is sorted by Priority and secondarily by date. This gives me a weighted view of all the projects.
For example, the first project (Project ID: 2008-114) has High importance to the organization, High urgencyto the idea originator. It's a fairly simple request, should take only a few hours effort – certainly less than a work day. So based on the priority formula, this project goes right to the top of the list – even though it’s comparatively new to other projects on the list.
The key, of course, is setting proper values in these picklist fields. In general, I use the following criteria:
Importance: How important is this change request to the business organization? Don’t factor how long it will take to implement or deadlines – just assess the importance of this project to the company. Guiding Rule: Weigh the importance of the project to the Company, not the original submitter. Here’s the litmus test: put yourself in the CEO’s shoes (I love doing that!). If the CEO were aware of this request, would he consider it highly important? Somewhat important? Not so important? If I have any doubts, I'll just head up to the corner office and ask, “Hey, J.C. … how important is this project to you?” We’re a small company, too, and I’m not known for my timidity!
Urgency: How quickly is this feature needed? Sometimes I can determine urgency from what the Idea originator has written. More often, I can't really tell until I follow-up with them in person. That's right, I always talk to these Idea people face-to-face before setting up the project. From those discussions, I can gauge if the feature is a “Nice to Have”, “Must Have”, or “Heeeeeellllllllppppp”. And based on that, I can rank the project urgency as Low, Medium or High, respectively.
Effort: This is my estimate of how long it will take to implement the project. Custom fields, tabs, reports, dashboards are easy. We can bang out lots of those types of Ideas in few hours. Workflow rules, validation formulas, apex triggers, and Visualforce page changes might take days. Not always, as some workflow rules can be implemented very quickly. However, when you factor in our company policy to do all changes in a Sandbox environment first, and also to careful document, test and manage revision control of all changes, the cycles quickly add up. More complex Apex, Visualforce pages and application changes might be sized at weeks or months.
Priority: This field is updated automatically through the formula rule defined above. It’s a very simple weighting algorithm. Highly important, highly urgent and simpler projects jump to the top of the list. Projects that are less important, less urgent, or more difficult to implement settle somewhere lower.
One final note: as CRM Project Manager, I don’t use the priority value as the ONLY assessment for determining what my team should work on. Projects are not worked in top-down order, based solely on their priority. It’s simply a tool for determining the weighted priority of projects in my queue. However, if I’m working on projects that are NOT on the top of this list, I make sure my boss knows it – and the reason why.
Thinking about deploying Salesforce Ideas for your organization, but worried that your users won’t use it? An Anonymous poster to yesterday's Force Monkey blog is:
I'm the Salesforce admin and also most of the support staff for a company of ~75. I've thought of putting ideas out there for the company through the support portal. My question to anyone that's done it- does it actually get used? I could point it out to everyone but I'm fairly sure I would be met with blank stares and it would sit untouched...
My feedback? Yes, it will get used – if deployed right! One of the organizations I administer has 120 users, and they've been using Salesforce Ideas since the product went beta last November. They've averaged 12 ideas per month -- not bad!
On the other hand, if you just turn the feature on, and do nothing else, it will sit untouched.
Like so many other aspects of a CRM project, it’s not simply a matter of deploying a new feature and hoping people come along and use it. User Adoption requires careful planning, preparation, and follow-through. Here are some “Best Monkey Practices” for getting Salesforce Ideas up and running for a small (< 100 users) organization.
First, for readers who don’t already know ...
What is Salesforce Ideas? Ideas is an “online suggestion box”. You're licensed Salesforce.com Users can submit an idea, which creates a forum for discussion. Other users can discuss the idea, promote it, or even demote it. As Ideas are voted on, their score value changes. The most popular / best ideas get higher scores and “bubble up to the top”. The concept is designed after Salesforce.com’s highly successful IdeaExchange, which I’ve blogged about previously.
Ideas is a standard application meaning it’s FREE with your Professional, Enterprise and Unlimited editions. New organizations have the feature activated automatically, but you may need to enable the feature manually if you were a Salesforce.com customer prior to product launch (Summer'08 Release). To enable it, click Setup -> Ideas -> Settings -> Enable Ideas. You may need to tweak the settings in various custom profiles, as well: the Ideas app must be marked Visible, Ideas tab settings may need to be marked “Default On”, and the Standard Object Permissions may need to be set appropriately (Read / Create for standard users, Edit / Delete for your “Idea Managers”).
Now that you have it enabled, what next?
Step One: Customize the App
Salesforce Ideas is pretty good “out of the box”. It has some nice built in features – but you will almost certainly need to customize it for your organization.
1.) Setup Categories: If you’re a small organization (like Anonymous, with 75 users), start with just ONE category: “Salesforce”. Every idea submitted by your user community is feature or customization request directed at you, the Salesforce.com Administrator. Later on, after you have healthy user adoption, you can expend to other categories ("New Product Ideas", "Company Ideas", etc.). Click Setup -> Customize -> Ideas -> Fields -> Categories.
2.) Setup Status: Similar to Cases and Opportunities, Ideas have a "Status". As Ideas move through the evaluation, planning and implementation cycle, their status should change. Users monitoring this idea pool will want to see those changes. Here are some suggested picklist values for Idea Status:
- Fresh Idea: Default for new ideas - Under Review: Ideas that have been prioritized / put on a "project board" - Coming Soon: Someone is actively working to get that idea implemented - Now Available: Idea implemented!
To set the Status fields, click Setup -> Customize -> Ideas -> Fields -> Status.
3.) Set the Half-Life value of the ideas (Setup -> Customize -> Ideas -> Settings). Set this to a relatively high value (30 days) if you expect a low submission rate of ideas (less than 10-20 a month). The half-life value affects the score weighting, as ideas are promoted / demoted in the system.
4.) On that same setup screen, click "Enable Text-Formating, Images and Links". These will allow "savy" users to submit some colorful, clearly illustarted ideas, using pictures and hyperlinks.
5.) Make sure the Idea tab is visible on each application (Setup -> Create -> Apps -> Edit each app used in your organication). For instance, at my organization, Manufacturing runs a custom “Asset Tracker” application, Sales runs the standard Sales Force Automation (SFA) application, and Customer Support runs a custom case management application. I edited each of these apps and added the "Ideas" object to the Tabs associated with each application.
6.) Custom reports and dashboards are a great way to encourage and monitor user adoption. Salesforce Labs makes it easy with an Ideas Dashboard available on the AppExchange (click here to download),
7.) While you're on the AppExchange, you may also want to consider downloading the Ideas in Action custom app, as well. It’s a handy tool for tracking the projects and work associated with user-submitted ideas.
8.) Create email templates, workflow rules and/or apex triggers: Small organizations will want to create email templates and use workflow rules to automatically send the System Administrator (or other Idea Manager, if the process is managed by someone else) an email whenever a new idea is submitted. You may want to CC the originator of the Idea, so they know that their Idea has been submitted. Larger organizations may want to use something more pratical, like scheduled reports.
Step Two: Prime the Pump Enter a half-dozen or more ideas as a way of "priming the pump". Don’t be sparse on these – include all the features that you turned up in step #1: rich-formatted text, pictures, and links. Your demonstrating, by way of example, the detail and clarity you want to see ideas submitted by your user community. Submit ideas that you that other users have mentioned to you in past conversations -- stuff that's already on your "to do" list.
Step Three: Inform and Train Your Users Prepare a training presentation for your user group. You might include this Salesforce.com Ideas promo video from YouTube:
You should also check out the Ideas Learning Center for other Salesforce resources to include in your training.
Have a team meeting of all your Salesforce.com Users to announce the new application and train them on its use. If you can’t fit all your users in one room, schedule smaller department-size meetings. Bring bagels, cream cheese and fruit for morning meetings, pizza or finger sandwiches for afternoon meetings – that always gets attendance up!
After the first wave of training is done, send out a mass email to all users, including the training slides. Inform the user population that, going forward, all change requests and/or customizations MUST be submitted through the Ideas tab.
Step Four: Lead the Horse to Water You’re still going to get users asking you for feature changes, customizations, etc., the way they’ve always done it in the past (email, hallway conversations, coming to your office, etc.). Acknowledge them, just as you’ve done, but also ask the requestor to submit their idea on the Ideas tab (“Lots of folks are vying for changes, and I’m using the Ideas tab as a way of keeping track of them. Adding your request to the Ideas tab will ensure that it gets worked on as soon as possible.”)
Step Five: Make Him Drink You’ve laid down the law, now follow-through. Don’t work on any change requests from your user community UNLESS it’s documented as an Idea. At the very least, give your documented ideas higher priority and attention than non-documented ones.
Step Six: Keep Preaching from the Soapbox Whenever an Idea is implemented, make a big deal of it! Send out a quarterly email / mass mail announcing all the new Idea(s) that have been implemented. Consider announcing "prizes" for the best idea (highest score value) each quarter. It doesn't have to be fancy -- a box of donuts or a team pizza party is pretty cheap for even the tightest department budgets. At the very least, make sure your Idea submitters get name recognition for their ideas. And, of course, every newsletter should also include a marketing pitch at the bottom: "Do you have an idea, suggestion, or feature that you want to see added to Salesforce.com? Don’t delay, add it to the Ideas tab today!"
Whenever you start working on an Idea, be sure to update its status. Users will be monitoring those status fields, to see which ideas are on the way -- and where there idea is in the "pecking order".
Consider implementing workflow rules that send email status updates back to the idea creator, whenever the status of their idea is changed. (“Thanks for your idea submission: XYZ. This idea has been updated to "Coming Soon!"). Frequent communication and feedback fosters strong user adoption.
Finally (this one's for Michelle), recognize that your role in all this is not just that of a "System Administrator". You're really a "cat herder". Herding cats is not easy. They're stubborn, proud, defiant ... and some cats (especially those you report to) have really sharp claws. But with constant coaxing, encouraging, prompting and maybe just a dash of catnip, you'll get them all moving in the same direction eventually.
SalesForce.com IdeaExchange – it’s one of the best kept secrets that New SalesForce.com (SFDC) Users and Administrators should learn about and take advantage of. Do you know about it? Do you use it?
The IdeaExchange is a forum where SFDC users and administrators can submit product enhancements, or “ideas”. In addition to submitting these ideas, SFDC Users can also promote ideas they like, and demote ideas they don’t like. These votes are tracked with a score value as users vote them up or down. Through this voting, the most popular ideas bubble up to the top.
What a great tool for SFDC Product Managers to get user input and feedback on the product! In fact, SFDC product managers frequently review and comment on ideas posted in the IdeaExchange, fostering an open dialog between SFDC Customers and the SFDC Product Development Teams.
You don’t need a Salesforce.com account to browse the IdeaExchange, but only SFDC customers with an active user account can post, comment, promote and/or demote ideas in the forum.
At the top of the Blog, I reference IdeaExchange as one of the best kept SFDC secrets. I don’t know if your experience is different, but I kinda stumbled on the IdeaExchange by accident. One day, while logged in to my administrator account, I was clicking on various links and images to see where they would take me. Eventually, I clicked on the AppExchange logo, and from there I clicked onto the SuccessForce.com link. There are a lot of really GREAT resources on the SuccessForce website, but the one that caught my immediate attention was IdeaExchange.
It was the images in the IdeaExchange that caught my eye most. When posting an Idea, Users have the option of also uploading an image to emphasize or illustrate their idea. A picture is worth a thousand words (and it draws peoples attention). Add a picture to your feature request / product enhancement – maybe with a little Photoshop editing to show how you want the feature to work – and BAM! You’re able to communicate your idea that much more effectively.
When browsing the IdeaExchange, you can select tab filters to view “recently submitted” ideas or “most popular” ideas. On each idea, you can also view the comments, feedback and opinions that other users have weighed in with. In your forum profile, you can see a historical record of ideas that you have commented on or promoted. You can even look at the profiles and “idea stats” of other users in the IdeaExchange community – to see which ideas they’ve submitted, how those well those ideas have been promoted, etc. You can see the “Top Idea Users”, both those casting the most votes and those creating the most popular ideas.
It wasn't until DreamForce 2007 that I saw the real potency of IdeaExchange. DreamForce is the annual user convention in San Diego, and this past fall it attracted over 7000 SFDC users. During his keynote presentation, Marc Benioff announced some of the new features in the upcoming Winter’08 release. His presentation included screenshots of how these ideas had originated on the IdeaExchange. These were ideas that had "bubbled up" on the IdeaExchange, and very likely a many customers at the convention had even voted up some of these ideas. As the features were announced, the user group applause and excitement was electric!
The Take Away for Customers? We hear what you're asking for, and we deliver.
If you haven’t used the IdeaExchange, set some time aside to take a tour of it. Run some keyword searches on SFDC features that you use, and see the ideas SFDC users are talking about related to those features. Don't stop there ... get involved! Register your IdeaExchange community profile, and chime in with your own comments. Promote ideas that interest you. If there is a feature that you want or need, but you can’t find it with the forum search – post your idea to the user community. Salesforce.com really listens to its community base, and if the Idea reaches critical mass, you’re very likely to see it announced in an upcoming release.