@skpatel20,

> If we can't estimate till the AS IS, TO BE and project plan is made, we can't 
> quote the client. But after one or two meetings, the client will expect a 
> quote and we will expect the order to be closed before we put further effort. 


Sure, this is a common issue.

The way we work around this is: first we try to work with "ERP aware" 
customers. Our best customers are the one that already know the real price of a 
proprietary ERP, otherwise they will tend to highly underestimate the work 
required so we would never make it. The customers who compare an OpenERP 
implementation with Mantis, PhpBB or Drupal are the wrong ones, better not 
fooling you in accepting their deal because they aren't going to make it for 
those prices (or you aren't yourself).

Then we try to sale a prototype stage were we have no really fixed goals except 
we are committed to do our best to convince we code fast and efficiently (e.g. 
they won't misuse their money) and also collect the real requirements so that 
we could make a quote after that stage eventually. 

That prototype stage might be as long as 1/4 of the overall project. The 
longer, the cheaper for the customer (because we then work with trust which is 
way cheaper than loosing time over contractualizing more or less obvious things 
and making wrong choice since the beginning because we had to make choice 
before really knowing). Of course the drawback is that the customer has to 
trust you, that might depend on your skills, your company website (go to hell 
Tiny ;-), your previous success stories.

Unlike 90% of the other ERP's, OpenERP has a rather fantastic code productivity 
for experienced programmers. We can afford that because OpenERP is somewhat 
similar to Ruby on Rails coding: it's efficient: so we can always show were the 
new features are some hours latter to our customer so that's why prototyping 
works with OpenERP. I wouldn't try prototyping with Compiere or SAP, because I 
don't think my customer would be satisfied with how little I did alone in one 
day, so instead of convincing him that would scare him.

And since prototyping is rather efficient with OpenERP, the same guy (must be a 
coding rock star however) can afford being both the prototype coder and the 
functional consultant, thus cutting down the costs even more: no need to make 
too much friction in over communicating with ambiguous languages between team 
workers at early stages. Of course all the polish after the prototype can 
eventually be done by some average skilled coder + some less skilled functional 
consultant.


The less the customer trust you, the shorter should be that prototype stage and 
hence, the more expensive it will be for him, that's for sure. But we can't 
really help it, can we?

In some extreme situation were no trust pre-exists, I think we can still make a 
quote since the very beginning of the project, but in my opinion we would have 
to:
* know more or less the kind of business our customer is doing and know already 
how good is OpenERP at doing it natively.
* Nonetheless, before closing such a deal with huge uncertainties about the 
real needs, the real native ability of OpenERP at addressing those needs, I 
guess we would have to at least double our ideal estimated price and that's 
what the customer would have to sign and pay. I mean that's the price of the 
risk. Some ERP implementation can really be 3 times the estimated, and that's 
with a good open source one...


One thing we might notice is that given OpenERP would typically lead to a 30% 
cheaper to a 4 times cheaper ERP implementation, so doubling that ideal price 
to work around the lack of trust might cost your a lot of opportunities were 
the quote would then be more expensive than a proprietary offer.

Also note that proprietary ERP integrators typically take less risk because 
their product is more verticalized already with more features out of the box, 
meaning they can even cut the costs (and they do it), they will simply not make 
enough money from the deal, but unlike open source integrators relying 100% on 
man power, they wont risk to LOOSE money. Large proprietary integrators also 
take less risk because they can afford loosing sometimes given that have a huge 
mass and they also have good lawyers when needed...

So overall my take on this is: there is lot's of OpenERP demand, only bother to 
deal with customers who are ready to assume some risk and accept some prototype 
stage. Let the others to the proprietary market or the SaaS market as it fit 
better their needs. The more success stories you'll have, the more your 
customers will trust you for some prototype and you might enter some virtuous 
circle.


Also one final remark: there isn't some magical formula with x new_modules * y 
= z the price. Some things that seems really obvious, like keep invoice lines 
grouped even if the lines were separated during the shipping for tracking 
purposes for instance, are not so trivial to get right, and some good coder 
should spend some time discovering what exactly should be done (even if the 
solution might be only 30 lines in a module).

The more modules the better because it states what depends on what and cut down 
a big issue in small reusable and easily testable and migrable bits. We 
typically tend to code some 10 modules per customer, it doesn't has to be more 
expensive because we do it right. We so bad integrations mixing everything in 
blotaed non testable/migrable modules, those bad practices shouldn't be given 
incentives. And we shouldn't be afraid be modules since trivial modules can 
dramatically improve the ergonomy at no cost.


What ultimately counts are:
* what is the complexity of the extra features:
   * are they only view customization? (basic)
   * only report customization ?
   * only simple data model extensions + visualization layers?
   * overriding of native behavior, then:
      * how many methods should be overridden?
      * how easy is is to track what should be overriden?
      * are all the methods okay to override or are there some tricky methods 
that can't be dealt with a super call and should be duplicated leading to sub 
optimal code evolution?
      * should that overrided logic take new objects into accounts? Then how 
hard it is to make the GUI behave nicely with that extended/specialized model 
(for instance overriding stock.location and providing sometimes a custom view 
of that extended object is NOT trivial, while extending it into a new object 
with its own views IS trivial...)

So I mean the devil lies in details, much more than in the raw listing of the 
features.


Hope this helps,

Raphaël Valyi.

------------------------
http://www.smile.fr




-------------------- m2f --------------------

--
http://www.openerp.com/forum/viewtopic.php?p=28065#28065

-------------------- m2f --------------------


_______________________________________________
Tinyerp-users mailing list
http://tiny.be/mailman/listinfo/tinyerp-users

Reply via email to