We all make mistakes. I made some too. Reflecting on those mistakes has helped me correct them in the long run.
Here are some mistakes that resulted in completely ineffective training programs:
1. Ignoring the big picture: It's important to consider the actual learning environment in which the training will be deployed. "The customer did not share the details" is the common excuse we hear. There's always an opportunity to ask, except that it has to be done at the right time, which is usually the beginning of the project.
2. Letting SME(s) guide the development: SMEs are content experts, but "we" are instructional designers. Orienting SMEs in the right way is our responsibility.
3. Implementing everything that the customer says: Sure, the customer is paying for the training. But, it's our responsibility to make it effective. Most customers are not instructional designers. Educating them in the right way helps achieve a win-win situation.
4. Leaving the design to media/construction teams to implement: Support teams are there to support us, but "we" are the owners. No matter how detailed instructions we write, we need to get involved in the entire life cycle to get our vision translated to the final product.
5. Adding complexities to make it "different": In an effort make our courses different or provide something new, we often end up making things complicated. We add elements to UI to make it look "different", and the same elements make it difficult for the learner to navigate. We add unwanted features to make the instructional strategy different, and the same features make comprehension difficult. Keep it Simple. That's the key.