Two prominent models followed by us are Waterfall Model and Agile Model.
Agile Model
Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams
Agile methods generally promote a project management process that encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self-organization and accountability, a set of engineering best practices that allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals.
Some of the principles behind the Agile Manifesto
Customer satisfaction by rapid, continuous delivery of useful software
Working software is delivered frequently (weeks rather than months)
Working software is the principal measure of progress
Even late changes in requirements are welcomed
Close, daily cooperation between business people and developers
Face-to-face conversation is the best form of communication
Projects are built around motivated individuals, who should be trusted
Continuous attention to technical excellence and good design
Simplicity
Self-organizing teams
Regular adaptation to changing circumstances
Waterfall Model
The waterfall model is a sequential software development process, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, Analysis, Design (validation), Construction, Testing and maintenance.There are no overlaps of phases in this model. Also, the entire scope of the project is addressed at each phase.
We strictly follow the below guidelines in Waterfall development Model:
Review and Baseline the requirement document before the design phase.
Review and Baseline the design document before the coding phase.
Review and Baseline the code before the Testing phase.
Review and Baseline the Test Plans before the testing phase.