Missing some details during complex Magento projects analyzes and estimation may cost developers too much money and headache. While a client is trying to provide all details about his future eCommerce website, there are a lot of hidden issues that may be missed and underestimated. Client just don’t think about these details at the beginning, but still will expect that this stuff will be provided by default because it’s “obvious”, but developer forgot to include these features to the scope during analyses. Usually, it leads to the situation when the project is out of time and budget and nobody is happy.
Here is a list of such hidden issues that worth to be taken into account in advance to avoid problems during project acceptance.
Product catalog creation. Obviously, a client already has a product catalog that are going to be sold. Is he willing to set up it himself in Magento or does he expect development company to do it? If the second, what way the data will be provided? You should consider time that you’ll need for implementation of import procedure. Sometimes it may be not so easy and requires preliminary efforts for making right data format for import.
Stores/Languages/Currencies. If a store is going to be branded for a few national markets, you probably should take care to make it available in several languages and configure various currencies. While it’s not to difficult to set up localization settings in Magento, working with translations will cost you additional time and efforts. Perfect markup made for English store will most probably require additional customization, when you will work on another language. It will take different space to place the text for the the same phrase in English, Russian and Chinese or Arabic. There are similar issues with currencies’ signs as well.
Payment and Shipping methods. First of all, you should check extensions for shipping and payment methods, that client would like to have, are available on Magento connect. It’s absolutely different tasks: to create extension yourself and to use something that has already done and available. If you are lucky and extensions are available on Magento Connect, check their cost and include to the budget if they are commercial. You should also care about their reviews: if they are bad and lots of people experienced problems — most probably you’ll have troubles as well. If there are no extensions on Magento connect you should check that the payment gateway or shipping company really provide API required for the implementation of your task.
Performance requirements. It’s reasonable to ask your client about his expectation regarding performance of eCommerce before the start of the project. You should check, if the hosting plan that client has chosen really may afford it. It’s great to get from the client at least estimated numbers for the following values:
— How many unique visitors per day does he expect?
— How many items should his catalog have?
— How many simultaneous users does he expect?
You should have solid idea how you are going to reach these numbers and to allocate reasonable time for server’s set up and performance optimization stuff.
SEO related stuff. We are talking about basic technical optimization here, but not about content optimization and keywords. Magento is one of the most search engine friendly eCommerce platforms out of the box, but there are known issues. Client who knows at least basics of SEO may be shocked by some default Magento URLs (for example, try to switch from one language to another) and most probably they will not be happy with it and will consider it as a developers’ issue. To avoid this situation discuss with client his expectation regarding technical aspects of SEO in advance and think how much time will it take you to make it work this way.
Integration with 3rd party services and systems. Client will want to integrate his new Magento store with some software that he has: ERP, CRM, Accounting, etc. It’s better to take care about this in advance and ask him before project is started. You should be sure that it’s at least possible, and client’s software has an API that may be called from Magento store in order to get some data. The integration is always not a simple project, and you should inform client about it to form right expectations.
Blog. Yes it’s simple, but it also takes time to be done. So, ask your client if he is willing to get blog and what features does he need. There is a great free extension on Magento Connect: Blog Community Edition. It’s really simple to be installed and customized. Although if client needs to have more features — you should propose hims something like WordPress and reserve more time for it’s integration with Magento store.
Orders management. It’s very valuable for every store. Magento has clear and simple orders management flow although often store has it’s own flow that may be different. Client cares about his business but not about how it’s done in Magento… So, it’s reasonable to talk with client before the project has started and to show him how the orders are been processed in Magento. If it doesn’t meet his flow you will be able to estimate how much time/efforts customization will take.
Version for mobile devices. I don’t think it’s something that may be really missed but anyway it’s better to ask client not only about browsers that should new store should be compliant with, but also about the mobile devices in which the store should work and look good. While it’s not hard to make a theme for iPhone or iPad, to make website be accessible from mobile phones is not a simple task, although doable. Visit for example
http://www.sannas.jp made by us from your mobile phone to see an example.
“Small” stuff. Do not forget about “tiny” things otherwise it may cost you strong headache. Take care about messages look and behaviour (validation, success messages, error messages, etc.). Pay attention to design of email templates and pdf documents templates (invoices, etc.) — clients are often not happy with its default look.
That’s it what I have so far. This post is targeted mostly to project managers who creates specification and requirements for Magento project. There are useful articles for developers with the same idea as well. The most useful on my oppinion is
37 Point Magento Pre-Launch Checklist.