In this blog, I will be writing down some of my AppExchange development checklists while developing an application for various. AppExchange is the Salesforce center on which one can launch their salesforce Application. Appexchange is the hub of thousands of application where Salesforce users can reach out to various paid and free applications as per their need. Appexchange helps more than 2000 Independent Software Vendors (ISVs) to reach more that 120,000 Salesforce.com customers are offering applications that either extend Salesforce.com CRM functionality or provide a solution entirely different from Salesforce CRM. While developing an Application in Salesforce, I have always used the following checklist.
- Brainstorming an application idea: The app idea which is fresh and new on the platform and had some excellent features which will enhance the user experience or Salesforce as a CRM
- Background study: Make sure that you are not reinventing the wheel. Appexchange is already hosting several apps and has many applications with repetitive ideas. Applications trying to do the same thing in a better way is still appreciated but do make sure that your application is way better than the existing solutions. Believing in yourself is good but it’s always great to have a round of random feedback on the Application ideas before you plan to develop them. Paid or Free should be a decision which cannot be easily taken by small vendors since releasing a Paid application on Appexchange may need initial cost/fee of $2700. You can always come up with a free basic version initially and then once your application is hit then a more complicated and Paid version.
- User Scenario: Make sure that all the User scenarios are very well thought of and do not leave any loose ends. When the purpose of the application is defined clearly still, there may be a chance when some scenarios may not have thought of clearly.
- Salesforce Editions: Applications published on Appexchange can be easily installed on Developer Edition, Unlimited edition, Enterprise edition. An application when being developed needs to be very certain that on which of the Salesforce flavors(Editions) it can be installed. Developing an application for profession edition may require an extra step of creating Aloha app and testing them in Profession Edition before release.
- Plan the Development: Several small size utility tool type application can be designed straight from the idea and may not need a development plan but the applications having some wizard of pages may require a phase wise release cycle.
- Configuration: Make sure which all features in the application can configurable and which can be fixed is a tricky decision. Think to wear a User hat. Making your application configurable will need Application configuration page or set of Custom settings being defined by Administrator.
- Develop: While developing applications in Salesforce a developer will need the same set of Do’s and Don’ts as in ideal Salesforce developing phase. Code should be refactored, and peer review should be done and need to follow the best practices in Salesforce.
- Dirty Code: Make sure your application is doing only those stuff which it is supposed to do. While writing triggers, extra care should be taken that the business logic is being executed only when certain is coming in place. Nowhere any piece of code should be left which does not have a collective purpose.
- Basic Testing: can be done in the development org itself. Salesforce will request developers to have a separate developer org designated for testing. Make sure that no matter how complicated a Salesforce Org can be configured but still your application will not get affected.
- Aloha App Testing: Applications can be installed and tested on profession edition once it is Aloha enabled. To get your application Aloha enabled you will have to submit a request for your Salesforce partner license.
- Rigorous Testing: Make sure all the testing best practices were followed while testing the application. Triggers must be tested for bulkification, and Web services must be tested for heavy usage, Visual force pages, etc. all the features and components in the package must be tested in a detailed fashion.
- Submit for Checkmarx: Security review is a must for all the applications to be published in AppExchange. Checkmark makes sure that best practices in coding conventions are being followed.
- Submit for App Review: Always submit for App Review when you are sure that your application is bug-free and you have all the explanations to defend the functionalities of your app. It is a lengthy process and might take 6-8 weeks. So do test the application end to end before submitting for review.
- Relax: Now you have 8 weeks to work on something else.
- Content: To publish an application on AppExchange one must have the Application Logo created in various resolution, Banners, Screenshots, User installation guide, Application User guide, brief description, etc. These all content will be read and observed by your end users who will install your application from Appexchange so make sure they are attractive have precise and clear information.
Many times it may be required that your application will need some tweaks and maintenance. Once some of the necessary change requests are submitted by various app reviews and user experience then it’s always good to develop them and let the users know about it in advance. Communication is essential when you are connecting with end users. Make sure that a new release should always be better than the old one.