Keeping pace with latest versions of the development tools and the various products to be integrated, their compatibility with the previous versions and investigating all the new features for building optimal solutions for performance can be a daunting task. Also, since electronic commerce applications on the Web belong to a whole new realm, you'll likely find that there are no metrics available from similar past projects which you can refer to when trying to make reasonable time and cost estimates for developing the application. It is important to pay attention to certain areas which have the potential of becoming very complex. Designing and implementing elaborate test suites to test all the different components and aspects of the application is an example. The maintenance tasks of installing and upgrading the application can get very involved as well, as they demand expertise in database administration, Web server administration, payment server administration, and administration of any other special tools that have been integrated into the site.
Technical support is another area to keep in mind.
If the development environment and target deployment environment are different, the remote installation of the servers required for the application to run at the client site can become complex. Having a well-defined software development process goes a long way towards reducing the complexity. An incremental model for development addresses most of the issues mentioned above in successfully rolling out electronic commerce applications. The most effective way to develop an e-commerce Web site is to first set up the development environment, build a skeleton system with stub functions and then incrementally add functionality. This method facilitates early testing of the system and also helps the developers and QA engineers unearth any potential architectural issues or connectivity issues among the various products.