Some of the best practice,we feel in day to day usage of ODI have been presented below.
1. Provide the Developer SNPS_LOGIN_WORK.XML and SNPS_LOGIN_SECURITY.XML, rather than providing the ODI_MASTER password. This way administrator can stop developer to play with repository tables.
2. Change the supervisor password and also make another SUPERUSER (SUPERVISOR PRIVILEGE) , use them in ODIPARAMS and other place instead of SUPERVISOR.
3. The Developers have to deal with KM and so there are higher chances of corruption, in order to be more consistent, make the copy of the default KM and associate project names to , say for example if your project name is XMT so the IKM Sql control Append will be ‘ IKM Sqlcontrol Append_XMT ‘ and also provide the Date and administrator name who created them in KM . Also store them in a separate area , so that no developer can replace it by mistake .If they need to change the code , they can do on a duplicate and once approved, bring in the code into the default one. This way KM consistency is maintained.
4. Don’t import all the KM , only import as required.
5. Have Single Development Work Repository and Execution Work Repository for Testing, UAT and Production system. In case if two Development Work Repository is required make sure the codes are intact. As we have seen as time near UAT and Production , the Testing Development Work Repository acts like Main source of development . In such a case move the codes to Source Development Box.
6. Add a Sentence or two in Description for each objects ( Eg – Variable , Interface etc ) so that in future if some other developer looks at the Code or some time when we need to debug the codes we have developed few weeks or months ago, it can have a better understanding of the relationship and usage of the object.
7. Use Memo to track missing action item or important points to other Developers. Say for ex – In Interface the column ‘ emp_desc ‘ needs to be mapped or other such pending or to be updated action items.
8. Use Global variables only when being used by multiple Projects or Multiple Developer.
9. ODI Procedure needs to be Context Independent .