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

Networking
  • remote infrastructure management

    Remote infrastructure management, or RIM, is a comprehensive approach to handling and overseeing an organization's IT ...

  • port address translation (PAT)

    Port address translation (PAT) is a type of network address translation (NAT) that maps a network's private internal IPv4 ...

  • network fabric

    'Network fabric' is a general term used to describe underlying data network infrastructure as a whole.

Security
CIO
  • business goals

    A business goal is an endpoint, accomplishment or target an organization wants to achieve in the short term or long term.

  • vertical SaaS (software as a service)

    Vertical SaaS describes a type of software as a service solution created for a specific industry, such as retail, financial ...

  • business process mapping

    Business process mapping is the visual display of the steps within a business process showing how it's done from start to finish.

HRSoftware
  • employee onboarding and offboarding

    Employee onboarding involves all the steps needed to get a new employee successfully deployed and productive, while offboarding ...

  • skill-based learning

    Skill-based learning develops students through hands-on practice and real-world application.

  • gamification

    Gamification is a strategy that integrates entertaining and immersive gaming elements into nongame contexts to enhance engagement...

Customer Experience
  • Microsoft Dynamics 365

    Dynamics 365 is a cloud-based portfolio of business applications from Microsoft that are designed to help organizations improve ...

  • Salesforce Commerce Cloud

    Salesforce Commerce Cloud is a cloud-based suite of products that enable e-commerce businesses to set up e-commerce sites, drive ...

  • Salesforce DX

    Salesforce DX, or SFDX, is a set of software development tools that lets developers build, test and ship many kinds of ...

Close