The Agile theory basically assumes that with modern technology it’s possible to develop sophisticated products quite quickly and that the clients’ requirements frequently change, so it’s pointless to make very detailed plans for many months ahead. Detailed plans are only made for short periods called “sprints”. A sprint lasts between a week and a month; each team decides what sprint length works for it.
A team works with a Product Owner, who decides which features are the most important to be developed in the next sprint.
The team “scores” the features using points, which is a reflection of the complexity of development work needed for this features in comparison to other features that the team already developed in the past. These “points” are used to estimate how much work can be done during the next sprint.
Advantages of Agile model
Disadvantages of Agile model
When to use Agile model
Scrum is an agile process most commonly used for product development, especially software development. Scrum is a project management framework that is applicable to any project with aggressive deadlines, complex requirements and a degree of uniqueness. In Scrum, projects move forward via a series of iterations called sprints. Each sprint is typically two to four weeks long.
The main phases of a project are Planning, Project Incremental Development, Incremental Deployment and Project Closing. The Incremental Development stage is organized into consecutive Sprints or iterations where different tasks are carried out to implement a set of requirements.
The concept is to “get something working now and perfect it later.” After each test, refactoring is done and then the same or a similar test is performed again. The process is iterated as many times as necessary until each unit is functioning according to the desired specifications.
Test-driven development can produce applications of high quality in less time than is possible with older methods. Proper implementation of TDD requires the developers and testers to accurately anticipate how the application and its features will be used in the real world.
Problems are approached in an incremental fashion and tests intended for the same unit of code must often be done many times over. The methodical nature of TDD ensures that all the units in an application have been tested for optimum functionality, both individually and in synergy with one another.
A waterfall is very simple to understand and use. In a waterfall model, each phase must be completed before the next phase can start. At the end of each phase, a review takes place to determine if the project is on the right path and whether or not the project should be continued. Here phases do not overlap with each other.
The waterfall model is a sequential design process, often used in software development processes, where progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, Analysis, Design, Construction, Testing, Production/Implementation, and Maintenance.
This model is also called as the classic life cycle model as it suggests a systematic sequential approach to software development. This one of the oldest models followed in software engineering.
Advantages of waterfall model
Disadvantages of waterfall model
When to use the waterfall model
Spiral Model is highly used in IT companies. This model involves strategies, which is a combination of incremental and prototype models. This Spiral Model is best to use for large projects which required more management and planning.
The objective of the spiral model is to emphasize management to evaluate and resolve risks in the software project. Different areas of risks in the software project are project overruns, changed requirements, loss of key project personnel, delay of necessary hardware, competition with other software developers and technological breakthroughs, which make the project obsolete.
Spiral Model’s phases are: Planning phase, Risk analysis phase, Engineering phase, Evaluation phase
Advantages of Spiral Development Model
Disadvantages of Spiral Development Model
When to use Spiral Model
For medium to high-risk projects, Long-term project commitment is unwise because of potential changes to economic priorities.