Increase software productivity
Shorten software development and maintenance time
Reduce duplication of effort
Move personnel, tools, and methods more easily among projects
Reduce software development and maintenance costs
Produce higher quality software products
Increase software and system dependability
a