Browse Definitions:

software development

This definition is part of our Essential Guide: Get ahead of the game: How to be a more technical tester
Contributor(s): Ivy Wigmore

Software development is the collective processes involved in creating software programs, embodying all the stages throughout the systems development life cycle (SDLC).

SDLC methodologies support the design of software to meet a business need, the development of software to meet the specified design and the deployment of software to production.  A methodology should also support maintenance, although that option may or may not be chosen, depending on the project in question.

The waterfall model, the original SDLC method, is linear and sequential, generally following these stages in order:

1) Identification of required software
2) Analysis of the software requirements
3) Detailed specification of the software requirements
4) Software design
5) Programming
6) Testing
7) Maintenance

The waterfall and similar models are considered predictive methodologies, in contrast to adaptive models such as agile software development (ASD), rapid application development (RAD), joint application development (JAD), the fountain model, the spiral model, build and fix and synchronize-and-stabilize. Frequently, several models are combined into some sort of hybrid methodology as is the case with open source software development (OSSD).

The history of software development goes back to about 1810, when Joseph Marie Jacquard developed holes punched in cardstock to guide the patterns woven by his looms. It wasn't until 1949, however, that John Mauchly developed the first programming language, Brief Code (later known as Short Code).

See also: Our Learn IT: Software development reference guide. Or check out our printable software development glossary of brief definitions, linked to the full versions for more information. Would you like to test your knowledge? Try our Software development quiz.

This was last updated in October 2016

Continue Reading About software development

Start the conversation

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.


File Extensions and File Formats


  • risk map (risk heat map)

    A risk map, also known as a risk heat map, is a data visualization tool for communicating specific risks an organization faces. A...

  • internal audit (IA)

    An internal audit (IA) is an organizational initiative to monitor and analyze its own business operations in order to determine ...

  • pure risk (absolute risk)

    Pure risk, also called absolute risk, is a category of threat that is beyond human control and has only one possible outcome if ...


  • federated identity management (FIM)

    Federated identity management (FIM) is an arrangement that can be made among multiple enterprises to let subscribers use the same...

  • cross-site scripting (XSS)

    Cross-site scripting (XSS) is a type of injection security attack in which an attacker injects data, such as a malicious script, ...

  • firewall

    In computing, a firewall is software or firmware that enforces a set of rules about what data packets will be allowed to enter or...



  • business continuity and disaster recovery (BCDR)

    Business continuity and disaster recovery (BCDR) are closely related practices that describe an organization's preparation for ...

  • business continuity plan (BCP)

    A business continuity plan (BCP) is a document that consists of the critical information an organization needs to continue ...

  • call tree

    A call tree -- sometimes referred to as a phone tree -- is a telecommunications chain for notifying specific individuals of an ...


  • all-flash array (AFA)

    An all-flash array (AFA), also known as a solid-state storage disk system, is an external storage array that uses only flash ...

  • volume manager

    A volume manager is software within an operating system (OS) that controls capacity allocation for storage arrays.

  • external storage device

    An external storage device, also referred to as auxiliary storage and secondary storage, is a device that contains all the ...


  • hybrid hard disk drive (HDD)

    A hybrid hard disk drive is an electromechanical spinning hard disk that contains some amount of NAND Flash memory.