CLASSIFICATION OF SOFTWARE PROJECTS - Murali K. Chemuturi - Software Estimation Best Practices, Tools & Techniques_ A Complete Guide for Software Project Estimators (2009, J. Ross Publishing)

There are five classes of software projects, several of which are divided into subclasses:

  1. Projects based on the software development life cycle: 
    1. a. Full life cycle projects 
    2. Partial life cycle projects 
  2.  Projects based on how a software solution is arrived at: 
    1. Fresh development of the entire software from scratch 
    2. Software implementation and customization of a COTS product 
    3. Porting of software 
    4. Migration of software 
    5. Conversion of existing software to suit changed conditions, such as Y2K and euro conversion projects 
  3. Software maintenance projects.
    1. Defect fixing
    2. Operational support 
    3. Fixing odd behavior 
    4. Software modification 
    5. Functional expansion 
  4.  Agile software development projects 
  5.  Web projects