Well, the whole field of software development is geared towards solving that problem, isn't it?
You can have something highly customizable (e.g. write a web application in some common language), or you can try to create some out-of-the-box solution that works great for certain apps but quickly becomes a mess when you try to go beyond it.
The core problem is there's a lot of complexity that's not always obvious and it has to be dealt with somehow.
You can have something highly customizable (e.g. write a web application in some common language), or you can try to create some out-of-the-box solution that works great for certain apps but quickly becomes a mess when you try to go beyond it.
The core problem is there's a lot of complexity that's not always obvious and it has to be dealt with somehow.