Glossary

Enterprise Agility

Agile methodology

The various agile scrum methodologies share much of the same philosophy, as well as many of the same characteristics and practices. But from an implementation standpoint, each has its own recipe of practices, terminology, and tactics. Here we have summarized a few of the main agile software development methodology contenders.

READ MORE


Agile feature estimation

The different methodologies use different terminology to refer to features. It is up to the team to decide which methodology or terminology to use

READ MORE


Agile project management

Whether you have just wondered about agile project management, or actually dipped a toe in, you would probably agree: the role of the project manager can seem impossible. Customers expect quality software on time and on budget. But wait! The requirements just changed. Again.

READ MORE


Agile release planning

What is a release plan? Planning and estimating in the agile world depend on a single key metric: the development team's velocity, which describes how much work the team can get done per iteration. Given a team's known velocity for its last project (if it is known), a release plan represents how much scope that team intends to deliver by a given deadline.

READ MORE


Agile software development benefits

Agile methods grew out of the real-life project experiences of leading software professionals who had experienced the challenges and limitations of traditional waterfall development on project after project. The approach promoted by agile development is in direct response to the issue associated with traditional software development both in terms of overall philosophy as well as specific processes.

READ MORE


Agile sprint planning

The iteration or sprint planning meeting is for team members to plan and agree on the stories or backlog items they are confident they can complete during the sprint and identify the detailed tasks and tests for delivery and acceptance.

Iteration lengths typically range between one and four weeks. The team holds a planning meeting at the beginning of each iteration to break down each of the features scheduled for the iteration into specific technical tasks. Iteration or agile sprint planning meetings generally last from two to four hours - any more than that and you may be spending too much time in unnecessary planning; less time than that and you may not be doing enough planning and collaborating.

READ MORE


Agile velocity

Agile velocity is an extremely simple, powerful method for accurately measuring the rate at which scrum development teams consistently deliver business value. To calculate velocity of your agile team, simply add up the estimates of the features, user stories, requirements, or backlog items successfully delivered in an iteration.

READ MORE


Characteristics of Agile Development Success

Agile software development represents a paradigm shift in building and delivering software. It answers the need for adaptability and flexibility in a world where business requirements and customer preferences continuously change. This guide explores the agile software development process in depth, offering insights into its key concepts, methodologies, tools, team dynamics, challenges, and current trends.

READ MORE


Code refactoring

Code refactoring is the process of clarifying and simplifying the design of existing code, without changing its behavior. Agile teams are maintaining and extending their code a lot from iteration to iteration, and without continuous refactoring, this is hard to do. This is because un-refactored code tends to rot. Rot takes several forms: unhealthy dependencies between classes or packages, bad allocation of class responsibilities, way too many responsibilities per method or class, duplicate code, and many other varieties of confusion and clutter.

READ MORE


Common agile terms

See our list of common agile scrum terms.

READ MORE


Common codebase

A common codebase is, simply, shared by as many programmers on the team as possible. This is only practical if the team is using test-first programming, refactoringcontinuous integration, and a single coding standard. It is also greatly assisted by agile pair programming.

READ MORE


Flow Metrics in Agile Development

This comprehensive flow metrics guide outlines their significance, implementation, and best practices, enriched with insights from Digital.ai to optimize your agile processes.

READ MORE


Kanban methodology

Kanban is a method for managing the creation of products with an emphasis on continual delivery while not overburdening the development team. Like scrum, kanban is a process designed to help teams work together more effectively.

READ MORE


Pair programming

Agile teams committed to frequent, regular, high-quality production find themselves striving to find ways to keep short-term and long-term productivity as high as possible. Proponents of pair programming ("pairing") claim that it boosts long-term productivity by substantially improving the quality of the code. But it is fair to say that for a number of reasons, pairing is by far the most controversial and least universally-embraced of the agile programmer practices.

READ MORE


Scaled Agile Framework (SAFe®) Principles

The Scaled Agile Framework (SAFe®) is a set of organizational and workflow patterns intended to guide enterprises in scaling lean and agile practices. It offers a structured approach to scaling agile across the organization, fostering alignment, collaboration, and rapid delivery of value to customers.

READ MORE


Test driven development

Agile teams often find that the closer the unit test coverage of their code is to some optimal number (somewhere between 75% and 85%, many teams find), the more agile their code is. Which is to say, it is easier for them to keep the defects in the code to very low levels, and therefore easier for them to add features, make changes, and still deliver very low-defect code every iteration. After experimenting with different ways to keep test coverage up at those optimal levels, agile teams hit upon the practice of test-first programming.

READ MORE


What are Agile Story Points and How to Estimate Them?

Agile story points are a unit of measure used in Agile project management to estimate the effort required to complete a user story or task. They help teams assess the complexity, risk, and effort involved, providing a more abstract way of planning and tracking progress compared to traditional methods.

READ MORE


What’s an Agile Workflow: Benefits and Implementation

Moving quickly and efficiently while maintaining quality is crucial for success in the rapidly evolving product development landscape. Agile workflow has emerged as a highly effective methodology for improving productivity, delivering value faster, and quickly adapting to changes in requirements. Familiarizing oneself with its principles, components, and implementation strategies can lead to better project outcomes.

READ MORE


What is Agile SDLC (Software Development Life Cycle)

Agile Software Development Life Cycle (SDLC) is a modern approach to software development that emphasizes flexibility, iterative progress, and continuous improvement. Unlike traditional models that rely on a linear sequence of phases, Agile SDLC integrates planning, development, and testing in a cyclic, interactive process. This approach allows teams to adapt to changes quickly and efficiently, ensuring that the final product meets the evolving needs of users and stakeholders.

READ MORE


What is Agile Sprint Tracking or Iteration Tracking?

As teams progress through an iteration, it is important to understand the state of the iteration. As dozens or even hundreds of tasks are worked on within the iteration, measuring progress and remaining effort (or, "to do") become critical. This is especially true on larger projects.

Within an iteration, the remaining effort represents the true state of an iteration at any given time. As the iteration progresses, the remaining effort required to complete the iteration's tasks should obviously be decreasing. Not all tasks will necessarily be identified during iteration planning. Some may only be identified as current tasks are progressed and completed. By consistently managing the total remaining effort of all the tasks, a very clear picture of the overall iteration's status is understood. If at any given point during the iteration it appears that the work is not approaching zero by the end of the iteration, then the team and/or management may elect to take appropriate measures, such as reducing scope.

READ MORE


What is Scrum Project Management?

Use scrum project management to deliver working products with more business value. Scrum project management is a methodology for managing software delivery that comes under the broader umbrella of agile project management. It provides a lightweight process framework that embraces iterative and incremental practices, helping organizations deliver working software more frequently. Scum project management provides project progress via a series of iterations called sprints; at the end of each sprint the team produces a potentially deliverable product increment.

READ MORE


What is the Scrum Methodology for Project Management?

Scrum is widely used by software development teams. In fact, it’s the most popular agile methodology. According to the 12th annual State of Agile report, 70% of software teams use scrum or a scrum hybrid.

READ MORE

App Management

Android & iOS app signing

Both  Android and  iOS require developers to “sign” their apps before they can be distributed and installed. An app is signed with a certificate identifying a developer as the author of that app and verifying the app has not been modified since it was last signed. Apps are self-signed with private certification keys.

READ MORE


Continuous integration

Traditional software development methods don't dictate how frequently or regularly you integrate all of the source on a project. Programmers can work separately for hours, days, or even weeks on the same source without realizing how many conflicts (and perhaps bugs) they are generating. Agile teams, because they are producing robust code each iteration, typically find that they are slowed down by the long diff-resolution and debugging sessions that often occur at the end of long integration cycles. The more programmers are sharing the code, the more problematic this is. For these reasons, agile teams often choose to use continuous integration.

READ MORE


Enterprise app distribution

An Enterprise App Distribution platform allows organizations to securely deploy and manage policy-enabled mobile apps through a variety of distribution methods, including direct links to users, a corporate portal, a private app store, or MDM/EMM systems.

READ MORE


Enterprise app store

An Enterprise App Store is an HTML or native iOS, Android, or Windows private app catalog for mobile workers in the extended enterprise to discover and download corporate-sanctioned and secured mobile apps. A best-of-breed enterprise app store is custom-branded, solicits feedback and ratings from users, does not require device management, and sits on top of an easy-to-use admin console that secures any app and supports the full app lifecycle.

READ MORE


Mobile app wrapping

Mobile app wrapping is a method for applying business or security logic to individual apps that have already been compiled.

READ MORE


Mobile application management

Mobile application management (MAM®) refers to the workflow for security, governance, and distribution of mobile apps in the enterprise. Best-of-breed app management provides app-level security for any app, deploys apps to every user in the extended enterprise because it is device management agnostic, manages the complete app lifecycle, and enables multiple app distribution methods, including an intuitive, custom-brandable enterprise app store.

READ MORE


Mobile Application Testing

Mobile application testing is an essential process and part of the software delivery lifecycle that ensures the quality, functionality, accessibility, and performance of mobile apps before they are released to the public. In the ever growing mobile app marketplace, rigorous testing is essential to deliver a positive user experience and achieve business goals.

READ MORE


Mobile authentication

Mobile authentication establishes user authentication for the enterprise app store and for the mobile apps themselves without maintaining an entirely separate set of user credentials.

READ MORE


Understanding the Importance of Accessibility Testing

Master accessibility testing to create inclusive websites. Learn WCAG principles, explore testing tools & techniques for success.

READ MORE


What are Automated Testing Tools?

Automated testing tools are software applications designed to streamline and expedite the software testing process by automatically executing tests. They help eliminate the need for manual test execution, which can be time-consuming, error-prone, and repetitive. Automated testing tools are vital for modern software development, ensuring the quality, functionality, and performance of applications across various platforms (web, mobile, desktop).

READ MORE


What are Performance Testing Tools?

Boost app performance & identify bottlenecks. Learn about key types & stages of performance testing and explore best practices for choosing the right tools.

READ MORE


What is Automated Testing?

Master automated testing for faster, more reliable software. Learn key concepts and best practices for efficient & maintainable tests.

READ MORE


What is Cross Browser Testing?

Cross-browser testing (cross browser testing, Cross-Browser Testing) is an important process in web development. It safeguards the flawless operation and visual consistency of websites across a vast multitude of browsers. The mobile world is fragmented especially from an Android perspective where device models, and OS versions vary wildly. Cross-browser testing embodies the concept of ensuring a smooth and satisfying experience for all users, regardless of their browser or device.

READ MORE

DevOps

Android app testing

Android dominates the mobile device market and your mobile app must be able to support the majority of Android devices actively in use and provide an exceptional UX. Android app testing is a complex task due to the existence of multiple device manufacturers, device models, Android OS versions, screen sizes, and network conditions. Start testing your app today on hundreds of real devices and run Android test automation to meet tight Android app delivery timelines with Digital.ai Continuous Testing, formerly Experitest.

READ MORE


Application performance monitoring

Implement application performance testing early and continuously as part of your CI pipeline. Shift left performance testing (SLPT) tools can speed delivery of higher-quality software, decrease costs of fixing issues, and improve the customer’s experience.

READ MORE


Common DevOps terms

See our list of common DevOps terms.

READ MORE


Defining DORA Metrics

In DevOps, metrics play a pivotal role in assessing performance and guiding improvement efforts. Among the most renowned sets of metrics are DORA (DevOps Research and Assessment) metrics. These metrics provide invaluable insights into the efficiency and effectiveness of DevOps practices within an organization.

READ MORE


Guide: Comprehensive List of DevOps Tools You’ll Need

DevOps has emerged as a crucial methodology for streamlining workflows, enhancing collaboration, and accelerating the delivery of high-quality software. This comprehensive guide aims to provide an in-depth exploration of DevOps tools, from defining DevOps itself to key phases, implementation strategies, common challenges, and the process of choosing the right tools to suit specific needs.

READ MORE


iOS app testing on real Apple devices

Apple devices have a significant share of the mobile device market — yet developing, debugging, and testing on them can be a challenge. Numerous iPhone and iPad models, different screen resolutions, and frequent iOS version releases create a large matrix that needs to be addressed. The Digital.ai Continuous Testing platform helps you to ensure your application meets users’ expectations and App Store’s strict review guidelines. Perform rapid, end-to-end, online iOS app testing on a huge matrix of real Apple devices and versions to accelerate your release cycles.

READ MORE


Release orchestration

Release orchestration is the process of orchestrating the activities required to deliver an application from code commit to production, enabling organizations to manage and optimize the flow of value across the DevOps value stream. Release orchestration automates many tasks that are often done manually by release management. With release orchestration, DevOps teams are able to model software delivery pipelines, coordinate automated tasks with manual work, integrate a variety of tools for building, testing, and deploying software, and use data to identify bottlenecks and areas for potential areas for improvement. Release orchestration is also known as application release orchestration (ARO), application release automation (ARA) or continuous delivery and release automation (CDRA).

READ MORE


Release pipeline

A release pipeline is made up of the manual and automated steps needed to move a code change from development, through build and test activities, to deployment in production. Manual steps can be executed by technical team members or business stakeholders and include both release processes and approval gates. Automated steps are executed by the tools within the DevOps landscape.

READ MORE


Understanding CI/CD

In software development, CI/CD has become an indispensable practice for ensuring efficiency, reliability, and quality in the development lifecycle. This glossary page will break down the fundamental concepts, processes, tools, and best practices surrounding CI/CD, empowering practitioners to harness its potential for streamlined software delivery.

READ MORE


What is Application Delivery?

Explore application delivery’s importance, solutions, components, benefits, challenges, and modern trends for enhanced performance.

READ MORE


What is Cloud Migration?

Master cloud migration for your applications. Explore cost-saving strategies, security considerations, & best practices for a successful cloud migration strategy.

READ MORE


What is DevSecOps?: Best Practices and Methodology

Building secure software is essential in a world where cyber threats are becoming more sophisticated. DevSecOps, an evolution of the DevOps philosophy that integrates security into every aspect of the software development lifecycle, is pivotal in achieving this goal. In this comprehensive guide, we will explore the essence of DevSecOps, its importance, integration in software development, tools, technologies, best practices, and the challenges and solutions associated with its implementation.

READ MORE


What is Release Management?

Release management is a crucial aspect of software development, ensuring smooth and efficient delivery of software products or updates into production environments. This glossary page delves into the intricacies of release management, covering its process, tools, best practices, and challenges.

READ MORE

App Security

Application attacks

An application attack is a technique a threat actor uses to exploit a vulnerability (vuln) in a web, desktop, or mobile executable. Vulnerabilities are generally characterized as either “known” or “zero day”. In addition to known and zero day vulns, vulnerabilities can include unprotected or unobfuscated decompiled code, a lack of anti-tamper protections, and inability to provide Runtime Application Self-Protection.

READ MORE


Runtime application self-protection

Runtime Application Self-Protection (RASP) is the ability for an executable to take defensive action when and if it is tampered with or run in a suspicious environment. Examples of tampering include changes to code, and examples of suspicious environment can be a rooted or jailbroken mobile device, a debugger, or an emulator, or a dynamic instrumentation toolkit such as FRIDA.

READ MORE


What is Anti-Tamper?

“Anti-Tamper” security refers to the measures and technologies implemented to safeguard software applications against unauthorized modifications or tampering attempts, particularly in environments where the integrity of the application might be compromised.

READ MORE


What is Application Hardening?

Application hardening, also known as “Application Shielding” and “In-app Protection” is a means of protecting applications from reverse engineering by applying obfuscation and anti-tamper techniques to the application post build and pre-production.  Application Hardening can also encompass application monitoring and RASP (Runtime application Self Protection).

READ MORE


What is Code Obfuscation and How it Works

Code obfuscation is a process that makes the applications that you create for use outside of your firewall more difficult to understand after they have been decompiled or reverse engineered.

READ MORE


What is OWASP?

The Open Worldwide Application Security Project (OWASP) is a non-profit software security community that works to improve the security of mobile and web applications. Established in 2001, OWASP provides a vast array of free resources, methodologies, and tools for developers, security professionals, and organizations worldwide.

READ MORE


What is Threat Monitoring and the Role of Threat Intelligence

Threat monitoring is essential for maintaining the security and integrity of information systems in an era where cyber threats are increasingly sophisticated and pervasive. This proactive security measure allows organizations to detect and respond to potential security incidents.

READ MORE


Understanding Jailbreaking: What is it? How is it Done?

A comprehensive exploration of the risks and security implications of jailbreaking mobile devices and how to protect apps from being run in jailbroken devices.

READ MORE

Value Stream

What is VSM or Value Stream Mapping?

Value stream mapping is a Lean-Agile management tool that helps organizations visualize the process steps needed to take a product from creation through delivery to end users. Value stream mapping helps you understand your business better so you can eliminate waste and improve process efficiency.

READ MORE