Small enhancements can often be quickly developed by experienced staff who know the application well. Development of larger modules may require a longer process as many team members have to coordinate their activities. Development is generally carried out according to formal standards to ensure new application is maintainable. There is a lot of coordination between team members as complex application is built so all components work together properly. Alternatively, it may be more formalized for business-critical applications to minimize business consequences of errors.
Testing is generally very formal.
Application is tested to ensure it accurately reflects each point in functional specification. Integration testing of various components is also important. The small application developer usually views the large application developer as paper pushers who are unproductive because of their bureaucracy. The point is not that there is a perfect way to develop all applications. The successful small application developer and legacy application developers turns out more code or functional units per man-month.