Developing a product that will be delivered as a service poses some unique challenges. In particular, capacity planning becomes more challenging, and downtime is intolerable. With a Web-delivered service, the user base is the sum total of all the employees of all the companies that sign up for the service. If an ASP signs up 100 mid-market customers, and each has 1,500 users, it needs to be able to support 150,000 users. That requires more than mid-market infrastructure.
Many companies share the same open enrollment period.
As a result, the service expects extremely heavy loads one or two months of the year and fairly modest loads during the rest of the time. Also, a certain amount of application complexity is added by the delivery of software as a service. A vendor selling a human resources product to a mid-sized company could impose the restriction that an employee must work for a single company and would not have to support transferring the employee between companies. As a service, the ability to share an employee across multiple companies becomes a requirement, as is the expectation that an employee should be transferable from one customer company to another without reentering data or losing job history or skill information. Among the most significant changes in software development are an emphasis on short delivery cycles and the expectation of extremely large user populations brought about by near universal access over the Web.