88 Software Development Terms to Know

 Learn the essential terms to know for a software development project. 

A

  • Acceptance Testing: The testing that occurs on the client side. 
  • Adaptive maintenance: If a program changes to a different operating system or environment, this occurs.
  • Agile Software Development: A development approach that involves flexible planning and continuous improvement to deliver the software as fast as possible. 
  • Algorithm: A sequence of steps that will accomplish a task if followed correctly.
  • Alpha testing: The testing that occurs within a software development company.
  • API (Application Programming Interface): A tool that provides completed building blocks with functionality that can be put together and into a software. 

B

  • Backend: A ‘server’ software that users do not interact with directly.
  • Beta testing: The testing that happens using client or selected personas’ feedback.
  • Bottom-up design: An area of program refinement that starts with smaller modules and builds into a complete software program. 
  • Bugs: A program error. 

C

  • Code Refactoring: The process of editing code to reduce or eliminate technical debt. 
  • Compiler: A program that translates a high-level program into an independent one. 
  • CI (Continuous Integration): The practice of building software when all working copies of code are merged into one branch. 
  • Corrective Maintenance: Takes place after a software is installed if previously undetected errors pop up. 
  • CSS (Cascading Style Sheets): A style sheet language that organizes HTML elements. 

D

  • Data Abstraction: A principle of data modeling that emphasizes the separation between the external interface and internal implementation.
  • Data Modeling: A process used in object-oriented languages that identify objects and how they relate. 
  • Data Structures: A specialized format for organizing and processing data.
  • Debugging: The detection and removal of errors in a program. 
  • Dependencies: Correlations between tasks that show in which order they should be executed. 
  • Deploy: Inputting the code into the server so it can run.

E

  • End User: The individual that uses a particular product.
  • Event Driven: A system that responds to an external event.
  • Event Driven Language: Designed to handle external events. 
  • Executable Code: Code that can be run independently without translation. 

F

  • Frontend: A ‘client” software that users interact with. 
  • Functional Language: A language that uses the evaluations of expressions rather than commands. 
  • Full Stack: A software developer that can work on the frontend and backend.
  • Framework: A set of templates for a programming platform.

G

  • General Purpose Language: A language that can be used to program solutions that cover a range of situations. 
  • Git: A system for programmers to manage code content and other versions. 

H

  • Hardware: Physical parts of a computer or another electronic device. 
  • High-level Language: A language that is easily understood by programmers and development teams.
  • HTML (Hypertext Markup Language): A markup language for the web that sturctures web pages. 
  • Human Computer Interface: The interface that allows the program to interact with the outside world. 

I

  • IDE (Integrated Development Environment): An application that facilitates software developers with writing code. 
  • Independent Test Group: Testing of software by a group outside of the development team.
  • Intermediate Code: Compiled code that is produced for a target computer. 
  • ISO: A quality assurance system for software development. 
  • Iterative: An iterative process that involves feedback and repetition. 

J

  • Javascript: A portable language for a wide range of platforms. 

K

  • Kanban: An approach for managing software development that depicts all planned work to optimize the overall process. 

L

  • Linear Search: A standard algorithm that performs searches on data items in sequential order. 

M

  • Machine Code: Native computer code that can be understood without translation. 
  • Machine Learning: The study of algorithms and models that learn from data sets to make predictions or decisions on new data. 
  • Maintenance: The upkeep of a software program.
  • Markup Language: A text-encoding system that consists of symbols and notations to control a structure or relationship within a program. 
  • Methodology: A technique that enables the design and development of software to be implemented. 
  • Metric: In software, the measure of whether a product feature or task is quantifiable or countable. 

N

  • Normal Operation: Running of a program under expected normal conditions.

O

  • Object: A data item that can be manipulated by a computer program or system.
  • Object-oriented Programming: A programming system based on the idea that objects that contain both data and code can modify data. 
  • Open Source: Source code that’s freely available for making changes while being free to download. 
  • Operating System: The software system that supports a computer or product’s basic functions. 

P

  • Performance Testing: A form of testing that examines the speed, response time, and usage of software under a particular workload. 
  • Programmers: A section of a development team that’s responsible for coding, testing, implementation, and maintenance. 
  • Programming Language: A system of notations for writing software programs. 
  • Project Manager: Member of the development team that supervises the project. 
  • Prototype: A simple working version of a software. 
  • Plugin: An add-on that adds new functionalities to a host program or software without alternating the host itself. 
  • Pull Request: A notification given by developers when they’re done building a feature. 

Q

  • QA (Quality Assurance): The process of reviewing a software product to ensure it meets expectations. 

R

  • Relational Database: A database structured to recognize relations among any stored items or objects. 
  • Regression Testing: The process of re-running tests to verifying the correctness of software after a change. 
  • Repository: A place where data is gathered and protected. 
  • Runtime: The length of time a program takes to run.

S

  • SaaS (Software as a service): Type of software delivery model that’s provided over the Internet to the end user by the software owner on demand.
  • Scripting Language: Used for writing smaller programs or scripts that enhance existing software. 
  • Scrum: A project management methodology for effective team collaboration that’s based on Agile software development.
  • SDLC (Software Development Life Cycle): The general process of software development that follows a series of steps until completion. 
  • Software: Programs that help a computer system execute tasks.
  • Software Engineering: An area of computing where the emphasis is on the development of high-quality software. 
  • Source Code: The code for a program that’s written in a high-level language that is then translated into machine code. 
  • Syntax: The structure or grammar of a statement in a given language. 

T

  • Testing: Running the program to ensure its reliability. 
  • Test Plan: A strategy that involves testing software under different conditions.
  • Top-Down Design: A design approach that involves putting larger systems into smaller components. 

U

  • Unit Testing: Testing specific pieces of code in a system.
  • Usability: A quality system to determine how easy something is to use.
  • User experience: Software design that focuses on usability and user satisfaction.
  • User interface: Software design that focuses on the looks and style.

V

  • Version Control: A software system used to manage changes to a codebase over time to help recall specific versions later. 

W

  • Waterfall Model: One of the earliest models for software development that incorporates seven stages. 
  • Web App: An application program on a server that is delivered over the Internet. 
  • Website: Collection of web pages that share a domain name.

X

  • XML (Extensive Markup Language): A markup language for encoding documents and transmitting them into serialized data.

Y

  • YAML: A human-readable data format for storing and transmitting information. 

Z