Depending on the context, either: * A large-scale system (especially a distributed one), with zillions of requirements/user stories, and very complicated implementations (tens of millions of lines of code or more). * A large ShrinkWrapApplication, where tons of functionality is rolled up into one executable/binary image. Many expression the opinion that LargeApplication''''''s shouldn't be written; usually that statement refers to the second meaning of the term. (A huge monolithic application ought to be ReFactor''''''ed into constituent parts, which might be re-used elsewhere, and tested independently). Which is generally a good idea. (This observation refers to how an application/system is packaged/developed at the ''source'' level; not how it's deployed. In many cases, it's more convenient to deliver to end-users one thing containing all the requried functionality--not the constituent modules. One doesn't go down to the auto dealership and buy an engine, a transmission, four tires, fenders, floormats, and a bag of bolts--one buys a ''car'', competely assembled and ready to drive off the lot.) The first definition cannot be avoided--some systems are inherently large and complex (airline reservation systems are a canonical example); their development is a continuing challenge, both from a technical and management perspective.