Development Models & Methods
Incremental model in software engineering is a one which combines the elements of waterfall model which are then applied in an iterative manner.
It basically delivers a series of releases called increments which provide progressively more functionality for the client as each increment is delivered.
In incremental model of software engineering, waterfall model is repeatedly applied in each increment. The incremental model applies linear sequences in a required pattern as calendar time passes. Each linear sequence produces an increment in the work.
If there are less number of employees to work on the project Incremental development model is very useful to complete the project before the deadline. In a project early increments can be done with less number of people. In case if the core product is well-defined and understood more employees can be added if needed in the future increments.
of the benefits of Incremental process model is that it can be planned to manage technical risks.
Agile software development is a conceptual framework for undertaking software engineering projects.
Most agile methods attempt to minimize risk by developing software in short timeboxes, called iterations, which typically last one to four weeks. Each iteration is like a miniature software project of its own, and includes all the tasks necessary to release the mini-increment of new functionality: planning, requirements analysis, design, coding, testing, and documentation. While iteration may not add enough functionality to warrant releasing the product, an agile software project intends to be capable of releasing new software at the end of every iteration. At the end of each iteration, the team reevaluates project priorities.
Agile methods emphasize realtime communication, preferably face-to-face, over written documents. Most agile teams are located in a bullpen and include all the people necessary to finish the software. At a minimum, this includes programmers and the people who define the product such as product managers, business analysts, or actual customers. The bullpen may also include testers, interface designers, technical writers, and management.
Agile methods also emphasize working software as the primary measure of progress. Combined with the preference for face-to-face communication, agile methods produce very little written documentation relative to other methods.