Quali sono i tipi di progetti software?

Questa è una domanda molto confusa, in quanto non dice a cosa si riferisce "tipi", ma lasciatemi provare a dare una risposta.

Il tipo può essere la dimensione:

  1. Progetti personali dove la stessa persona fa da tester, sviluppatore, project manager, architetto, ... 
  2. Small projects with up to 8-10 people 
  3. Medium projects with a few dozens of project members 
  4. Large projects with up to several hundred project member 

Type may be the kind of solution domain being covered:

  1. Enterprise development mostly covering servers and client applications 
  2. System development where whole system that include several disciplines such as embedded hardware, mechatronics, software engineering 
  3. Embedded development where the main focus is on software included in hardware products 
  4. Mobile software development which focuses on software for mobile devices 
  5. Game development where the goal is to develop a graphics/audio-packed game 
  6. Desktop app development where a desktop app is being developed 
  7. Framework/Library development where a supporting library/framework is being developed 
  8. Web development with focus on developing web sites and client apps 

Actually, ci può essere anche un mix di tipi di progetto come Internet of Things (Enterprise+System+Embedded+Mobile). Un progetto può anche coprire uno strato di uno stack o comprendere un progetto di sviluppo Full-Stack. Inoltre, lo sviluppo Enterprise può consistere in Cloud Computing, Microservices, tra le altre sfaccettature.

Tipo può essere il tipo di dominio problematico che il progetto affronta come E-Government, Healthcare, Industry 4.0, Utilities, Manufacturing, ...

Tipo può essere il processo di sviluppo utilizzato come Waterfall, Scrum, SAFe, X-Model, V-Model.

Tipo può essere la struttura dei prodotti da sviluppare in termini di riutilizzo come Product Line Engineering, Ecosystem, Single Application.

Type may be the kind of artifacts being developed:

  1. Product development where a product is developed that is sold to multiple customers 
  2. Solution development where a single solution for a specific customer is being created 

We may also differentiate between projects that just intend to experiment by providing a feasibility prototype and projects that develop software that is eventually used in a productive means.

Inutile dire che tutte queste diverse interpretazioni dei "tipi" possono essere combinate tra loro. Non sono esclusive.

E ovviamente, anche la mia categorizzazione non è di gran lunga completa.