Hi Samson,
Listed below is the learning I have from the Ariba Contracts Management implementations
1. Identify the best suited process template and just tweak the best practices to suit your needs vs changing the template drastically.
2. Most likely reason for delayed/failed implementations is trying to incorporate the process that does not fit in the standard contract life-cycle.
3. Identify the activities/actions that happen inside the system and what should happen outside. Some tasks are created just for keeping track of the activity that happens outside.
4. All customizations should be looked at from all types of amendments to the contract. Each new field addition should be done judiciously.
5. The technical name of a custom field once created cannot be changed and it is passed on upto reporting schema so double check if its a "must have" before you even ask Ariba technical team to build it for you.
To your surprise they will not validate pro's and con's of what you ask them to customize, your request is their command unless something is not technically feasible they will do it. So you should own the design completely.
Wish you all the best!!
Regards
Vilas