Enterprise applications in big corporations pose a specific set of challenges that software developers do not encounter on smaller projects.
First, enterprise applications tend to be very complex. It is not an exception for an enterprise application to have dozens to hundreds interfaces, reports, processing rules, adapters etc. The sheer numbers of the system make it very difficult to grasp.
Second, the business logic in enterprise applications can be very complex. Such applications are usually huge back end systems that provide global services to all departments of the whole enterprise.
Third, enterprise applicationy are usually very long–living. As a result, they utilize outdated technologies and patterns. Heavy–weight, monolithic application servers with strictly defined layers of logic and hardwired dependencies are difficult to deploy and to adapt.
Fourth, the enterprise IT is often very business–centric. Your stakeholders, such as business colleagues, project managers and analysts have a deep knowledge about how their business works. As a developer, you often lack the specific knowledge and have to close this gap before you can successfully work in the given line of business.
Fifth, the development models in big organizations are often unflexible. Most enterprises still utilize the waterfall model which makes adaptations difficult.
Specification: Successful Software Development in Big Corporations