1.2.3 Methodologies Flashcards
What are the stages of the Software Development Lifecycle (SDLC)
Feasibility: Is the problem solvable?
Requirements: Working out what the solution needs to do
Analysis and design: Working out how the solution needs to do it
Implementation: Coding the solution.
Testing: Checking it actually works.
Deployment: Installing it in the environment.
Evaluation: Checking in with the user – is the solution complete?
Maintenance: Ensuring it continues to function properly by the way of improvements, patches and updates.
What is the Waterfall lifecycle?
A linear progression through the stages of the SDLC.
Each phase has a clear start and end point, making a clear link between each phase.
In the updated rendition of the lifecycle, you are able to move back a phase as well as forward
What is the Agile methodology?
Agile methodology refers to a group of methodologies created in the early 2000s
These methodologies focus on the idea that requirements will shift and change during development, which is dealt with in an iterative fashion.
These iterations are called sprints and they last around 1 - 4 weeks.
It is a more refined form of older concepts used in Rapid Application Development (RAD)
What is Extreme Programming?
Extreme Programming is regarded as more of a framework than it is a methodology
It aims to produce high quality code while promoting the developer’s quality of life by adopting means of:
- Simplicity
- Communication
- Feedback
- Courage
- Respect
Extreme programming is regarded as an agile framework as it encourages regular, small, iterative software releases. Every team member represents an equal value.
What is Spiral methodology?
A risk-driven development methodology. Any project has its own set of unique risks associated with it. The spiral model is more of a guide for development teams, allowing them to adopt elements of one or more other methodologies like waterfall or RAD.
In reality , the spiral model is wholly dependent on the project and its unique risks. It is more of a process model generator: decisions are made upon the risks identified.
What is Rapid Application Development (RAD)?
A methodology that involves producing successive prototypes of the software until a final version is produced and approved.
Following the initial approval of a feasible program increasingly refined prototypes are made with reduced functionality. These are designed, coded, tested and evaluated with the end user.
Your user might decide they are happy with the system or that they want further improvements, prompting the start of a new cycle (iteration).