Bill Inmon - "A warehouse is a subject-oriented, integrated, time-variant and non-volatile collection of data in support of management's decision making process" - typically associated with top-down design
Ralph Kimball - "A copy of transaction data specifically structured for query and analysis." - Typically associated with bottom-up design
ODS is a place where data is combined before load. Sometimes there are services performed off this. Typically, the data model has not changed dramatically from the original operational source systems, but it is (another) copy of the data.
EDW is an Inmon term which means that the data warehouse covers the enterprise in an integrated fashion. It is mainly used to distinguish from a data warehouse which does not cover the entire enterprise.
OnLine Transaction Processing: Typical online systems, may maintain coherent temporal history, may overwrite themselves when data is changed, usually modelled in third normal form or better, Entity-Relationship modeling.
OnLine Analytical Processing: Fast analysis of multi-dimensional data - generally refers to tools running against dimensional data warehouses because the dimensions are explicit - often precalculated "cubes" are created
There are tons of top ten lists of tips and keys to success in articles and books. I will give you my top two.
Incremental Delivery – Show successes early, win people over, prove concepts and approach
Proactively Manage Quality - Test thoroughly and automate – Testing is usually considered important, but people don’t approach it systematically. Round-trip the data, know the dimensional behavior with benchmarking, automate exception reporting and make sure false positives don’t make the warning system ignored. Get confidence by showing the tests are working. Add tests as defects are found, documenting expectations.
Again, there are plenty of online tips – every one of the best practices has a corresponding anti-practice, but these are my top two.
Avoid understanding the data, the business motivations, or the details because there are far too many feeds of data coming into the warehouse. Avoid looking ahead to how the data will be used because you shouldn’t change the ETL process to accommodate expectations or provide services.
Handle every model the same way, so the data warehouse is consistent, even if some models are awkward and difficult for users to use and difficult to change over time as the business evolves.