Friday, June 30, 2006

Top tips for building an application

My top tips for building an application are as follows:

1. Understand salesforce
When we started building our integration with Salesforce (almost 18 months ago now) we didn't really know salesforce that well. I think this held us back. Really understanding how people use salesforce on a day to day basis, the features people like and dislike, and the preferred methods of operating can all impact the way you build your integration and its ongoing success.

Bear in mind too, that when you come in to contact with salesforce users these, in the main, will not be system administrators but marketing users and sales users. In a majority of cases these people will not fully understand the concepts and differences between custom objects, related lists and custom links etc... You need to understand them, understand their impact to an organisation in terms of customisation and also be able to explain them.

2. Do what you know
I have seen several AppExchange packages that have clearly been built by organisations who have no knowledge of the subject domain. I think this is a huge mistake. Firstly, it means that you build the wrong solution. Second, it means that you are likely to force salesforce in to places it's just not flexible or powerful enough to go in to. As good as it is, I really don't believe it's suitable for every solution. My recommendation to anyone building an AppExchange product is build something you know. Build something your organisation is a specialist in. This not only means that you will build a strong product but, when combined with a knowledge of salesforce, means you will understand enough about how deploy your product to meet different organisations' requirements.

3. Be a leader not a follower
I view the AppExchange as a bit like the wild west. Everyone is rushing around trying to gain first mover advantage and grab customers. What's interesting is that I see companies quickly adding packages to areas where there are already established solutions where I see masses of opportunity in areas that haven't been touched yet. Organisations considering AppExchange implementations should surely be looking for the killer app in new areas.

As an example, a native accouting solution and a native HR management tool are two applications that I am amazed no-one has added yet. I can see salesforce adding their own PeopleSoft equivalent soon but there is still the opportunity for someone else to get their first. Also, there are a mass of inadequate accounting packages for SMBs out there and I can see a native salesforce accounts app winning a lot of business amongst the salesforce customer base.

4. Find a friendly user
The final top tip in the build phase is to find a friendly user. I know, this is fairly basic stuff for I.T. projects but I am amazed at the number of people I speak to who launch AppExchange packages without ever showing them or getting any feedback from salesforce users and customers. Give the integration away if you have to - the feedback you get will be invaluable.

No comments: