Key Roles in an eCommerce Development Project
Creating the correct management roles in an eCommerce project is a critical step when embarking on a new site ( or a replacement for an existing site). If you consider that a typical retail site will contain 50,000 item numbers(skus), take 10,000 orders per day and interact with 75-100 external touch points to legacy and third-party systems, you will see how complex the project can get. The management of this complexity is a challenge, especially if no one on your team has been through this before (and only a few people have).
In the old world, when systems were simpler, a manager and a team of technical people created software. In the new world, where we now find ourselves, software is created by vendors and purchased by clients. Of course, all of this software must be gathered into a solution stack and each piece must be customized to meet the functional requirements. To achieve this, each packaged software product must be interfaced with at least one other product in the stack, and a few of them will be interfaced with 20 or more other products.
Because of this, a different set of roles must be planned and budgeted for if you want to launch this site in a reasonable amount of time (normally about 1-1.5 years):
Program Manager – Communicates with the business. Don’t underestimate the amount of time this will take. Whenever a business commits millions of dollars/Euros to a project of any size, careers are on the line. When careers are on the line, business managers want proof that they are not on a fool’s errand. This proof, in the form of project plans, status reports, prototypes, demos, etc., takes time to create and communicate. Normally, this person is also responsible for the allocation of people to teams. Beyond that, there may not be time for them to do much.
Program Architect – Draws the “big picture” of what connects with what, and how. Products stacks have a certain number of design decisions built into them. In spite of that, there will hundreds of technical decisions to be made before the stack is ready to go live. He communicates primarily with technical people, but he must be able to speak to the business and reassure them that he knows what he is doing. This person must be someone who can get a diverse group of technical people to agree on things and stay in agreement throughout the project. This person will take the bottom line responsibility for the performance of the system once it goes live.
Deployment manager – Manages the process of taking the site from “done” to “live”. A site is live when it is selling products and taking payments. Managing this process means making sure that every other group has done its part, with no gaps. It means hardware, operating systems, databases, and software products are installed. It means that load balancers are installed, backup servers are ready, network connectivity is done and firewalls are installed and configured. It also means that the correctness of the system is verified and the performance of it is validated. It also means that security certificates are procured and deployed. Finally, it means that everything must be choreographed carefully. Assign someone really good to this.
Hardware Architect – Specifies the size and number of servers, the amount of disk space, the size of the network connection, the number of load balancers, the type the disaster recovery, type of content delivery network, etc. He also creates the IP addresses and opens the firewall ports. This job is complicated by the fact that eCommerce deployments have more types of servers and communication devices than other types of systems.
Migration Manager – Coordinates the migration of data from the old systems to the new ones. This data is composed of user credentials, order history and product catalogs. Each of these sets of data is potentially quite large and often dirty. It is not uncommon to migrate 6-10 million orders in batch jobs that run for days, if not weeks. The data is rarely in the format that it needs to be in, and thus must be transformed before storing in the new system.
Development Team Leads – Coordinates the build/customization of the component software components. Each team needs to have its own leadership who understand the products being used and the business domain that it pertains to. They will direct the creation of the detailed design documents and manage the programming resources.
QA Manager – Responsible for the correctness of the system. Coordinates the creation and execution of test scripts. He validates the functionality, scalability, and performance of the finished product. He also acquires the tools and resources needed to accomplish the testing.
Integration Manager – Coordinates the creation of all of the interfaces between the products in the stack and between these products and the legacy systems. This will be a difficult job because of the variety of technologies that must be mastered to make this work.
Business Readiness Manager – Coordinates the activities that the business must complete prior to going live. Product data preparation, tax code decisions, training plans, supplier communications, support plans, etc. are the responsibility of this person. Change management is also required if the new site changes the processes significantly.
In a large site, each of these roles may have a whole staff of people to assist them. In smaller sites, these roles may each be a single individual. There is always a temptation to combine roles to reduce the headcount. Sometimes this is wise but it often indicates that the complexity of each of these tasks is not fully appreciated by senior management.



Comments
I agree that the future for smart phones is the customisation of apps. One of the key reasons the iPhone has been so successful is the ability to not only gain all types of information in the palm of your hand but have it tailored to your personal preferences or location. i.e. a weather app which tells you the weather based on your location from your GPS, or performing a search for cinemas and showing the list based on the nearest ones to the user. I think this is something that Microsoft and RIM haven't yet understood the full potential of as the number of apps is minimal in comparison to those on offer with the iPhone. I think one way for retailers to be truly progressive in the realm of smartphones is not just to focus on their mobile site, but to develop their own apps. This will be one way of providing quick and easy access to their product catalogue to customers.
Posted by: Jonathan Nobbs | June 26, 2009 09:21 AM