Software Development Methodologies Definitions
-
A
Agile retrospective
An Agile retrospective is a meeting that's held at the end of an iteration in Agile software development.
-
application firewall
An application firewall is an enhanced firewall that limits access by applications to the operating system (OS) of a computer... (Continued)
-
application security
Application security, or appsec, is the practice of using security software, hardware, techniques, best practices and procedures to protect computer applications from external security threats.
-
artifact (software development)
An artifact is a byproduct of software development that helps describe the architecture, design and function of software.
-
automated testing
Automated testing is a software testing technique that automates the process of validating the functionality of software and ensures it meets requirements before being released into production.
-
What is acceptance testing?
Acceptance testing is a quality assurance (QA) process that determines to what degree an application meets end users' approval.
-
What is Agile software development?
Agile is a type of software development methodology that anticipates the need for flexibility and applies a level of pragmatism to the delivery of the finished product.
-
B
bug
In computer technology, a bug is a coding error in a computer program.
-
What is a build server?
A build server, also called a continuous integration server (CI server), is a centralized, stable and reliable environment for building distributed development projects.
-
C
cache thrash
Cache thrash is an issue caused by an ongoing computer activity that fails to progress due to excessive use of resources or conflicts in the caching system.
-
Capability Maturity Model (CMM)
The Capability Maturity Model (CMM) is a methodology used to develop and refine an organization's software development process.
-
collaboration diagram
A collaboration diagram, also known as a communication diagram, is an illustration of the relationships and interactions among software objects in the Unified Modeling Language (UML).
-
continuous quality
Continuous quality is a systematic approach to finding and fixing software defects during all phases of the software development cycle.
-
What is continuous integration (CI)?
Continuous integration (CI) is a software development practice in which frequent and incremental changes are routinely added (integrated) to the complete codebase immediately after the changes and additions are tested and validated.
-
D
daily stand-up meeting
A daily stand-up meeting is a short organizational meeting that is held each day.
-
DevOps Dojo
A DevOps Dojo is a place where DevOps team members go for hands-on training.
-
Disciplined Agile Delivery (DAD)
Disciplined Agile Delivery (DAD) is a scalable Agile software delivery framework. It takes a people-first, learning-oriented approach to software development and delivery.
-
F
feature-driven development (FDD)
Feature-driven development (FDD) is an Agile software development framework that organizes work around product features.
-
G
Gantt chart
A Gantt chart is a horizontal bar chart developed as a production control tool in 1917 by Henry L. Gantt, an American engineer and social scientist.
-
I
iteration
In agile software development, an iteration is a single development cycle, usually measured as one week or two weeks. (Continued...)
-
iterative
In the world of IT and computer programming, the adjective iterative refers to a process where the design of a product or application is improved by repeated review and testing.
-
iterative development
Iterative development is a way of breaking down the software development lifecycle (SDLC) of a large application into smaller chunks.
-
J
What is Jenkins and how does it work?
Jenkins is an open source continuous integration/continuous delivery and deployment (CI/CD) automation software DevOps tool written in the Java programming language.
-
What is Jira?
Jira is an application lifecycle management (ALM) and Agile project management tool from Atlassian.
-
L
LDAP injection
LDAP (Lightweight Directory Access Protocol) injection is a type of security exploit that is used to compromise the authentication process used by some websites.
-
Lean software development
Lean software development is a concept that emphasizes optimizing efficiency and minimizing waste in the development of software.
-
M
mob programming
Mob programming is a collaborative approach to software development in which a group of developers work together in real time on one task.
-
MoSCoW method
The MoSCoW method is a four-step approach to prioritizing which project requirements provide the best return on investment (ROI).
-
P
pair programming
Pair programming is an Agile software development technique originating from Extreme programming (XP) in which two developers team together and work on one computer.
-
pigs and chickens
Pigs and chickens is an analogy used in the Scrum software development model to define the type of role an attendee can play at a daily scrum meeting.
-
pipeline as code
Pipeline as code is an approach to a continuous integration (CI) pipeline where the pipeline is expressed entirely in computer code.
-
Project Management Professional (PMP)
Project Management Professional (PMP) certification is a qualification program overseen by the Project Management Institute (PMI)... (Continued)
-
What is a product owner?
A product owner is a role on a Scrum team that is responsible for the project's outcome.
-
Q
What is a quality gate?
A quality gate is a milestone in an IT project that requires that predefined criteria be met before the project can proceed to the next phase.
-
R
rapid application development (RAD)
Rapid application development (RAD) is a model based on the concept that higher-quality products can be developed faster through more expedient processes, such as early prototyping, reusing software components and less formality in team communications.
-
release
A release is the distribution of the final version or the newest version of a software application.
-
release plan
In agile software development, a release plan is an evolving flowchart that describes which features will be delivered in upcoming releases. (Continued...)
-
S
Scrum
Scrum is a framework for project management that emphasizes teamwork, accountability and iterative progress toward a well-defined goal.
-
sequence diagram
A sequence diagram is one of the multiple types of system interaction diagrams used within Unified Modeling Language (UML) to visually represent interactions between the objects that live within a system.
-
session ID
A session ID, also called a session token, is a unique identifier that a web server assigns to a user for the duration of the current session.
-
smoke testing
Smoke testing, also called build verification testing or confidence testing, is a software testing method that is used to determine if a new software build is ready for the next testing phase.
-
Software Process Improvement and Capability Determination (SPICE)
Software Process Improvement and Capability Determination (SPICE) is an international framework to assess software development processes.
-
source code analysis
Source code analysis is the automated testing of source code for the purpose of debugging a computer program or application before it is distributed or sold.
-
spiral model
The spiral model is a systems development lifecycle (SDLC) method used for risk management that combines the iterative development process model with elements of the waterfall model.
-
SQL injection (SQLi)
A SQL injection (SQLi) is a technique that attackers use to gain unauthorized access to a web application database by adding a string of malicious code to a database query.
-
SSADM (Structured Systems Analysis and Design Method)
SSADM (Structured Systems Analysis and Design Method) is a widely used computer application development method in the United Kingdom, where its use is often specified as a requirement for government computing projects.
-
stand-up
In agile software development, a stand-up is a daily progress meeting, traditionally held within a development area. Business customers may attend for the purpose of gathering information. (Continued...)
-
static testing
Static testing is a software testing method that examines a program -- along with any associated documents -- but does not require the program to be executed.
-
What is a sprint (software development)?
In Agile product development and software project management, a sprint is a set period of time during which specific work has to be completed and made ready for review.
-
What is shift-right testing?
Shift-right testing is a method of continuously testing software while it is in a post-production environment.
-
What is software resilience testing?
Software resilience testing is a method of software testing that focuses on ensuring that applications perform well in real-life or chaotic conditions.
-
What is systems development life cycle?
The systems development life cycle (SDLC) is a conceptual model used in project management that describes the stages involved in an information system development project -- from an initial feasibility study all the way through maintenance of the completed application.
-
T
timebox
In agile software development, a timebox is a defined period of time during which a task must be accomplished. (Continued...)
-
U
use case
A use case is a methodology used in system analysis to identify, clarify and organize system requirements.
-
user story
A user story is a tool in Agile software development used to capture a description of a software feature from a user's perspective. The user story describes the type of user, what they want and why. A user story helps to create a simplified description of a requirement.
-
W
What is a Waterfall model? Definition and guide
The Waterfall model is a linear, sequential approach to the software development lifecycle (SDLC) that is popular in software engineering and product development.
-
whole-team approach (team-based approach)
The whole-team approach (team-based approach) is a style of project management in which everyone on the project team is held equally responsible for the quality and success of the project.