Development Methodologies


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.


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.


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.


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.


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.


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.


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


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.


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.


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.


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.


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.


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.

Development by

Sign up for updates
straight to your inbox