Browse Definitions :


Get information on software quality management, software testing and quality assurance (QA), application threats and vulnerabilities, software maintenance and bug tracking, and how to build quality and security into the software development life cycle (SDLC). also provides in-depth coverage on how to ensure quality using different development models and methodologies, such as Agile development.

View the complete archive of Software Quality Management news, research and expert advice.

Go to:  SearchSoftwareQuality

Recently on  SearchSoftwareQuality

Waterfall vs. Agile vs. iterative development explained

Componentized software architectures gave way to new forms of software development. Learn when to implement simple iterative development versus wholesale changes with Agile.

More Highlights
  • How to hold Three Amigos meetings in Agile development

    Three Amigos is an Agile development strategy to keep projects on track with specifications, timeline expectations and more. Here's how to host the meetings, and who should join in.

  • How to implement Scrum the right way

    Not sure where to start with Scrum? Check out a book that covers Scrum implementation from pre-development work through retrospectives, and details the frameworks to scale Scrum.

  • How and why to do parallel testing

    Parallel testing can be a boon to test coverage and test execution times. But while the practice is quite adoptable, testers still need a well-thought-out implementation strategy.

  • Agile retrospective

    An Agile retrospective is a meeting that’s held at the end of an iteration in Agile development.

  • Disciplined Agile Delivery (DAD)

    Disciplined Agile Delivery (DAD) is a scalable Agile software delivery framework.

  • static testing

    Static testing is a software testing method that involves the examination of a program, along with any associated documents, but does not require the program to be executed.

Browse Software Quality Topics

Software development methodologies

Agile software development refers to software development methodologies that follow the Agile Manifesto valuing: Individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, responding to change over following a plan.

Popular agile methodologies include Scrum and Extreme Programming (XP). Agile methodologies use short iterations for development and emphasize collaboration and cross-functional teams with members from the business, development, and test.

Recent Definitions


More Software development methodologies Topics

Back to Top

Software design and development

Software development fundamentals include the basics for understanding the various phases and processes of the software development lifecycle. It's important for those in software development to understand terminology, the various models and methodologies, tools, and the various phases of a lifecycle. Software development fundamentals would include understanding the basis of requirements management, software architecture, test engineering, quality engineering, configuration management and measurement and analysis.

Recent Definitions

  • static testing

    Static testing is a software testing method that involves the examination of a program, along with any associated documents, but does not require the program to be executed.

  • native app

    A native application is a software program that is developed for use on a particular platform or device.

  • embedded system

    An embedded system is a combination of computer hardware and software designed for a specific function or functions within a larger system.


More Software design and development Topics

Back to Top


Application lifecycle management (ALM) fundamentals cover best practices in the software industry for all phases of the software development lifecycle (SDLC). Regardless of SDLC methodology used, whether traditional waterfall, agile, or a combined approach, a project's success or failure can be dependent on the team's familiarity with ALM fundamentals and adherence to software development processes such as requirements, design, development, test, release, and maintenance. Knowing ALM fundamentals will provide the necessary skills to ensure a high quality software development project.

Recent Definitions

  • user story

    A user story is a tool used in Agile development to capture a description of a software feature from an end-user perspective.

  • Docker

    Docker is an open source software platform to create, deploy and manage virtualized application containers on a common operating system (OS), with an ecosystem of allied tools.

  • use case

    A use case is a methodology used in system analysis to identify, clarify, and organize system requirements.


More SDLC Topics

Back to Top

Dev teams and skills

Part of software project management requires staffing the project with personnel that have the right skills for successful completion of an application. Organizational decisions regarding hiring, appropriately staffing and training project teams for high-performance must be made to ensure a team's success. Dynamics in communication styles, work locations, cultures and time zones all need to be considered as a team is getting staffed. Employee skills and training needs are factors in determining project resource allocation and staff professional development.

Recent Definitions

  • build server

    A build server is a machine on which a software project can be continuously built from changes that are committed to the repository.

  • data center outsourcing (DCO)

    DCO (data center outsourcing) is the practice of outsourcing the day-to-day provisioning and management of computing and storage resources and environments to a third party provider.

  • multitasking (in humans)

    Multitasking, in a human context, is the practice of doing multiple things simultaneously, such as editing a document or responding to email while attending a teleconference. The concept of multitasking began in a computing context.


More Dev teams and skills Topics

Back to Top

Test types

There's no shortage of ways to test software. Quality assurance engineers can rely on functional, performance, exploratory and many other software test types, many of which run without human intervention. In this section, we provide tips, features, guides and more to explain these different kinds of tests, and how to use them.

Recent Definitions

  • static testing

    Static testing is a software testing method that involves the examination of a program, along with any associated documents, but does not require the program to be executed.

  • static analysis (static code analysis)

    Static analysis, also called static code analysis, is a method of computer program debugging that is done by examining the code without executing the program.

  • software requirements specification (SRS)

    A software requirements specification (SRS) is a comprehensive description of the intended purpose and environment for software under development. The SRS fully describes what the software will do and how it will be expected to perform... (Continued)


More Test types Topics

Back to Top

Testing tools and techniques

Software quality management (SQM) refers to the processes used to manage quality in software applications. Software quality management would include defining standards, regulations and processes that would verify work products delivered through the software development lifecycle (SDLC.) Software quality management would also work towards incorporating a knowledge base of best practices, selecting tools to manage the various aspects of quality, monitoring status and verifying and evaluating current methods, procedures and tools with the aim of continuous improvement.

Recent Definitions

  • static testing

    Static testing is a software testing method that involves the examination of a program, along with any associated documents, but does not require the program to be executed.

  • continuous delivery (CD)

    Continuous delivery (CD) is an approach for software delivery in which development teams produce and test code in short but continual cycles, usually with high degrees of automation.

  • use case diagram (UML use case diagram)

    A use case diagram is a way to summarize details of a system and the users within that system.


More Testing tools and techniques Topics

Back to Top


  • risk assessment

    Risk assessment is the identification of hazards that could negatively impact an organization's ability to conduct business.

  • PCI DSS (Payment Card Industry Data Security Standard)

    The Payment Card Industry Data Security Standard (PCI DSS) is a widely accepted set of policies and procedures intended to ...

  • risk management

    Risk management is the process of identifying, assessing and controlling threats to an organization's capital and earnings.




  • call tree

    A call tree is a layered hierarchical communication model that is used to notify specific individuals of an event and coordinate ...

  • Disaster Recovery as a Service (DRaaS)

    Disaster recovery as a service (DRaaS) is the replication and hosting of physical or virtual servers by a third party to provide ...

  • cloud disaster recovery (cloud DR)

    Cloud disaster recovery (cloud DR) is a combination of strategies and services intended to back up data, applications and other ...