CODΞ - maximizing your sourcing capabilities

CODΞ supports GlossaryTech to keep it free for the community

Development Methodologies

Design-Driven Development

Design-Driven Development is an agile-based process for creating innovative requirements to build better solutions. It works closely with SCRUM and Extreme Programming for managing and implementing those requirements. 

InnerSource

InnerSource is the use of open source software development best practices and the establishment of an open source-like culture within organizations. The organization may still develop proprietary software, but internally opens up its development.

Agile Methodology

Agile Methodology is a type of project management process, mainly used for software development, where demands and solutions evolve through the collaborative effort of self-organizing and cross-functional teams and their customers.

Agile

A time-boxed, 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.

BDD

Behaviour Driven Development is emerged from TDD. The idea is to provide software development and management teams with shared tools and a shared process to collaborate on software development.

DDD

Domain-Driven Design is a set of principles and schemes aimed at creating optimal systems of objects. Reduced to the creation of software abstractions, which are called models of subject areas. These models include business logic that establishes a link between the real conditions of the product's application area and the code.

FDD

Feature Driven Development is an agile software development methodology that employs a short-iteration model and is intended for use by large teams. An FDD project is organized around five processes: Develop an Overall Model; Build a Features List; Plan by Feature; Design by Feature; Build by Feature. The main goal of this methodology is to develop real, working software systematically, within the deadlines set.

ICONIX

A software development methodology which predates the Rational Unified Process, Extreme Programming and Agile development. It is more lightweight, provides more requirement and design documentation, aims to avoid analysis paralysis, bridging the gap between analysis and design.

Lean Software Development

An approach to software development that implements the set of tools for identification and steady elimination of waste. It consists of seven principles that direct how to optimize development and maintain a team.

OVM

Open Verification Methodology is the library of objects and procedures for stimulus generation, data collection and control of verification process.

Pair programming

An Agile software development technique which consists of two programmers sharing one workstation, one development effort. Each member performs the action the other is not currently doing, one writes code while the other reviews each line of code as it is typed in, they switch roles frequently.

Prince2

A structured customizable project management method that emphasises dividing projects into manageable and controllable stages, separates the management layer.

RAD

Rapid Application Development is a general term used to refer to alternatives to the conventional Waterfall model of software development. RAD is well suited for developing software that is driven by user interface requirements.

RUP

Rational Unified Process is an object-oriented software development process. It provides a disciplined approach to assigning tasks, guidelines, templates, and other aspects of program development.

TDD

Software development process that relies on the repetition of a very short development cycle: first the developer writes Automated Test Case that defines a desired improvement or new function, then produces the minimum amount of code to pass that test, and finally refactors the new code to acceptable standards.

XP (extreme programming)

Extreme Programming is a simplified methodology for organizing the development of programs for small and medium-sized teams of developers who are engaged in creating a software product in the face of unclear or rapidly changing requirements.

Kanban

An agile method for managing the creation of products with an emphasis on continual delivery while not overburdening the development team. Like Scrum, Kanban is a process designed to help teams work together more effectively.

UVM

Universal Verification Methodology is an open source SystemVerilog library allowing creation of flexible, reusable verification components and assembling powerful test environments utilizing constrained random stimulus generation and functional coverage methodologies.

V-Model

A unique, linear development methodology used during a software development life cycle (SDLC). The V-Model focuses on a fairly typical waterfall-esque method that follows strict, step-by-step stages.

Waterfall

A linear and sequential approach to software development. Each phase must be completed fully before the next phase can begin. At the end of each phase, a review takes place to determine if the project is on the right path and whether or not to continue or discard the project. Software testing starts only after the development is complete.

Scrum

An agile framework for managing complex (software) projects. A team works for a short period of time (a 'sprint' or 'iteration') and then demonstrates real stuff that matters to the end-product at the end of each sprint. Emphasizes team self-management and flexibility (change requests can be created and approved at any time during the project). 

Development by Synergize.digital

Sign up for updates
straight to your inbox