Good communication between a digital market team and their IT partners – either in-house or at a digital agency – is a critical factor in delivering great digital customer experiences. Misunderstandings can have a negative impact in this area, and it’s important for developers,
Thankfully, there are many things you can do to ensure good communication between an agency and a client team, as well as your IT function. One of these is to make sure there are no misunderstandings when it comes to the meaning of different words. Marketers don’t always understand the terms used by technologists, and technologists sometimes don’t understand marketing terms. There is also vocabulary that both professional groups use, but which can have different interpretations and small nuances of meaning that get overlooked. Above all, knowing what your IT team means by a particular term leads to greater clarity, and that leads to both better working relations and more successful outcomes.
In this post, we’re going to cover fifteen terms used by IT functions that are not always understood by marketers, or which can have slightly different meanings. Note that many of you will be very familiar with some of these terms, so please just skip over the ones you already know! There are many other words we could have included here, so there may be a follow-up post at some stage to cover these.
Agile is the name for a specific set of methodologies used for software development projects that advocate short, more iterative cycles of development (often in two-week cycles called “sprints”) which are driven by feedback from users. Agile contrasts with more traditional approaches to software projects that are considered to be “waterfall” with a much longer development cycle, being instead based more on a detailed set of requirements that are captured and fixed at the beginning of a project, and less on ongoing feedback from users. Agile methodologies tend to have better results, with a faster time to market and outcomes more focused on user needs.
2. Application Programming Interface (API)
An Application Programming Interface (API) is a set of definitions and rules (with accompanying documentation) that enables two independent software programs to “talk” to each other. This means that one application can use data and capabilities from another application. Different marketing software that you use – for example, your content management system and an e-commerce solution – might work together and communicate with each other through the use of APIs.
A backlog is a term used in agile software development that describes a list of tasks that need to be completed. A backlog will be broken down and prioritized, allowing a developer to know the backlog items they will be working on next. The kind of backlog marketers need to consider usually comprises a list of features and deliverables that will be worked upon in the future. As you request new features in your digital environment, for example, these will be added to the backlog.
4. Bugs, issues and change requests
Bugs, issues and change requests are terms which can lead to misunderstandings between IT and marketing teams, generally because marketing teams may use the words a little more generically – for example, using the word “bug” and “issue” interchangeably – while IT teams will adopt a much more specific meaning from each term. The meaning of each can also be shaped by Service Level Agreements (SLA) and software like Jira which is used to manage software development. For IT teams, “issues” may be a generic name for different items within Jira, something that has already been investigated and identified as such, and a “change request” may refer to a new piece of functionality that has a very specific process attached to it. The meanings can vary and be very specific in terms of how they are dealt with in your SLA, or in the associated workflow in your IT team’s systems. It’s always worth checking if everyone is on the same page.
5. Composable DXP
A composable Digital Experience Platform (DXP) is a relatively new term to describe a DXP that is assembled from independent components which might be provided by different software providers, and then work together like one system through APIs. This means that in a composable DXP, a team can build what is effectively a best-of-breed digital ecosystem rather than relying on one single platform from one provider. For example, in a composable DXP, your CMS might be based on one piece of software, your personalization engine on another, your analytics reporting on another and your front-end experience on another, but they all work together to deliver a single digital customer experience.
6. Content Delivery Network (CDN)
A content delivery or distribution network (CDN) is a series of geographically-dispersed servers that delivers web content and pages to users around the world in a more efficient way: a European server will deliver content to European users, an African server to African users and so on. This reduces page loading times around the world. The most well-known CDN product is arguably Cloudflare.
We recently wrote about containerization, and defined it in the following way:
‘Containerization as a general term is all about placing things into different containers for ease of use. Applied to technical infrastructure, the same principle applies – software, apps and related code are packaged into different “containers” to support efficiency. The folks over at Docker define a “container” as a “standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another.”’
DevOps usually describes a set of practices, procedures and actions that enable an agile and robust approach to software development, and provide the ability to deploy changes in a quick and efficient way that minimizes risks and errors. Having reliable systems, tools and processes in place that enable successful DevOps is important, but so is having a culture and mindset of DevOps among IT teams. For marketers, a DevOps approach is usually critical for quick development and successful deployment.
Another term and concept that is associated with DevOps is continuous integration and continuous delivery (CI/CD). This underpins successful approaches to DevOps and advocates principles and practices that allow for more frequent coding and deployment by ensuring that all code changes are successfully integrated, with no version control issues arising. Here consistency in the approach and automation make things work in practice.
An endpoint is a device that is part of a network and exchanges data across it, effectively communicating with the network. Examples of endpoints include PCs, laptops, mobile devices, servers and Internet of Things (IoT) devices.
10. Headless CMS
In a traditional CMS, you enter your content into the system and then publish it, with the frontend experience delivered by the CMS too. Headless publishing is a characteristic of a CMS which holds your content, but does not deliver the front-end experience; instead, the presentation is dealt with completely by another system by communicating with your CMS via APIs. The backend content within the CMS and the way it is presented in different customer experiences are decoupled. Content stored in a headless CMS could then be served up in different customer experiences, such as an e-commerce site, a mobile app or a more traditional website, utilising different technologies in each case. Most headless CMS can both act as a more traditional CMS, and support headless publishing.
The characteristic of a piece of technology or application which means it can work successfully with other technologies or applications (perhaps produced by different technology vendors) through exchanging data.
12. Software Development Kit (SDK)
Occasionally, the acronym SDK crops up. This is a Software Development Kit aimed at making it easier for software developers to program by bundling together different tools, usually specific to a particular platform such as Sitecore or a part of that platform. For example, Sitecore provides a number of SDKs to make it easier for developers to work with aspects of the platform such as e-commerce and mobile.
13. Sprints, scrums stand-ups and other agile terms
If you are working with your IT team or agency in an agile way, it really helps to know some of the associated terms, including:
· Sprints: usually two-week development cycles, but these can be longer
· Scrum: a specific agile project methodology
· Stand-up: sometimes referred to as a scrum meeting, this is a short, daily meeting which covers progress, what will be worked on that day and any issues encountered, usually with input from each member of the project team.
14. User acceptance testing (UAT)
Most marketers will know about user acceptance testing, but it’s quite possible marketers will have only heard of “UAT” in relation to a UAT environment. User acceptance testing is usually the final stage of testing in a software development project, where end-users test out the functionality to see if it works in an environment as close as possible to the “real world”. Once they sign it off, it can be prepared to go live. The UAT environment is where the testing takes place. Note that in digital marketing projects, UAT testing should usually involve real content that will be included in the actual site or product being launched.
15. User stories and epics
A user story is a feature or task in a project that is explained from the perspective of the end-user. Often, user stories are written in an informal format and in the first person (“I want to…”), and focus on the value being delivered to the user and the outcome, not the specific requirements. An epic is a larger group of connected user stories within an agile project.
Confused? Get in touch!
We hope you find our list of definitions useful. If you’re experiencing communication issues with your digital agency’s developers and want to discuss better ways to work together, then get in touch!