Explore tens of thousands of sets crafted by our community.
Software Development Methodologies
20
Flashcards
0/20
Waterfall Model
A linear sequential flow where progress is seen as flowing steadily downwards like a waterfall through phases such as conception, initiation, analysis, design, construction, testing, and maintenance.
Agile
An iterative approach to software delivery that builds software incrementally from the start of the project, instead of trying to deliver it all at once near the end. It advocates adaptive planning, evolutionary development, early delivery, and continual improvement.
Scrum
A subset of Agile, it is a framework that uses fixed-length iterations called sprints, usually 2-4 weeks long. It includes roles such as Product Owner, Scrum Master, and Development Team. Artifacts include product backlog and sprint backlog.
Extreme Programming (XP)
An Agile framework that aims to produce higher quality software, and higher quality of life for the development team. XP is notable for its emphasis on technical practices like test-driven development, continuous integration, and pair programming.
Kanban
A visual method for managing the creation of products with an emphasis on continuous delivery while not overburdening the development team. It uses a Kanban board with cards to represent work items and columns to represent each stage of the process.
Lean Software Development
Translated from lean manufacturing to the software development domain. It is based on principles such as eliminating waste, amplifying learning, deferring commitment, delivering fast, respecting people, and building integrity in.
DevOps
A set of practices that combines software development (Dev) and information technology operations (Ops) to shorten the systems development life cycle and provide continuous delivery with high software quality.
Crystal Methods
A family of human-powered, adaptive, ultra-light, ‘stretch-to-fit’ software development methodologies. It focuses on people, interaction, community, skills, talents, and communications.
Feature Driven Development (FDD)
A model-driven, short-iteration process that consists of five basic activities: developing an overall model, building a feature list, planning by feature, designing by feature, and building by feature.
Dynamic Systems Development Method (DSDM)
An Agile framework that embodies the principles of Agile project delivery. It is based on eight principles that focus on business needs/value, active user involvement, empowered teams, frequent delivery, and more.
Rapid Application Development (RAD)
An adaptive software development approach that prioritizes rapid prototyping over costly planning. The key components include iterative development and the construction of prototypes.
Joint Application Development (JAD)
A methodology that involves the client or end user in the design and development of an application, through a series of collaborative workshops called JAD sessions.
Spiral Model
Combines elements of both design and prototyping in stages, in an effort to combine advantages of top-down and bottom-up concepts. It allows for incremental releases of the product, or incremental refinement through each iteration around the spiral.
Systems Development Life Cycle (SDLC)
A process for planning, creating, testing, and deploying an information system, which includes phases such as system analysis and design, implementation, testing and integration, and maintenance.
V-Model
An extension of the waterfall model, where each level of the development life-cycle corresponds to a related testing phase. It is a highly disciplined model and the next phase starts only after the previous phase is complete.
Big Bang Model
A software development model that focuses on writing code and implementing the features as they are needed without much of a structured plan. It allows for a lot of freedom and creativity, but can be risky due to the lack of planning.
Iterative Model
Development begins by specifying and implementing just part of the software, which is then reviewed in order to identify further requirements. This process is repeated, producing a new version of the software at the end of each iteration of the model.
Prototype Model
Instead of freezing the requirements before a design or coding can proceed, a throwaway prototype is built to understand the requirements. This prototype is developed based on the currently known requirements.
Cleanroom Software Engineering
A process for developing software with a high level of reliability. The Cleanroom process is characterized by incremental development, and a certification process, which involves correctness verification of each increment by the team.
Component-Based Development (CBD)
A methodology that focuses on the design and development of systems using reusable software components; it introduces reuse into the development process. Components are a means of breaking down the complexity of software into manageable parts.
© Hypatia.Tech. 2024 All rights reserved.