Is there such a thing as complex application?
I like to believe that the answer is NO.
Let me draw a parallel from project timelines to explain.
Till 2007 we used to have many projects that took 9 - 12 months to release working software. Not anymore. Now, we release working software in production/staging every 100-days. No, we haven't magically shrunk a Document Management or ERP system implementation to 100-days from several months. All it means is that we've broken down the 9 or 12 month project into 3 or 4 100-day releases now. This has simplified a lot of things and resulted in successful delivery of large projects.
Can't we apply the same concept to a "complex application" we need to build and break it up into multiple simple applications/components. Many engineers in our team practice it really well and I'm learning this skill from them. Let me know if you want to join the class!