In the environments I have worked in, new development is green field work where there no existing system in the target software platform. This may be a reimplementation of an existing system, or development of a new system. The scope of new development is usually quite large. Examples:
- Writing a time and billing system to replace an existing platform. This was a replacement for a system running on obsolete hardware in a language not available on the new hardware. (Significant enhancements were possible due to changes in languages and technology.)
- Implementing an OCR form processing system. This was to automate the capture of data which was being manually captured.
A new feature is an addition to an existing system. The scope of new feature work varies significantly. It may be as simple as adding a new field or button to a form, or require extensive modification to a system to add significant new capabilities. Examples:
- Adding a new statistic to a data analysis report.
- Adding selective inactive data archiving to a system where activity occurred in many tables and all related data was to be archived.
There are some activities that may be fit both categories such as adding a new report to an existing system. This may be new development as the code doesn't exist, but adds a new feature to an existing system. I would consider this a case where a new feature results in new development.
These categories exclude corrective actions (bug fixes). Some bug fixes may require the addition of a new feature, or in some cases removal of an existing feature. In this case, a corrective action results in a new feature.