Refactoring
Why you don't need technically well built systems
Refactoring is the process of restructuring code to perform better without changing its external behaviour.
Very often, we do this for our systems in hopes of making it work better. Sure, it might work better technically, but beware of the hope that it will make people more likely to use your systems.
It may happen as a coincidence, but there isn't a direct correlation between usage and performance of tech for the most part. If you have a system that people see the value in and it is quick and easy enough to use, they'll not really bother with performance under the hood.
What you actually need is alignment of users to the system. If they don't get why your system is important, no amount of optimisation will help. On the other hand, people use difficult systems very enthusiastically if they understand the value of it. Excel is an excellent example of this. No kid would really open and really learn it. But as you work with it and understand the value of it, you fall in love with boxes with numbers in it, all talking to each other in formulae.
However, if refactoring the system makes it quicker & easier to use, go for it. Other valid reasons are cost cutting or laying down the foundations for stability at a bigger scale.
Apart from these, it's usually a waste of time.
Chalo