Application Service Providers Or Consultants? 10
ChosenOne asks: "I'm working for a company that is currently at a crossroads on how to implement their Web site. They have a clear concept of what they want, but they are trying to figure out who will do it. It's boiling down to two main contenders: an ASP, which has a suite of services that is not exactly like (but similar to) the design specs for the concept, and a consulting group, which can code exactly to the design specs that we set for them. My company is nervous about using the consultants; they're afraid of ballooning costs. I'm afraid we'll want something that the ASP we'd be using can't provide. Anyone have any ideas?"
Not enough information (Score:3)
If you want a useful answer, you have to tell us a lot more. Start with your company's experience and resources. Have you managed outsourced development before? Do you have developers in-house to manage and check their work? Do you have experience in hosting and managing the application if you outsource development?
Then tell us about your business plan and goals. Which set of risks would be worse for your business if the worst happens? How much change do you expect in your requirements? (It's rare that the requirements at the start of the project are the same at the end.) How do you guarantee that once you have v1.0 that you can move to v1.1 and v2.0 without starting from scratch? How likely are your future needs likely to diverge from the ASP's main market?
Then tell us about the different vendors. What kind of reputations to they have? What kind of guarantees will they be willing to make? What are their portfolios like? If they screw up, do they have the resources needed to do it over for free? Will they let you talk to a client where they've done that? If a vendor goes bad, what plans do you have to migrate your clients and your data to a new system?
It sounds like you already broadly know the risks and potential rewards of the two paths; the right choice depends entirely on the details. And if you don't want to give the details to the public, than maybe you should (ahem) hire some of us to help you sort it out.
Beware the consulting morons. (Score:2)
had the same problem. (Score:2)
Consultants: bad. In-house: good. (Score:1)
Viant left in disgrace, and the product management idiots who brought them in are now looking for work.
Bringing in an ASP is another option, I guess, but seems to have the same problems that I saw with Viant: if something is crucial to the success of your company (does that describe your web site?) then you had better do it in-house. No one else will understand your goals well enough, or care about it enough. You can farm out pieces of it, e.g. some of the graphics, certainly the hosting, but it's a mistake to farm out the whole thing. And don't forget, once it's done, you'll want to change it. Your consultants will have moved on. You are going to understand better than anyone else what needs to be done.
PLEASE tell me you're not serious! (Score:1)
Writing HTML by hand is MUCH quicker and the result is MUCH higher quality.
OK, that was FP 97. Maybe they've fixed one or more of these problems, but knowing MS, I doubt it.
Depends on your ability to oversea it... (Score:3)
Ironically, I'm now trying to get a consulting firm up, and we'd never do a mess like those guys. Still, consultants are risky.
ASPs are also risky, with the market today, check their financials, wouldn't want them to go under in 6 months with no warning (happened to a friend's company with their DSL provider... had 7 lines going to go dead in 2 weeks with 6 weeks to get them switched to a new company).
If you can monitor an ASP, terrific. If you can manage the consultants, terrific. Otherwise, make sure you go with a trustworthy group using standard technology that you can check up on regularly, and if need be take over the project midway.
Good luck,
Alex
Re:PLEASE tell me you're not serious! (Score:1)
Re:Consultants: bad. In-house: good. (Score:2)
Facinating! (Hey moderators! Moderate the AC post up so others can see the whole thing.) This sounds a lot like Verde.com's experience with sound-alike consulting shop Scient, at least as told in the article How Scient helped Verde.com go from launch to bankruptcy in less than 60 days [soundbitten.com]. And everybody there had to remain anonymous, too.
I broadly agree that putting somebody else in charge of the very heart of your business is a dangerous thing, and I generally discourage it. But people can also tell in-house development disaster stories, so that's no silver bullet. Indeed, I've seen projects fail because management couldn't resist meddling in in-house projects. An external vendor has more power to deflect or channel insane client demands; that power can be very beneficial to a project if used wisely.
One important distinguishing factor is whether or not you have a lot of ongoing development needs. Some projects have a huge amount of inital work and then a much smaller amount of ongoing work; it doesn't make sense to build up a big in-house staff, get them to work as a team, train them to your needs, and then fire half of them when the project is done.
On the other hand, most clients (and non-technical bosses) tend to overestimate the need for a big initial push and underestimate the need for ongoing work. As any developer knows, what people initially imagine they want and what they actually end up wanting once they've been through several iterations of development are usually pretty different. And if you're doing a web site or other Internet-delivered service, you can usually roll new features out gradually, further reducing the need for a huge initial dollop of work. So if your project can use an evolutionary delivery model building an in-house staff can make a lotta sense.
For people interested in these topics, I recommend Steve McConnell [construx.com]'s Software Project Survival Guide [construx.com]. And if you're a developer, project manager, or somebody else actually working on a project, his Rapid Development [construx.com] is also great. And hey! I hadn't seen this before, but he wrote a magazine article on Managing Outsourced Projects [construx.com].
Core Business? (Score:2)
If, on the other hand, the capability you are trying to build is ancilliary to your core business, or it is part of the infrastructure that supports your core business, then consultants are great (note I said consultants, not contractors), provided you have a clear idea of what you want to do, and what you expect them to deliver. If you approach a consulting firm with a nebulous idea, you will only get something nebulous in return, and the costs will skyrocket. Also, my advice is to go with larger established firms, as they have a rigorous hiring procedure that ensures at least a minimum level of capability. They are more expensive, but in my experience they are much more likely to deliver a quality product on time and within budget. Certainly there are some smaller firms that are outstanding, but it's difficult to know what you're getting until after the fact. I've been in enough situations of having to come in and clean up after the inexpensive small firm toitally botched it. This is especially the case when the project is large and/or involves a lot of integration with third parties and legacy systems.
ASPs are great if your requirements mesh nicely with what they provide. Again, this only applies if this is not a core part of your business. Using an ASP to support less critical capabilities can help free up your resources to focus on your core business (but if your core business *is* the piece you are thinking of outsourcing, then again you need to ask yourself if you're headed in the right direction).
-Vercingetorix
solution (Score:1)