Browse Definitions :
Definition

software development

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

SearchCompliance
  • smart contract

    A smart contract is a decentralized application that executes business logic in response to events.

  • compliance risk

    Compliance risk is an organization's potential exposure to legal penalties, financial forfeiture and material loss, resulting ...

  • information governance

    Information governance is a holistic approach to managing corporate information by implementing processes, roles, controls and ...

SearchSecurity
  • threat modeling

    Threat modeling is a procedure for optimizing application, system or business process security by identifying objectives and ...

  • social engineering

    Social engineering is an attack vector that relies heavily on human interaction and often involves manipulating people into ...

  • distributed denial-of-service (DDoS) attack

    A distributed denial-of-service (DDoS) attack is one in which multiple compromised computer systems attack a target, such as a ...

SearchHealthIT
SearchDisasterRecovery
  • change control

    Change control is a systematic approach to managing all changes made to a product or system.

  • disaster recovery (DR)

    Disaster recovery (DR) is an organization's ability to respond to and recover from an event that affects business operations.

  • risk mitigation

    Risk mitigation is a strategy to prepare for and lessen the effects of threats faced by a business.

SearchStorage
  • race condition

    A race condition is an undesirable situation that occurs when a device or system attempts to perform two or more operations at ...

  • storage security

    Storage security is the group of parameters and settings that make storage resources available to authorized users and trusted ...

  • cloud storage

    Cloud storage is a service model in which data is transmitted and stored on remote storage systems, where it is maintained, ...

Close