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.