views:

67

answers:

2

Let's say your company has no consistent way of accessing a 3rd party component. You want wrap the component into a centralized web service for everyone to start being consistent; however, have been told that the initiative is already started (awesome!). Later you find out that while the service is done, it won't be released until it has been added to a new utility framework that is also being developed.

A friend of mine talked to me about a scenario similar to this and I figured I'd ask the question. In one hand, you have a short term win (assuming there's an immediate need) to start building consistency by accessing the web service instead of doing another copy of the 3rd party component. On the other, it would have to be changed, or at least maintained, in a way different than the consistency that the final goal advocates.

Is it better, in your opinion, to do a short term win by releasing the service separately? Or is it better to continue to hold onto the service until the final goal is implemented (assuming it's on time but won't be ready for another month or two for argument sake)?

+3  A: 

I'd go for the early win - done carefully.

Talk to the guys implementing the component and see if they can give you an early cut of it so you can begin your transition.

If no then I would get their API from them (which presumably they will be OK publishing if they have already started - you assume the risk of late-breaking changes) and wrap the component in a web service with the new API.

That way you mitigate some of the later challenges but get all the upside of the early consistency win.

You may even find that you can help them out by testing their API for them in the process, which could be good early feedback that their upcoming framework release is going to match your requirements.

Simon
A: 

The entire point of a service is that it can be released independently of other projects.

Yes, it may be included with other services to form a complete picture, but if it can't stand on it's own then it shouldn't be a service to begin with.

So, release early, release often.

Chris Lively