Software Development Lifecycle Flashcards
What is the purpose of the SDLC?
To create stable software in the shortest time possible.
Define the concept of SDLC
The modulating of the software development process into development phases that can be tested in a controlled way.
What are the 2 overarching purposes of thew SDLC?
Quality assurance
Development management
What are the 5 stages of the SDLC?
Requirements/Analysis, Design, Implementation, Testing, Evolution.
What questions does the requirements / analysis stage solve?
What is the problem? Who is the program for? How will the program solve the problem?
What questions does the design stage solve?
What are the tech requirements? How will the solution be developed? Which tech stack will be used? What tests need to be done?
Define the implementation stage…
The physical development of the solution as per the requirement and design stage.
Define the testing stage…
Conduct testing that was defined in the testing stage.
Define the evolution stage?
What features need to be added or removed for the next iteration of the product?
What are the 5 main Software Development methodologies?
Agile, Scrum, Rapid Prototype Testing, Waterfall, Prototyping.
Define Agile development…
An iterative approach in which cross-functional teams implement incremental changes to the solution. It’s sprint based, where each sprint releases an updated solution.
Is testing emphasised in agile? If so, why?
Yes, testing is done regularly and often to ensure bugs are caught early.
What are the pros and cons of agile?
Pros:
- Early and consistent bug catching.
- Small incremental changes prevent errors causing catastrophic side effects.
- Cross functional teams ensure diverse and multi-perspective input at every stage, leading to a well rounded iteration.
Cons:
- Slower than other models
- Cross-functional teams can lead to disagreements due to lack of understanding of different disciplines.
Define scrum…
An iterative approach conducted in sprints. Each sprint is 2 to 4 weeks and has the aim of implementing an incremental change on the solution. After each iteration, customer feedback is obtained and used to plan the next sprint.
What are the components of a sprint?
Sprint planning, daily scrum meetings, sprint review to ensure the software increment has been developed as per the specification.