Object Oriented Software Engineering   View all facts   Glossary   Help
subject > process > development
Next processdynamic binding    Upprocess    Previous processdeterioration   

development comparison table
Subject force follow have benefits have risks has definition be have done using is a subtopic of is a synonym of
evolution of an existing system     more common than green field developmentthe requirements already specified 4.2 - The Starting Point for Software Projects 
green field developmentthe development team to determine the requirements for the software   Development of a completely new system, as opposed to modifying an existing system   1.6 - Software Engineering Projects 
iterative development    An approach to development by which software is developed in stages, with the first stage being very simple, and subsequent stages adding more features   11.2 - Software Process Models 
parallel development    Independent development of a system or subsystem by several developers, with the objective of exploring design space and generating a variety of different design ideas; the best ideas are generally chosen for further development  paper prototypes9.1 - The Process of Designparallel design
reusable component development the same steps as the development of complete applications: domain and requirements analysis, design, documentation, testing and inspection
  • Looking at a problem at a more general level tends to make it easier to understand: Details relevant to only certain specific cases are discarded, which leads to better abstractions and simpler structure of the resulting design
  • The very process of developing reusable components separately from their target system reduces the interconnections among parts of the system
  • Risk from an uncertain investment: Developing reusable technology takes time away from developing applications and is therefore a calculated risk
  • The so-called 'not invented here syndrome': A framework developed by one set of developers might not be used because others fear it might not be supported
  • Competition: Reusable technology might not end up being used if somebody else develops competing technology that gains wide acceptance
  • Divergence: Several development teams using the same framework may want to change it in different ways
    3.2 - Incorporating Reusability and Reuse Into Software Engineering 

Next processdynamic binding    Upprocess    Previous processdeterioration