Learn about the fundamentals of requirements management, application lifecycle management, quality assurance and risk management.
Traditional software development estimating techniques are slow, long lasting exercises and as such are totally unsuited to Agile processes. New methods of estimating have emerged which fit the Agile model, requiring minimal effort to provide 'just enough' information to support prioritization and decision making. This paper offers an introduction to the most popular of these techniques, as well as a look at how such practices work in larger, multi-team projects in which normalization has become the subject of disagreement.
API testing determines if an API meets expectations for functionality, reliability, performance, and security. Learn about the benefits of API testing and much more!
Behavior-Driven Development (BDD) is an Agile software development process that encourages collaboration among developers, QA and non-technical or business participants in a software project. It encourages teams to use conversation and concrete examples to formalize a shared understanding of how the application should behave.
The term refers to a common situation in which a person interacts with a system through its external interface, i.e. without looking inside. A good example of Black Box Testing may be a physician who tries to diagnose and treat an illness using the external markers of a disease. This approach is called a black box and it stands in contrast to an approach that a surgeon takes, when the latter "opens" the box and takes a peek inside.
Business Requirements Documents (BRDs) are a cornerstone of project management, but can sometimes be overlooked or improperly used. Click here to see how you can maximize the value of yours!
EVM is a popular method for tracking project success & progress, putting a concrete number to performance. Learn the core concepts of EVM, benefits, & more!
Feature-driven design (FDD) is an iterative and incremental software development process that follows the principles of the agile manifesto. The idea is to develop the high-level features, scope and domain object model and then use that to plan, design, develop and test the specific requirements and tasks based on the overarching feature that they belong to.
This section describes the various different techniques for performing a functional analysis. This typically happens after initial requirements discovery and before the full-blown requirements definition.
Both functional and non-functional tests are crucial to a high-quality final product. Click here to learn about the differences and specifics of each type today!
This helpful cheat sheet for beginners lists over 25 common Git commands with easy-to-understand definitions & examples for each. Click here to learn more!
Graphic User Interface Testing (GUI) testing is the process of ensuring proper functionality of the graphical user interface (GUI) for a specific application. This involves making sure it behaves in accordance with its requirements and works as expected across the range of supported platforms and devices.
When upholding quality, the industry's adherence to Total Quality Management (TQM) principles has often been overshadowed by various testing methods. TQM encompasses both process and product quality, aiming to enhance an organization's overall operations and products. ISO 9001, ISO 15288, CMMI, and Six Sigma are foundational reference standards and frameworks that can help organizations improve their processes, products, and services. These standards and frameworks can be used independently or combined together to create a comprehensive system for improving an organization's overall performance. This article provides an oveview of TQM and the relationship with the foundational reference standards and frameworks.
ISO 27001 is the international standard for Information Security Management Systems (ISMS). It provides a comprehensive framework to protect an organization’s sensitive information, whether it be physical infrastructure, digital assets, or stakeholder data. Central to this framework is risk management, supported by ISO 27002 controls.
Implementing a Kanban framework is one thing, but monitoring impact & gauging success is entirely different. Click here to learn what KPIs to track & why.
In the rapidly evolving field of healthcare technology, the accuracy, reliability, and safety of medical devices are essential. As software becomes an increasingly integral part of these instruments, flawless operation is absolutely critical. Therefore, medical device software testing plays a central role in validating the performance and compliance of these systems. Learn More.
Effective project management is crucial for the successful delivery of projects. One key aspect of project management is monitoring the efficiency of project activities to identify areas for improvement and ensure timely completion. This article explores various metrics and techniques for monitoring project activities, including analyzing overdue tasks, utilizing the Pareto approach, and analyzing tasks by type and priority.
A System Requirements Specification (SRS) (also known as a Software Requirements Specification) is a document or set of documentation that describes the features and behavior of a system or software application. Learn more about it here.
This section outlines some of key techniques and methods that can be employed for gathering and capturing requirements on a project. It includes suggestions and ideas for ways to best capture the different types of requirement (functional, system, technical, etc.) during the gathering process.
This section outlines some of the key concepts surrounding requirements and introduces some main activities that should take place on a project to ensure that a robust requirements definition underpin the system.
Requirements traceability refers to the ability to describe and follow the life of a requirement, in both forwards and backwards direction - from its origins, through its development and specification, to its subsequent deployment and use.
Risk management is a critical area in project and product management, overseeing changes across people, processes, technology, and organizational domains. However, many practitioners often overlook its importance, only to address it reactively with corrective actions later on. Dr. Sriram Rajagopalan, Inflectra’s Global Head for Agile Strategy and Training & Learning Services, notes that in a rush to develop products quickly or manage projects with poorly developed key performance indices, the crucial link between quality and risk is often missed.
SAFe has quickly become a popular scaled agile option, but there are subvariations of the framework that you might not know about. Click here for more!
Forming the foundation of information needed for the development process, Scrum artifacts are a critical part of the planning process. Learn more here.
Scrum events, or ceremonies, are one of the primary factors that makes scrum such an effective development methodology. Click here to learn more.
Quality assurance is one of the most critical pieces to the software development process & in whether your application succeeds or not. Learn about it here.
Test-Driven Development (TDD) originally was created as part of the Extreme Programming (XP) methodology, where it was known as 'Test-First' concept. The idea is that developers generally write their tests after the code is written and therefore are only testing the functionality as they wrote it, as opposed to testing it to make sure it works the way it was actually intended!
There are several software testing & development methodologies commonly used, but it can be difficult to keep track of the difference. Learn more here.
Critical for delivering a quality product to your users, application lifecycle management is necessary for all software developers and stakeholders to understand. In this guide, we’ll cover what the process is, what it involves, its importance in modern software development, and more.
This background paper explains what a help desk is, what features you should look for in a help desk tool and explains why KronoDesk is the best choice for managing your help desk.
Requirements management is the process of managing a simply stated desire or need. Successful requirements are the key to delivering high quality products. This section explains what requirements management is and what features you should look for in a requirements management tool.
Management of tasks and steps within a larger project is paramount to keeping it on track, under budget, and up to quality standards. Learn more about task management software in this background paper.
A use case is a definition of a specific business objective that the system needs to accomplish. A use-case will define this process by describing the various external actors (or entities) that exist outside of the system, together with the specific interactions they have with the system in the accomplishment of the business objective.
A user story is a form of software system requirement that has become quite popular in Agile Methodologies such as Extreme Programming and Scrum. Unlike more traditional methods such as a System Requirements Specification or Use Case Diagrams, the emphasis in these methodologies is simplicity and changeability.
The Task Board is perhaps the single most useful, and arguably most important, device that can be used on Agile projects, often described as an 'information radiator' because it gives out the information to everyone from a central location. A Task Board is the focal point of any Agile project and serves as a good place at which to hold the stand-up meeting or Scrum.
Acceptance criteria are integral to successful project management, but can sometimes be overlooked as just an optional add-on. Click here to learn more!
In the software development landscape, quality isn't an afterthought, it's baked into the process. Fueling this unwavering pursuit of excellence is the test plan — a document that holds the power to transform a potential buggy application into a polished gem. But what exactly is this blueprint, and why should it be your first priority before diving into the testing fray?
Automated software testing is the ability to have a software tool or suite of software tools test your applications directly without human intervention. Generally test automation involves the testing tool sending data to the application being tested and then comparing the results with those that were expected when the test was created.
DevOps is a set of practices that combines software development (Dev) and IT operations (Ops). It aims to shorten the systems development life cycle and provide continuous delivery with high software quality. The goal of DevOps is to improve collaboration between development and operations teams, automate and streamline processes, and enhance the speed and efficiency of software development and deployment. Learn More.
Educational technology is a booming field that supports student learning & teacher efficiency. Learn about EdTech's benefits, expected trends, & more here.
Exploratory testing is a flexible and dynamic approach to software testing that emphasizes real-time learning, test design, and test execution. Learn More.
Pair programming is an integral part of XP & its framework. Click here to learn about this style, its benefits, challenges, tools, best practices, & more.
In the fast-paced world of software development, ensuring the quality of your product is paramount. Quality Engineering is a concept that goes hand-in-hand with Quality Assurance, but offers a different perspective on how to achieve the goal of “quality.” In this article, we'll explore the distinct world of Quality Engineering and why it's essential for creating high-quality software products.
Crucial to the success of any project is the ability to effectively manage risks. Learn what risk management is, how the process works, & more here.
Sanity testing is an important method for evaluating recent changes to a system. Click here to learn how it works, its benefits, steps, & more.
Software testing is a critical piece of the software development lifecycle. But in a world of so much automation, should you keep your testing manual?
Test management is the process of taking your project's requirements, building a test plan, writing the tests, planning the test activities and capturing the results. This section explains what test management is, and what features you should look for in a test management tool.
Kanban is sometimes overlooked for its cousin, Scrum. But there are many scenarios when it shines brighter than other methodologies — learn more today.