Buy in by the end users is essential, so understanding their needs and wants is critical to the ultimate success. Existing data and how it will be used upon implementation and ongoing. Current applications and their relationship and degree of integration Planned expansions both local and remote Internal resources and needs for external resources both in implementation and ongoing support and administration. AND, very importantly, identify the goal for the project and a system for measuring the results. That takes care of the front-end.
Training is the back-end piece.
If you do a great Needs Analysis, implementation, and design and fail to train the end-users, you are doomed to fail. Uninformed users will create not only a burden on the support personnel, but they will ultimately conclude that the system does not work for them. The goals set forth will likely be missed. In addition to the Needs Analysis and the Training there are several other components that must be performed. Physical installation of the software on servers and remote PC's.