views:

41

answers:

3

I'm writing a web app, initially meant to be stand-alone--it's essentially a survey with user-management/authentication built on Codeigniter. The company I'm doing this for wants to merge it with their main system so that it acts like a feature, or a sub-app of their website.

What is the best thing for me to do? I think I could do one of two things:

  1. Finish my application, as I had planned to initially, and let them handle the merging.It would probably save me a headache.
  2. Stop where I am in development, and migrate my authentication system to theirs, migrate the payment system to use theirs, and then finish the app.

In your opinion, or experience, what is the best thing to do?

A: 

TheVersion1.0Paradox

Finish what you have done and release it as soon as you can, so you have something to show and calm down stakeholders (first version always hurts, don't worry about).

See this great post from Jeff Atwood: version-1-sucks-but-ship-it-anyway

Then focus your efforts in systems integration.

SDReyes
A: 

Sounds like more billable hours to me. What do they want? Many times clients will say things, but they don't know the cost.

You should tell them, yes I can do this but it will take x hours or x dollars above the original estimate.

I would bill them to finish the current features and in addition to the merge. Even if you decide to stop and migrate now you will have your bases covered, monetarily and expectation wise.

Money is the best headache medicine.

Byron Whitlock
A: 

I sure hope that you informed the client beforehand that you were developing this in CI. Don't get me wrong - I love CI. But I find several things disturbing about this situation:

  • you know nothing about the client's main system other than that "it's PHP"
  • you seem never to have considered the possibility that this very situation would arise - that the client would want to integrate your product with their core system
  • that you could possibly think it acceptable to use different payment and authentication systems than those already used by the client

That said - and assuming that the integration request came well after development was already underway - this is what is known as Scope Creep.

What you should do is discuss this with the client. Inform them of the progress you have made and how long it will take to finish the project as originally specified. Inform the client that changes will have to be made as you have outlined above, as well as the level of effort required to make those changes.

It's the client's decision to make, not yours.

coolgeek
*My client recently changed providers, which is why their system language is unclear.*I didn't consider this situation because this was originally supposed to be a stand-alone project, but they liked it enough to want to include it in their main package.Coolgeek, your answer is appreciated, but you have a highfalutin tone that is hardly constructive.
Kevin Brown