A poorly planned implementation generally results in an incredibly patch-worked system. Many times when someone decides to jump the gun and get things started before the full realization of a realistic plan, it falls under 1 of 2 categories.
1) Experimentation - The client is not fully sure yet of what the end goal will be, so they add this and remove that and try the other until they work out the system as they want it to be. After a full realization of the intended system and it's workings, the system is rebuilt from the ground up.
2) Plan B - Changes have occurred that were unforeseen and not prepared for in the planning of the original system. This results in very much the same thing as above. Things added and changed and removed and rearranged until you end up with a big mess, even though it may seem on the surface to be working as intended.
I would like to present you with a graphic analogy using network wiring images.
Hey let's add this and that..
Now lets remove this.. and change that over there and..
As you can see, you will quickly find that scaling becomes an issue when your system has become too patched together.
The best policy in this case is to write a new plan, integrating exactly, and only, what your end product has evolved to become. Take this new plan and build a new system from the ground up, with everything accounted for, and you are once again in a good place.