Incremental Development Model
Incremental Development Model
• Evolving the software through several versions until the required system has been
developed
Plan Driven
• Agile
• The amount of analysis and documentation that has to be redone is much less than is
required with the waterfall model.
• It is easier to get customer feedback on the development work that has been done.
• Customers can comment on demonstrations of the software and see how much has been
implemented.
• More rapid delivery and deployment of useful software to the customer is possible.
• Customers are able to use and gain value from the software earlier than is possible with a
waterfall process.
The process is not visible. • Managers need regular deliverables to measure progress. If systems are
developed quickly, it is not cost-effective to produce documents that reflect every version of the
system.
System structure tends to degrade as new increments are added. • Unless time and money is spent
on refactoring to improve the software, regular change tends to corrupt its structure. Incorporating
further software changes becomes increasingly difficult and costly.
• Since 2000, software development processes that focus on the reuse of existing software have
become widely used.
• Similar code
• Component reuse – This may reuse Components of an application. For example, a messaging
system developed as part of a social media system may reuse in an online shopping service.
• Objects and functions reuse – Software components that implement a single function, or an
object class, can reuse. There are a lot of freely available libraries of functions and classes.
Developers can reuse those libraries for newly developed application code.
1.To identify components of old system that are most suitable for reuse.
Strengths
Weaknesses
May increase complexity Reuse-oriented model is not always worked as a practice in its true form.
Compromises in requirements may lead to a system that does not fulfill requirement of user.
Sometimes using old system component, that is not compatible with new version of component, this
may lead to an impact on system evolution.