Iterative Enhancement Model
software Engineering
___
Notes
●The goal of this model is to bring together the advantages of the waterfall and
prototyping models.
●The fundamental concept is that software should be created gradually.
●The system gains some functional capabilities with each increment until the
entire system is implemented.
●Because testing in increments is probably simpler than testing the system as a
whole, as in the waterfall paradigm, it may lead to better testing.
●In addition, just like with prototyping, the increments give the customer input
that helps them decide what the system's final needs should be.
●A core product is frequently the first increment.
●While many supplemental features are still unfulfilled, the essential needs are
met.
●The client uses the main product.
●The product is updated with new features and functionality based on user
feedback, and the next version is released.
●Once the final product is ready, this process is repeated after every increment.
●The delivery of an operational product with each increment is the main goal of
this model.
ADVANTAGES
●delivers a product that meets a portion of the client's needs at each stage while
maintaining operational quality.
●One may use a relatively modest number of developers or programmers.
●After the initial build is delivered, the client can carry out productive work.
●provides a progressive introduction to the client company, thereby mitigating
the pain associated with introducing a completely new product.
●There is always a functional system.
●Customers are able to view the system and offer comments.
●Development is apparent rather than hidden in paperwork.
DISADVANTAGES
●Every new build must be integrated into the current framework in some way
without lowering the standard of the previously completed builds.
●Subsequent builds must be simple to add and manage.
●The more the current structure needs to be restructured due to unexpected
difficulties arising from subsequent builds, the more inefficient it becomes and
the lower the internal quality and maintainability.
●Clients seek to alter requirements because they perceive opportunities.
When should I use it?
●It helps with product development when specifications are provided by the
developers themselves.
●It helps if the application's fundamentals are clear and increments are simple to
specify and negotiate.
●It is helpful when manpower is not available to finish the implementation by the
project's set business deadline.
●With fewer personnel, early increments can be executed. Staff can be added to
implement the next increment if the main product is favorably received.