SDLC Model and Methodologies
SDLC Model: Software development life cycle model, it describes the all phases involved in different stages. To make a project success, the project requires a right SDLC model according to the requirement of the project. SDLC models are used for better deliver of project.
SDLC Methodologies: The Software methodology is where it uses the structure, plan, and control the process of developing an information system as in a software model.
Main difference in model and methodology: The model is a whole process of simplified SDLC so that it is understand very easy. The methodology uses the model structure and plan to develop the software.
There are five different SDLC methodologies that can be used to deliver the project.
They are 1. Water fall model
- Iterative model
- spiral model
- Agile – scrum model
- Water Fall Model: In water fall model the project flows phase by phase in a sequential order. This means, the phase will start when the previous phase is completed.
The phases involved in waterfall model are Requirements gathering, design, development,
Testing and release.
|· It is easy to understand for users||· It is difficult to go back the previous stage once it is done with that stage|
|· Phases and tasks are well defined||· It Is costly and more time required|
|· Each phase has to deliver specific artifacts||· Requirements are frozen, difficult to accept the new requirements|
- V – Shape Model: It is similar to water fall model, but after implementation(development) phase the flow goes upwards where whole looks like v shape. The difference between Water fall and V-shape model is the test planning is done in early stages.
|· It is Simple and easy to use||· It is costly and time required is more, but compared to water fall the time required is less because the testing I started in early stages|
|· The Verification and Validation is done in early stages of product development||· Adjusting the new requirement in middle phases is difficult|
|· Each phase has specific deliverables||· This is inflexible as water fall model|
- Iterative Model: In Iterative and incremental model there is no need of complete requirements before the project start. The project starts with requirements what they have, it goes as waterfall model as phase by phase till testing phase. After first iterative testing, the second iterative will start from analysis again before sending the first iterative to live. It continues as a mini waterfall model or mini V-shape model till all iterations are finished. After all iterations are finished then whole project goes to release.
|· More focused on customer value than the approach||· It requires Heavy documentation|
|· It gives some business value early in the development||· Iterating the functions might be problem|
|· In this model it can accommodate the new requirements in next iterative||· It requires more customer involvement than the linear approach|
- Spiral Model: The spiral model has four phases planning, risk analysis, engineering and evaluation. The project passes through these phases repeatedly
Planning: Requirements are gathered in planning stage
Risk analysis: a process is started to identify risk and alternate solutions.
Engineering: software is produced in the engineering phase along with testing at the end of phase.
Evaluation: the evaluation phase allows the customer to evaluate the output of the project before the project continues to the next spiral
|· Using this model, the more risk analysis is identified||· Costly model to use|
|· Good for large critical projects||· Project success is dependent on risk analysis phase|
|· Software is produced early in the software life cycle||· Does not work for small projects|
- Agile – Scrum Model: In agile methodology after every iteration the customer can see some part of product and understand whether customer is satisfied with it or not. Here in this model complete iteration is from first stage analysis to implementation(deployment). For every iteration the time is mentioned as per the complexity of tasks, which is called a sprint. Sprint is of 2-4 weeks. In the above models, where ever the iteration is involved there the iteration is still testing stage, but in agile model the implementation is involved in every iteration.
|· Fast release of first product version||· Documentation is done in later stages|
|· Decrease the time required and face to face communication and continuous inputs from customer||· The ability and collaboration of customer to express user needs.|
|· The result is high quality software in the least possible time and cost||· New requirements may conflict with existing architecture.|
Could please differentiate the Fish Model and V Model.
Fish Model and V-model
V-Model: V-Model methodology is also known as Verification and Validation model.
Verification: Checking the whether building right system, done by QA
Validation: Checking whether building system Right, done by QC
SO, As this model delivers the most accurate quality because of involving testing.In V Model the Testing activities will be started at the early stage of the Life Cycle which are done parallelly. The Validation Team/Testing Team participated in the requirement phase where they will analyze the requirements whether it is possible to develop and test or not. Once the SRS document is done, the Validation team will prepare the Test Plan.
Based on the Analysis and Design Phases, the Validation team will prepare System Test Plan and Design Plan. Once the Coding is completed, the build will be released to the Testing team, where they will perform Module Level Testing, Integration Level Testing, UATs.
1.) The Testing Activities are starting at the early stages of life cycle, so we can ensure for quality.
2.) The risk can be analyzed at the early stage of the life cycle and it can be prevented.
1.) It is Time consuming and Costly process
Fish Model: This model is also involved in Verification and validation phases. It is almost as V-model but fish model is more time consuming and more cost than v-model. Organization prefer fish model only when there are no ambiguities from customer requirements.
Very good explanation about model and methodologies,
Explanation of all models also good