Are you currently preparing yourself for a call with your software provider? Or do some phrases show up as a big question mark in your head but you’re too embarrassed to admit it?
This article serves as a guide for non-technical people who don’t understand some of the technical terms, frequently mentioned by software developers, business analysts, project managers, and product owners. This guide will help you successfully communicate with them, understand their views, and feel comfortable in the software development world.
Important terms in software development
Let’s take a look at the most commonly mentioned (also by our clients) terms when it comes to software development.
- Greenfield
In software development, greenfield refers to creating a system from scratch, for a new environment, from a clean slate with no legacy code around it. It’s an approach of starting fresh with no dependencies or restrictions.
An outsourcing strategy used to staff a project or as a response to business objectives. It’s a technique where an external company provides their engineers for you to hire temporarily or permanently.
A phrase used to describe a debt a business has to eventually pay with time, money and resources typically because of choosing speed over quality.
Addition of necessary external data, tools, plugins, etc to an existing project using different APIs instead of building it from scratch.
Discovery or scoping phase is a process of collecting and analyzing crucial information about a project. It helps to get an in-depth understanding of the requirements, goals, scope and potential limitations.
Technology roadmap can refer to a flexible planning technique that matches short-term and long-term goals with specific technology solutions. It’s a strategic plan that defines a goal and outcome, including milestones and steps necessary to reach them.
In Scrum, sprint is a repeatable fixed time-box during which a product of the highest possible value is created. It’s a core of agile methodology and can be viewed as an event that wraps around all other scrum events.
Refers to a source code that is no longer supported. It can also refer to an operating system, hardware of file formats. In most cases, legacy code needs to be converted to a modern software language or platform.
In short, DevOps is a set of practices that combine software development and IT operations. They aim to shorten the system development process and ensure the continuous delivery of high-quality software.
Code refactoring is a process of restructuring existing computer code without changing its external behaviour. Refactoring is done to improve the design, structure or implementation of the software.
A re-run of functional and non-functional tests to ensure the previously tested software still performs as intended after a change.
A software component that adds functionality to an existing computer program. Plug-ins enable customization of software.
An approach to web design that makes websites render well on a variety of devices or screen sizes.
A phrase used to describe an unstructured and difficult-to-maintain source code. It can be caused by a lack of programming style rules or frequently changing project requirements.
Asynchronous programming allows users to use an application while processes run in the background. This enhances the user experience. Asynchronous means that a process operates independently from other processes.
A branch in a computer program is an instruction that tells the computer to start executing different instruction sequence.
A provider of Internet hosting for software development and version control using Git. It encourages teamwork and real-time collaboration.
A comprehensive analysis of source code in order to discover bugs or security breaches.
A software quality assurance activity during which one or several people check a program after implementation.
Generally speaking, modularity is the degree to which a system’s components may be recombined or separated.
Evidence that a business idea works, usually a document that presents the feasibility of an idea.
A series of stages that are worked through during the development of a new system. An organizational process of developing and maintaining systems that helps to establish a project plan.
Common acronyms you should know when outsourcing
Now, we can move on to decoding the acronyms you may come across while working with a software development house.
- DoD - Definition of Done - a list of criteria that must be met before a product increment is considered done.
- NDA - Non-Disclosure Agreement - a legally binding contract that establishes a confidential relationship.
- SaaS - Software as a Service - a software solution working on a pay-as-you-go basis
- PaaS - Platform as a Service - cloud platform services providing cloud components to certain software.
- API - Application Programming Interface - a connection between computers or computer programs.
- BA - Business Analyst - a person who analyzes and documents the market environment, processes or systems of businesses, helping to improve products and services.
- PM - Project Manager - a person who oversees the operations of individual projects.
- PO - Product Owner - a member of the Agile Team responsible for defining stories and prioritizing the team backlog.
- SM - Scrum Master - helps to facilitate scrum to the team by ensuring the scrum framework is followed.
- NFR - Non-functional Requirements - a requirement that specified criteria that can be used to judge the operation system.
Read also: What Is IT Project Estimation?
Try our developers.
Free for 2 weeks.
No risk. Just results. Get a feel for our process, speed, and quality — work with our developers for a trial sprint and see why global companies choose Selleo.
Software delivery people you’ll probably meet
During the outsourcing process, you will also meet a lot of people. Some of their roles are pretty straightforward, but some may be completely new to you. Let’s do a quick recap:
- Backend Developer - writes code that works at the server or database level.
- Business Analyst (BA) - helps with investigating business problems and serves as a bridge between the business and development people. BAs work closely with development teams, document product requirements and write user stories.
- Designer - creates the visual side of the software product following various design principles. There is also a position of a front-end designer that works not only with the desing itself but also creates UX/UI interfaces.
- Frontend Developer - implements the designer’s vision through elements of the product visible to end-users.
- Product Owner (PO) - comes up with product vision and is responsible for executing it, writing user stories, maintaining and prioritizing the product backlog.
- Project Manager (PM) - in charge of the project planning and execution.
- Scrum Master - serves and leads the team by organizing their work and supporting them.
- Tester - writes test scripts to verify the product functionalities and behaviours.
Summary
As you can see, there’s a lot to process in the technical terminology field. Do not get discouraged though, it all gets easier with time. We hope this guide helped you find your way in the complicated software world.
We at Selleo always ensure our partners feel comfortable and stay informed about the software development process. We eagerly explain all the intricacies of building powerful solutions, remaining flexible and open. Fill out the contact form to discuss your project in greater detail now!