Small Projects Vs. Large Projects

 

During our work on determining the aspects of programming languages that affect the cost of a software, we came to a conclusion that these requirements varied depending upon the size of the software being developed. We then discussed the major differences between small and large projects and came up with certain characteristics which could be outlined as below:
 
 
Small Projects
Large Projects
Are usually completed by an individual or a small team They usually have large teams working on them
Typical time for development is in the order of hours to weeks They usually take months to years to complete
Emphasis is placed on "Getting it done!" Maintenance plays a bigger role in large projects because the software life cycle is long in duration
 

As we can see from the table above, small projects and large projects usually have different requirements. With the help of these requirements, we were able too identify the most important aspects of programming languages for each of them. They are listed below:
 
 
Small Projects Large Projects
Familiarity with the programming language Need to reduce Modular dependencies. For e.g.. 
  • Information Hiding
  • Inheritance
Development environment should be friendly Low Run-time costs
Code Generation Good software design
Language Simplicity Good debugging
Ease of documentation Security of the Virtual Machine
Availability of libraries Easy interfacing between the modules
Support for team-work
Language simplicity
Ease of documentation
Availability of libraries
[Note: Keep in mind that these aspects have been listed with the cost of software development and maintenance of the software at a later date in mind.]
 
 
Next page of this document (Analysis of  programming paradigms - The Object Oriented paradigm)
Previous Page of this document (Drivers of Cost)
Back to main page
 


If you have comments or suggestions, email me at hccheng@cs.iastate.edu