<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <copyright>Copyright TechTarget - All rights reserved</copyright>
        <description></description>
        <docs>https://cyber.law.harvard.edu/rss/rss.html</docs>
        <generator>Techtarget Feed Generator</generator>
        <language>en</language>
        <lastBuildDate>Sat, 18 Apr 2026 20:39:37 GMT</lastBuildDate>
        <link>https://www.techtarget.com/searchsoftwarequality</link>
        <managingEditor>editor@techtarget.com</managingEditor>
        <item>
            <body>&lt;p&gt;Behavior-driven development (BDD) is an &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/agile-software-development"&gt;Agile&lt;/a&gt; development methodology that documents, designs and develops software around the behavior a user expects to experience when interacting with an app. BDD extends the capabilities of test-driven development (&lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/test-driven-development"&gt;TDD&lt;/a&gt;) and acceptance test-driven development (&lt;a href="https://www.techtarget.com/whatis/definition/acceptance-testdriven-development-ATDD"&gt;ATDD&lt;/a&gt;) by encouraging collaboration among stakeholders and writing plain-language scenarios that can be used as both executable tests and living documentation.&lt;/p&gt; 
&lt;p&gt;Behavior-driven development aims to ensure that each software release delivers real value that solves a user problem or meets a business need. The methodology's collaborative approach to defining requirements enables all &lt;a href="https://www.techtarget.com/searchcio/definition/stakeholder"&gt;stakeholders&lt;/a&gt; to understand requirements the same way, and the methodology's &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/Iterative-vs-incremental-development-Whats-the-difference"&gt;iterative sprints&lt;/a&gt; can reduce the time it takes to identify and fix issues.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="Benefits of behavior-driven development"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Benefits of behavior-driven development&lt;/h2&gt;
 &lt;p&gt;The main advantage of BDD is that it improves communication and collaboration between stakeholders with different business priorities and/or levels of technical expertise. To help stakeholders understand an application's purpose and expected behavior, requirements are always expressed as real-world scenarios and are written in plain language. This approach reduces ambiguity and makes it easier for BDD teams to understand the scope of each &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/Scrum-sprint"&gt;Agile sprint&lt;/a&gt; from a user's perspective.&lt;/p&gt;
 &lt;p&gt;Another benefit of BDD is that once a scenario has been written, it can be automated once and re-run many times in different contexts. This is important because it allows the same scenario to be used for documentation and testing in both stage and production environments. Focusing on user needs also helps to avoid code bloat. Because BDD requires each functionality to be backed by a behavioral requirement, teams can avoid &lt;a href="https://www.techtarget.com/whatis/definition/scope-creep"&gt;scope creep&lt;/a&gt; and other issues that delay the software development lifecycle (&lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/software-development-life-cycle-SDLC"&gt;SDLC&lt;/a&gt;).&lt;/p&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="How behavior-driven development works (BDD lifecycle)"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How behavior-driven development works (BDD lifecycle)&lt;/h2&gt;
 &lt;p&gt;A typical project that uses behavior-driven development begins with a conversation between software developers, software testers, &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/product-owner"&gt;product owners&lt;/a&gt; and potential end users. The goal is to build a shared understanding of requirements that clarifies expected behaviors in plain language and defines acceptance criteria before any code is written.&lt;/p&gt;
 &lt;p&gt;Typically, BDD consists of the following steps:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Discover and gather requirements after discussions with all stakeholders.&lt;/li&gt; 
  &lt;li&gt;Define potential scenarios in simple, natural (human) language.&lt;/li&gt; 
  &lt;li&gt;Turn scenarios into automated test scripts with tools like &lt;a href="https://cucumber.io/" target="_blank" rel="noopener"&gt;Cucumber&lt;/a&gt; or &lt;a href="https://concordion.org/index.html" target="_blank" rel="noopener"&gt;Concordion&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;Develop &lt;a href="https://www.techtarget.com/searchapparchitecture/definition/source-code"&gt;source code&lt;/a&gt; to satisfy defined scenarios.&lt;/li&gt; 
  &lt;li&gt;Test code to verify functionality works as expected.&lt;/li&gt; 
  &lt;li&gt;Improve code by incorporating stakeholder feedback.&lt;/li&gt; 
  &lt;li&gt;Deploy (release) the software when actual system behavior matches expected behavior.&lt;/li&gt; 
  &lt;li&gt;Maintain the software as requirements evolve over time to ensure that functionality doesn't break.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/agile_values_and_principles-i.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/agile_values_and_principles-i_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/agile_values_and_principles-i_mobile.png 960w,https://www.techtarget.com/rms/onlineimages/agile_values_and_principles-i.png 1280w" alt="Key values of the Agile development process. Diagram." height="859" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;These key values and principles of Agile development describe how teams should approach the software development process. 
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="Examples of BDD scenarios"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Examples of BDD scenarios&lt;/h2&gt;
 &lt;p&gt;Once requirements have been identified, BDD teams can write real-world scenarios and &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/automated-software-testing"&gt;turn them into automated tests&lt;/a&gt;. Typically, this involves using &lt;a href="https://www.guvi.in/blog/understanding-gherkin/" target="_blank" rel="noopener"&gt;Gherkin&lt;/a&gt;, a domain-specific language (DSL) that doesn't require team members to be experienced programmers.&lt;/p&gt;
 &lt;p&gt;Instead, Gherkin scenarios use a Given-When-Then format to describe how software should behave. &lt;i&gt;Given&lt;/i&gt; sets up the initial context or preconditions, &lt;i&gt;when&lt;/i&gt; describes an action or event that triggers the behavior and &lt;i&gt;then&lt;/i&gt; specifies the expected outcome or result.&lt;/p&gt;
 &lt;p&gt;Here are two examples of such scenarios:&lt;/p&gt;
 &lt;p&gt;&lt;b&gt;Scenario: Successful login&lt;/b&gt;&lt;br&gt;&lt;i&gt;Given&lt;/i&gt; that the user is on the website's login page&lt;br&gt;&lt;i&gt;When&lt;/i&gt; the user enters a valid username and password combination and clicks the login button&lt;br&gt;&lt;i&gt;Then&lt;/i&gt; the user will be logged in successfully&lt;/p&gt;
 &lt;p&gt;&lt;b&gt;Scenario: Add item to a shopping cart&lt;/b&gt;&lt;br&gt;&lt;i&gt;Given&lt;/i&gt; the user is on a product page&lt;br&gt;&lt;i&gt;When&lt;/i&gt; the user clicks on "Add to cart"&lt;br&gt;&lt;i&gt;Then&lt;/i&gt; the item will be added to the user's virtual shopping cart&lt;/p&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="Behavior-driven development testing"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Behavior-driven development testing&lt;/h2&gt;
 &lt;p&gt;In software development, traditional quality assurance (&lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/quality-assurance"&gt;QA&lt;/a&gt;) testing verifies whether or not code complies with technical specifications. In behavior-driven development, however, acceptance testing verifies how code behaves in different scenarios. The emphasis on &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/functional-specification"&gt;functional specifications&lt;/a&gt; instead of technical specifications is beneficial for &lt;a href="https://www.techtarget.com/searchapparchitecture/definition/microservices"&gt;microservice&lt;/a&gt; deployments in &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/continuous-integration"&gt;continuous integration&lt;/a&gt; and &lt;a href="https://www.techtarget.com/searchitoperations/definition/continuous-delivery-CD"&gt;continuous delivery&lt;/a&gt; (CI/CD) pipelines. Microservices are modular software components that work together as part of a larger application. CI/CD pipelines are automated workflows that integrate code changes, run QA tests to validate the changes and move accepted changes to production quickly and reliably.&lt;/p&gt;
 &lt;div class="youtube-iframe-container"&gt;
  &lt;iframe id="ytplayer-0" src="https://www.youtube.com/embed/w6Y19RWawc0?autoplay=0&amp;amp;modestbranding=1&amp;amp;rel=0&amp;amp;widget_referrer=null&amp;amp;enablejsapi=1&amp;amp;origin=https://www.techtarget.com" type="text/html" height="360" width="640" frameborder="0" loading="lazy"&gt;&lt;/iframe&gt;
 &lt;/div&gt;
 &lt;p&gt;In CI/CD deployments, behavior-specific &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/acceptance-test"&gt;acceptance tests&lt;/a&gt; are written before coding begins, so technically, they can be run at the beginning of a project, while a product is still in development or when it is completed. However, it's important to understand that most acceptance tests will fail at the beginning of a project because the functionality hasn't been developed yet. As the development project goes on, however, more tests are likely to pass, and once all acceptance criteria have been met, the software can be released to production.&lt;/p&gt;
 &lt;p&gt;To facilitate behavior-driven testing, development teams should:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Consider using the &lt;a href="https://www.techtarget.com/whatis/definition/5-Whys"&gt;5 Whys principle&lt;/a&gt; to help stakeholders align &lt;i&gt;needs&lt;/i&gt; with &lt;i&gt;priorities&lt;/i&gt; and &lt;i&gt;outcomes&lt;/i&gt;.&lt;/li&gt; 
  &lt;li&gt;Practice writing user-focused scenarios.&lt;/li&gt; 
  &lt;li&gt;Consider using automation to turn user-focused scenarios into executable acceptance tests.&lt;/li&gt; 
  &lt;li&gt;Align acceptance tests with specific user needs and/or business goals.&lt;/li&gt; 
  &lt;li&gt;Provide a centralized repository for stakeholders to review BDD documentation and project progress.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="Popular BDD tools and frameworks"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Popular BDD tools and frameworks&lt;/h2&gt;
 &lt;p&gt;Numerous tools and frameworks are available to help development teams adopt BDD and take advantage of its many benefits. Some of the most popular BDD tools include:&lt;/p&gt;
 &lt;p&gt;&lt;b&gt;Cucumber&lt;/b&gt;. Development and test teams can use Cucumber to write acceptance tests in plain language and then run them automatically.&lt;/p&gt;
 &lt;p&gt;&lt;b&gt;Behave&lt;/b&gt;. Behave is a BDD tool for &lt;a href="https://www.techtarget.com/whatis/definition/Python"&gt;Python&lt;/a&gt; developers. Like Cucumber, Behave lets development teams write scenarios in plain text using Gherkin and execute them automatically through step definitions. (A step definition is a snippet that connects a single line of Gherkin syntax to the automation code that executes it.)&lt;/p&gt;
 &lt;p&gt;&lt;b&gt;Behave Restful&lt;/b&gt;. Python developers and testers can use Behave Restful to test microservices implemented in any language and validate REST APIs.&lt;/p&gt;
 &lt;p&gt;&lt;b&gt;JBehave&lt;/b&gt;. JBehave is a BDD framework for writing and running &lt;a href="https://www.theserverside.com/definition/Java"&gt;Java&lt;/a&gt; tests. The framework can be integrated with different integrated development environments (&lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/integrated-development-environment"&gt;IDEs&lt;/a&gt;), including &lt;a href="https://www.techtarget.com/searchapparchitecture/definition/Eclipse-Eclipse-Foundation"&gt;Eclipse&lt;/a&gt;, to streamline test creation and execution without leaving the development environment.&lt;/p&gt;
 &lt;p&gt;&lt;b&gt;Mocha.&lt;/b&gt; Mocha is a popular &lt;a href="https://www.theserverside.com/definition/JavaScript"&gt;JavaScript&lt;/a&gt; test framework that runs on &lt;a href="https://www.techtarget.com/whatis/definition/Nodejs"&gt;Node.js&lt;/a&gt; and in web browsers. By default, Mocha executes tests serially to simplify reporting and ensure errors are mapped to the correct test cases. Mocha integrates with a wide range of third-party tools and plugins to support continuous testing and provide Agile workflows with feedback in real time.&lt;/p&gt;
 &lt;p&gt;&lt;b&gt;Concordion&lt;/b&gt;. Concordion is a lightweight BDD framework for Java developers. Tests are written in &lt;a href="https://whatis.techtarget.com/definition/dynamic-HTML"&gt;HTML&lt;/a&gt; or &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/Ultimate-Markdown-guide-Rules-to-know"&gt;Markdown,&lt;/a&gt; and Java fixtures (classes) link specifications to executable test code.&lt;/p&gt;
&lt;/section&gt;        
&lt;section class="section main-article-chapter" data-menu-title="Behavior-driven development best practices"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Behavior-driven development best practices&lt;/h2&gt;
 &lt;p&gt;Software development teams can take advantage of BDD's benefits while minimizing its challenges by adopting the best practices highlighted below:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Write test scenarios before writing code.&lt;/li&gt; 
  &lt;li&gt;Encourage developers, testers and business stakeholders to collaborate on Gherkin scenarios.&lt;/li&gt; 
  &lt;li&gt;Write scenarios from the user's perspective.&lt;/li&gt; 
  &lt;li&gt;Keep scenarios short and focused on business, not technology.&lt;/li&gt; 
  &lt;li&gt;Ensure each scenario verifies a single, clear outcome.&lt;/li&gt; 
  &lt;li&gt;Reuse step definitions for different scenarios whenever possible.&lt;/li&gt; 
  &lt;li&gt;Organize scenarios with tags to make them easy to find and use.&lt;/li&gt; 
  &lt;li&gt;Shorten feedback loops by running scenarios in CI/CD pipelines.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="Common challenges and drawbacks of BDD"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Common challenges and drawbacks of BDD&lt;/h2&gt;
 &lt;p&gt;Although behavior-driven development has many benefits, it also has some challenges. One important challenge is that adopting and adjusting to a BDD approach can have a high learning curve. Developers and other stakeholders must learn how to write plain-language scenarios reflecting real-world concerns. They must also become familiar with using Gherkin in &lt;a href="https://www.modernanalyst.com/Resources/Articles/tabid/115/ID/3871/BDD-An-introduction-to-feature-files.aspx" target="_blank" rel="noopener"&gt;feature files&lt;/a&gt; that serve as living documentation and automated acceptance tests.&lt;/p&gt;
 &lt;p&gt;Another challenge is that technical personnel may struggle to collaborate with non-technical personnel (and vice versa). In organizations with clear lines of demarcation between these two teams, overcoming the cultural differences between different departments can be almost as difficult as accommodating different levels of technical skills.&lt;/p&gt;
 &lt;p&gt;Behavior-driven design can also be challenging for development teams that have traditionally used &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/Waterfall-vs-Agile-methodology-Differences-and-examples"&gt;Waterfall development strategies&lt;/a&gt;. BDD requires scenarios (and therefore acceptance tests) to be written before code, creating a major workflow shift. Larger or more complex projects can also slow the entire software development lifecycle because hundreds of user-focused scenarios can be time-consuming to develop and maintain.&lt;/p&gt;
 &lt;p&gt;Because BDD can increase complexity and latency in the SDLC, it may not be the right approach for every development project. For small projects, prototypes or highly technical libraries, the additional challenges of BDD deployments may outweigh the benefits, especially in CI/CD pipelines that prioritize speed and simplicity over stakeholder communication.&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;Learn more about the &lt;/i&gt;&lt;a href="https://www.techtarget.com/searchsoftwarequality/CI-CD-pipelines-explained-Everything-you-need-to-know"&gt;&lt;i&gt;challenges of CI-CD pipelines and how to overcome them&lt;/i&gt;&lt;/a&gt;&lt;i&gt; in this comprehensive guide. &lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>Behavior-driven development (BDD) is an Agile development methodology that documents, designs and develops software around the behavior a user expects to experience when interacting with an app.</description>
            <image>https://cdn.ttgtmedia.com/visuals/digdeeper/1.jpg</image>
            <link>https://www.techtarget.com/searchsoftwarequality/definition/Behavior-driven-development-BDD</link>
            <pubDate>Fri, 05 Sep 2025 09:00:00 GMT</pubDate>
            <title>What is behavior-driven development (BDD)?</title>
        </item>
        <item>
            <body>&lt;p&gt;The Capability Maturity Model (CMM) is a methodology used to develop and refine an organization's software development process. The model describes a five-level evolutionary path of increasingly organized and systematically more mature processes.&lt;/p&gt; 
&lt;p&gt;CMM was developed and is promoted by the Software Engineering Institute (&lt;a href="https://www.sei.cmu.edu/" target="_blank" rel="noopener"&gt;SEI&lt;/a&gt;), a research and development center sponsored by the U.S. Department of Defense (DOD) and now part of Carnegie Mellon University. SEI was founded in 1984 to address &lt;a href="https://www.techtarget.com/whatis/definition/software-engineering"&gt;software engineering&lt;/a&gt; issues and, in a broad sense, to advance software engineering methodologies. More specifically, SEI was established to optimize the process of developing, acquiring and maintaining heavily software-reliant systems for the DOD. SEI advocates industry-wide adoption of the CMM Integration (CMMI), which is an evolution of CMM. The CMM model is still widely used as well.&lt;/p&gt; 
&lt;p&gt;CMM is similar to &lt;a href="https://www.techtarget.com/searchdatacenter/definition/ISO"&gt;ISO&lt;/a&gt; 9001, one of the &lt;a href="https://www.techtarget.com/searchdatacenter/definition/ISO-9000"&gt;ISO 9000&lt;/a&gt; series of standards specified by the International Organization for Standardization. The ISO 9000 standards specify an effective quality system for manufacturing and service industries; ISO 9001 deals specifically with software development and maintenance.&lt;/p&gt; 
&lt;p&gt;The main difference between CMM and ISO 9001 lies in their respective purposes: ISO 9001 specifies a minimal acceptable quality level for software processes, while CMM establishes a &lt;a href="https://www.techtarget.com/whatis/definition/framework"&gt;framework&lt;/a&gt; for continuous process improvement. It is more explicit than the ISO standard in defining the means to be employed to that end.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="CMM's five levels of maturity for software processes"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;CMM's five levels of maturity for software processes&lt;/h2&gt;
 &lt;p&gt;There are five levels to the CMM development process. They are the following:&lt;/p&gt;
 &lt;ol class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Initial.&lt;/b&gt; At the initial level, processes are disorganized, ad hoc and even chaotic. Success likely depends on individual efforts and is not considered to be repeatable. This is because processes are not sufficiently defined and documented to enable them to be replicated.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Repeatable.&lt;/b&gt; At the repeatable level, requisite processes are established, defined and documented. As a result, basic &lt;a href="https://www.techtarget.com/searchcio/definition/project-management"&gt;project management&lt;/a&gt; techniques are established, and successes in key process areas are able to be repeated.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Defined.&lt;/b&gt; At the defined level, an organization develops its own standard &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/A-guide-to-software-design-documentation-and-specifications"&gt;software development process&lt;/a&gt;. These defined processes enable greater attention to documentation, standardization and integration.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Managed.&lt;/b&gt; At the managed level, an organization monitors and controls its own processes through &lt;a href="https://www.techtarget.com/searchcio/definition/data-collection"&gt;data collection&lt;/a&gt; and analysis.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Optimizing.&lt;/b&gt; At the optimizing level, processes are constantly improved through &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/6-ways-to-catch-defects-in-software-tighten-feedback-loops"&gt;monitoring feedback from processes&lt;/a&gt; and introducing innovative processes and functionality.&lt;/li&gt; 
 &lt;/ol&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/5_levels_of_the_capability_maturity_model-f.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/5_levels_of_the_capability_maturity_model-f_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/5_levels_of_the_capability_maturity_model-f_mobile.png 960w,https://www.techtarget.com/rms/onlineimages/5_levels_of_the_capability_maturity_model-f.png 1280w" alt="Diagram of the 5 levels of the Capability Maturity Model" height="213" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The Capability Maturity Model takes software development processes from disorganized and chaotic to predictable and constantly improving.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="CMM vs. CMMI: What's the difference?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;CMM vs. CMMI: What's the difference?&lt;/h2&gt;
 &lt;p&gt;CMMI is a newer, updated model of CMM. SEI developed &lt;a href="https://www.cmmiinstitute.com/" target="_blank" rel="noopener"&gt;CMMI&lt;/a&gt; to integrate and standardize CMM, which has different models for each function it covers. These models were not always in sync; integrating them made the process more efficient and flexible.&lt;/p&gt;
 &lt;p&gt;CMMI includes additional guidance on how to improve key processes. It also incorporates ideas from &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/agile-software-development"&gt;Agile development&lt;/a&gt;, such as continuous improvement.&lt;/p&gt;
 &lt;p&gt;SEI released the first version of CMMI in 2002. In 2013, Carnegie Mellon formed the CMMI Institute to oversee CMMI services and future model development.&lt;/p&gt;
 &lt;p&gt;ISACA, a professional organization for IT governance, assurance and cybersecurity professionals, acquired CMMI Institute in 2016. The next version -- CMMI V2.0 -- came out in 2018. It focused on establishing business objectives and tracking those objectives at every level of business &lt;a href="https://www.techtarget.com/whatis/definition/maturity-model"&gt;maturity&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;The current version of CMMI, Version 3.0, was released in 2023. It leverages comments from users and CMMI partners to improve various elements of the model, including changes to the architecture and development of new practice areas addressing people and &lt;a href="https://www.techtarget.com/searchdatamanagement/definition/data-management"&gt;data management&lt;/a&gt;, in addition to addressing &lt;a href="https://www.techtarget.com/searchsecurity/tip/Remote-work-cybersecurity-12-risks-and-how-to-prevent-them"&gt;virtual (e.g., remote) work environments&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;CMMI adds Agile principles to CMM to help improve development processes, software configuration management and &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/Make-quality-a-priority-in-your-software-engineering-culture"&gt;software quality&lt;/a&gt; management. It does this, in part, by incorporating continuous feedback and continuous improvement into the software development process. Under CMMI, organizations are expected to continually optimize processes, record feedback and use that feedback to further improve processes in a cycle of improvement.&lt;/p&gt;
 &lt;div class="youtube-iframe-container"&gt;
  &lt;iframe id="ytplayer-0" src="https://www.youtube.com/embed/lHmHKh-QVNQ?autoplay=0&amp;amp;modestbranding=1&amp;amp;rel=0&amp;amp;widget_referrer=null&amp;amp;enablejsapi=1&amp;amp;origin=https://www.techtarget.com" type="text/html" height="360" width="640" frameborder="0" loading="lazy"&gt;&lt;/iframe&gt;
 &lt;/div&gt;
 &lt;p&gt;One criticism of CMM is that it is too process-oriented and not goal-oriented enough. Organizations have found it difficult to tailor CMM to specific goals and needs. One of CMMI's improvements is to focus on strategic goals and additional practice areas. CMMI is designed to make it easier for businesses to apply the methodology to specific uses than with CMM.&lt;/p&gt;
 &lt;p&gt;Like CMM, CMMI consists of five process maturity levels. However, they are different from the levels in CMM.&lt;/p&gt;
 &lt;p&gt;The process performance levels of CMMI are the following:&lt;/p&gt;
 &lt;ol class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Initial.&lt;/b&gt; Processes are unpredictable and reactive. They increase risk and decrease efficiency.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Managed.&lt;/b&gt; Processes are planned and managed, but they still have issues.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Defined.&lt;/b&gt; Processes become more proactive than reactive.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Quantitatively managed.&lt;/b&gt; Quantitative data is used to craft predictable processes that fulfill &lt;a href="https://www.techtarget.com/searchcio/definition/stakeholder"&gt;stakeholder&lt;/a&gt; needs based on more accurate measurement of adherence to business goals.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Optimizing.&lt;/b&gt; The organization has a set of consistent &lt;a href="https://www.computerweekly.com/feature/How-AI-is-helping-to-drive-business-process-optimisation"&gt;processes that are constantly being improved and optimized&lt;/a&gt;.&lt;/li&gt; 
 &lt;/ol&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/5_levels_of_the_capability_maturity_model_integration-f.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/5_levels_of_the_capability_maturity_model_integration-f_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/5_levels_of_the_capability_maturity_model_integration-f_mobile.png 960w,https://www.techtarget.com/rms/onlineimages/5_levels_of_the_capability_maturity_model_integration-f.png 1280w" alt="Diagram of the 5 levels of the Capability Maturity Model Integration" height="241" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The Capability Maturity Model Integration combines various software develop maturity models into one process.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;The Capability Maturity Model Integration combines various software development maturity models into one process.&lt;/p&gt;
&lt;/section&gt;              
&lt;section class="section main-article-chapter" data-menu-title="Pros and cons of CMMI"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Pros and cons of CMMI&lt;/h2&gt;
 &lt;p&gt;The latest version of the CMMI offers some important advantages, including an updated framework for structured process management, increased scalability to address a wider variety of organizations, and by achieving CMMI certification, an improved competitive position and reputation for excellence.&lt;/p&gt;
 &lt;p&gt;The above benefits also come with a few challenges, including the cost and time needed to achieve and maintain the CMMI model, complexity associated with the program implemented, and possible &lt;a href="https://www.techtarget.com/searchcio/tip/The-importance-of-culture-in-digital-transformation"&gt;cultural resistance&lt;/a&gt; to CMMI processes and their application.&lt;/p&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="Preparing for CMMI assessment and certification"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Preparing for CMMI assessment and certification&lt;/h2&gt;
 &lt;p&gt;Assuming an organization wishes to pursue CMMI accreditation, it must first complete a self-assessment which is followed by a third-party assessment and, hopefully, an &lt;a href="https://cmmiinstitute.com/learning/certifications"&gt;CMMI certification&lt;/a&gt; by the CMMI Institute.&lt;/p&gt;
 &lt;p&gt;The process has several steps, which start by gathering data on the assessment and certification processes from CMMI Institute or one of its approved partner organizations. The candidate organization may elect to receive training on the CMMI process and then proceed to a self-assessment of its current practices as compared to CMMI requirements. Deficiencies uncovered by the assessment can then be addressed.&lt;/p&gt;
 &lt;p&gt;Once the organization has completed the above steps and addressed the relevant assessment components, an appraisal can be scheduled by an approved third party. This can involve interviews, inspections, program and project reviews and other structured activities. Results of the appraisal report can be turned into an action plan to correct any issues. Working in concert with the third-party appraiser, the organization can then apply for certification by the CMMI Institute.&lt;/p&gt;
 &lt;p&gt;A key consideration of self-assessment, appraisal and certification is that the CMMI process does not end with certification. Instead, CMII processes should be part of &lt;a href="https://www.informationweek.com/it-leadership/why-your-it-organization-needs-to-embrace-continuous-improvement"&gt;an organization's continuous improvement&lt;/a&gt; activities.&lt;/p&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="Organizations that provide CMMI assessments and appraisals"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Organizations that provide CMMI assessments and appraisals&lt;/h2&gt;
 &lt;p&gt;The CMMI Institute provides details on how to organize an assessment and/or appraisal. The CMMI Institute Partner Directory lists all partners worldwide. Following is a brief list of CMMI certified lead appraisers.&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;ABI Consultants&lt;/li&gt; 
  &lt;li&gt;Abridge Technology&lt;/li&gt; 
  &lt;li&gt;Accenture LLP&lt;/li&gt; 
  &lt;li&gt;ACE Guides, LLC&lt;/li&gt; 
  &lt;li&gt;ActioNet, Inc.&lt;/li&gt; 
  &lt;li&gt;AFNOR Certification&lt;/li&gt; 
  &lt;li&gt;AG Kaizen Group&lt;/li&gt; 
  &lt;li&gt;Brightline Performance Group&lt;/li&gt; 
  &lt;li&gt;BVSLN System Services Private Ltd.&lt;/li&gt; 
  &lt;li&gt;Delivery Excellence, Inc.&lt;/li&gt; 
  &lt;li&gt;IBM&lt;/li&gt; 
  &lt;li&gt;Layermark&lt;/li&gt; 
  &lt;li&gt;Leading Edge Process Consultants, LLC&lt;/li&gt; 
  &lt;li&gt;Plowright International LLC&lt;/li&gt; 
  &lt;li&gt;Prescient Security&lt;/li&gt; 
  &lt;li&gt;RSK Consulting&lt;/li&gt; 
  &lt;li&gt;Sandhill Consultants Ltd.&lt;/li&gt; 
  &lt;li&gt;Shanghai Fancier Info Tech Ltd.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="The future of CMMI programs"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;The future of CMMI programs&lt;/h2&gt;
 &lt;p&gt;Considering the latest iteration -- Version 3.0 -- of the CMMI model, its expansion into a global set of capability performance metrics, and a greater focus on &lt;a href="https://www.techtarget.com/whatis/feature/Tips-for-learning-new-technologies"&gt;advanced technologies&lt;/a&gt;, people management, virtual work, and environmental, social and governance (&lt;a href="https://www.techtarget.com/whatis/definition/environmental-social-and-governance-ESG"&gt;ESG&lt;/a&gt;) issues, the long-term view of CMMI is positive.&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;As software permeates all aspects of life, developers have an ethical duty to their users. Learn how to &lt;/i&gt;&lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/5-examples-of-ethical-issues-in-software-development"&gt;&lt;i&gt;uphold this responsibility in software development&lt;/i&gt;&lt;/a&gt;&lt;i&gt;. Also, learn about &lt;/i&gt;&lt;a href="https://www.techtarget.com/sustainability/feature/5-IT-sustainability-approaches-to-consider"&gt;&lt;i&gt;constructive approaches to enhancing IT sustainability&lt;/i&gt;&lt;/a&gt;&lt;i&gt;, such as prioritizing e-waste reduction and adopting responsible AI practices. &lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>The Capability Maturity Model (CMM) is a methodology used to develop and refine an organization's software development process.</description>
            <image>https://cdn.ttgtmedia.com/visuals/digdeeper/3.jpg</image>
            <link>https://www.techtarget.com/searchsoftwarequality/definition/Capability-Maturity-Model</link>
            <pubDate>Wed, 03 Sep 2025 09:00:00 GMT</pubDate>
            <title>What is Capability Maturity Model (CMM)?</title>
        </item>
        <item>
            <body>&lt;p&gt;Skilled quality assurance analysts exhibit an inexhaustible curiosity that drives their work. Software testing is one of the few professions where people get paid to find out how something is supposed to work, then immediately try to break it -- and get praised for their efforts when they do.&lt;/p&gt; 
&lt;p&gt;To get ahead in this somewhat wacky profession, &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/Ten-skills-of-highly-effective-software-testers"&gt;software testers must get serious about setting goals&lt;/a&gt;. Cultivate a passion for understanding how things work; that's a smart goal for QA analysts from the very start of their careers.&lt;/p&gt; 
&lt;p&gt;Every &lt;a href="https://www.techtarget.com/searchsoftwarequality/opinion/5-software-testing-books-QA-professionals-should-dig-into"&gt;QA analyst should learn more&lt;/a&gt; about how and why things work, especially things that have nothing to do with computers and software. Ever wonder how mechanical cash registers kept a running tally of the day's sales? How were telephones connected using a patch panel matrix through a switchboard? These are great questions for testers to ponder and research. With that background, it becomes clearer how computers and the software that instructs them improved upon sales tracking, or how communication circuits can be established without human intervention.&lt;/p&gt; 
&lt;p&gt;Curiosity is one thing, but &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/13-common-QA-interview-questions-and-answers"&gt;advancement on a career path&lt;/a&gt; is another. Read on for five &lt;a href="https://www.techtarget.com/whatis/definition/SMART-SMART-goals"&gt;SMART&lt;/a&gt; goals a tester can target to stand out.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="What are SMART goals?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What are SMART goals?&lt;/h2&gt;
 &lt;p&gt;The SMART goals framework helps those who employ it set meaningful, realistic goals. To set SMART goals as a QA analyst, first learn what a SMART goal consists of:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Specific. &lt;/b&gt;Goals in this framework should be as specific, clear and focused as possible. Ambiguous goals leave margin for distraction or waste.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Measurable. &lt;/b&gt;A measurable goal provides information that lets teams track progress and gives concrete benchmarks for achievement.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Achievable. &lt;/b&gt;A SMART goal is achievable -- completing it within the allotted time frame is possible.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Relevant. &lt;/b&gt;The goal should align with the broader objectives of the team and organization.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Time-bound. &lt;/b&gt;The goal should have a target end date.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/what_does_smart_mean-f.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/what_does_smart_mean-f_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/what_does_smart_mean-f_mobile.png 960w,https://www.techtarget.com/rms/onlineimages/what_does_smart_mean-f.png 1280w" alt="Diagram of the SMART goals framework" height="274" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The SMART framework helps teams in any discipline ensure they're setting valuable goals.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="5 SMART goals for QA analysts"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;5 SMART goals for QA analysts&lt;/h2&gt;
 &lt;p&gt;With a basic understanding of the SMART framework, consider these five example SMART goals for QA analysts.&lt;/p&gt;
 &lt;h3&gt;1. Get indoctrinated in business process mapping&lt;/h3&gt;
 &lt;p&gt;This SMART objective is easier said than done, but worth the effort.&lt;/p&gt;
 &lt;p&gt;For starters, lobby the test lead or QA management to spend time in the trenches. When testers spend time with business users who help work flow from input to output, both sides can learn from the experience. Understand the data that higher management needs to &lt;a href="https://www.techtarget.com/searchbusinessanalytics/feature/6-big-data-benefits-for-businesses"&gt;make sound business decisions&lt;/a&gt; and know when it's safe to hand off work from one team member to another.&lt;/p&gt;
 &lt;p&gt;Don't just observe. Ask lots of questions about what constitutes individual units of work and how business users would like to see them improved.&lt;/p&gt;
 &lt;div class="extra-info"&gt;
  &lt;div class="extra-info-inner"&gt;
   &lt;h3 class="splash-heading"&gt;10 testing techniques for QA professionals&lt;/h3&gt; 
   &lt;p&gt;Software testers, embrace your creative and fearless side and learn &lt;a href="https://www.techtarget.com/searchsoftwarequality/pro/10-Exploratory-Testing-Techniques-for-QA-Professionals?utm_source=widget&amp;amp;utm_medium=download&amp;amp;Offer=OTHR-Widget_OTHR-DLO_OTHR-Offer_2021May10_QATesting"&gt;how to do exploratory testing&lt;/a&gt; with approaches for QA professionals of all skill levels.&lt;/p&gt;
  &lt;/div&gt;
 &lt;/div&gt;
 &lt;p&gt;Use a &lt;a href="https://www.techtarget.com/searchapparchitecture/tip/A-review-of-top-software-architecture-visualization-tools"&gt;flow chart tool&lt;/a&gt;, such as Visio or Lucidchart, to create diagrams that highlight where key business decisions are made. Detail these decisions in terms that will help the development or test team later, automating a manual task or improving an existing algorithm, for example.&lt;/p&gt;
 &lt;p&gt;This work is akin to what a business analyst might do, but it's also a worthy goal for a QA analyst. The tester's objective here is to become as much of a business subject matter expert as possible in how work is done in the organization. When creating test scenarios, they can determine what's in the software's critical path versus an &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/The-importance-of-edge-case-testing-When-to-fix-the-bug"&gt;edge or corner case&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;It might not be possible to shadow software's end users as they toil through the day, but learn any standard operating procedures that might be lying around. If no documentation for these procedures exists, draft some with an eye toward a QA audience. Ask why something is done a certain way, not how it is done.&lt;/p&gt;
 &lt;p&gt;It's difficult to measure this individual goal. It's all about gaining an overall knowledge of how processes work on the business side. Understanding this bigger picture will yield better test scenarios, rather than simply improving test execution steps. One way to measure this goal is to see whether a tester can fill in for someone on the business side in an emergency or stand in for one during code deployment verification. The team could theoretically use the key performance indicators for that specific process to measure the QA analyst's performance as a stand-in. Trying to review or validate this measurement might result in a point of diminishing return, however&lt;/p&gt;
 &lt;h3&gt;2. Understand the basics of programming logic&lt;/h3&gt;
 &lt;p&gt;Though it's not a critical requirement for QA analysts, coding proficiency can help to keep up with changing test methodologies and improve automated testing.&lt;/p&gt;
 &lt;p&gt;Traditional QA analysts and manual testers won't require &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/Skills-an-SDET-needs"&gt;as much coding knowledge as SDETs&lt;/a&gt; or automation QA engineers. After all, QA analysts don't write the code. However, programming logic is important for any QA profession. All programming languages have several basic logic structures in common:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;If-then-else.&lt;/li&gt; 
  &lt;li&gt;Case structure.&lt;/li&gt; 
  &lt;li&gt;&lt;em&gt;Do-while.&lt;/em&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;em&gt;Do-until.&lt;/em&gt;&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;Software testers need a basic knowledge of these programming language staples for continued career growth. Successful execution of &lt;a href="https://www.techtarget.com/searchsoftwarequality/answer/Can-automated-application-testing-be-better-than-manual-QA"&gt;manual tests and automated scripts&lt;/a&gt; is helpful, but testing activities only go so far. It's even more important to know the conditions under which data enters one of the programming structures, and what must happen for that data to exit it.&lt;/p&gt;
 &lt;p&gt;Let's start with if-then-else logic. In this structure, &lt;em&gt;if&lt;/em&gt; is whether a condition exists. If it does exist, then execute the &lt;em&gt;then&lt;/em&gt; function. Otherwise, execute the &lt;em&gt;else&lt;/em&gt; function -- or do nothing. The if-then-else structure works well when a condition is true or false.&lt;/p&gt;
 &lt;p&gt;A case structure might be appropriate when a condition falls into one slot in a range of possibilities.&lt;/p&gt;
 &lt;p&gt;A case structure expands on if-then-else by providing multiple functions to execute if certain conditions exist. For example, an if-then-else structure might check if a number falls in a range between 2-10 and, if it does, then the number is multiplied by five. If the number is not in that range, it will fall into the &lt;em&gt;else&lt;/em&gt; condition and is not multiplied at all. A case structure specifies what to do when a number falls into one of many ranges. In this example, a number between 2-10 falls into &lt;strong&gt;Case A&lt;/strong&gt; and is multiplied by five. If the number is between 11-20, it falls into &lt;strong&gt;Case B&lt;/strong&gt; and is multiplied by four. If a number is 21 or higher, it falls into &lt;strong&gt;Case C&lt;/strong&gt; and is multiplied by three. Case structures can get complex and involve branching into other parts of the code.&lt;/p&gt;
 &lt;p&gt;&lt;em&gt;Do-while&lt;/em&gt; and &lt;em&gt;do-until&lt;/em&gt; are basically loops. With &lt;em&gt;do-while&lt;/em&gt;, a function is performed as long as a condition still exists. A &lt;em&gt;do-until&lt;/em&gt; logic structure performs a function until a condition no longer exists.&lt;/p&gt;
 &lt;p&gt;While &lt;a target="_blank" href="https://www.goodreads.com/book/show/4775354-tools-for-structured-design" rel="noopener"&gt;the book itself&lt;/a&gt; is a bit dated, &lt;em&gt;Tools for Structured Design: An Introduction to Programming Logic&lt;/em&gt; by Marilyn Bohl and Maria Rynn, originally published in 1978, helps convey the ubiquitous precepts of all programming languages. A grasp of programming logic in a language-independent manner helps comprehend the entry and exit criteria to test discrete pieces of code. This domain knowledge marries a business process to the most appropriate programming structure. A yes/no decision point in a business process generally maps to an if-then-else structure, whereas a decision point that requires an answer to one of three or more questions might require a case structure.&lt;/p&gt;
 &lt;p&gt;Read through the code with business requirements in mind. Is it more understandable than before? A QA analyst might work with developers in a test-driven development (&lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/test-driven-development"&gt;TDD&lt;/a&gt;) environment to achieve this goal and implement process improvements. In TDD, the QA and development team collaborate on unit testing of discrete pieces of code. Code is written and made to fail an initial test, &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/Essential-refactoring-techniques-to-know"&gt;then refactored&lt;/a&gt; to get it to pass.&lt;/p&gt;
 &lt;h3&gt;3. Brush up on QA history&lt;/h3&gt;
 &lt;p&gt;When setting goals, don't repeat mistakes from the past. Learn what types of processes came before -- failed or successful -- and how those testing processes set the groundwork for existing ones.&lt;/p&gt;
 &lt;p&gt;The way to measure understanding of the past is to see if it helps achieve better Agile performance. While the traditional software development lifecycle (&lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/software-development-life-cycle-SDLC"&gt;SDLC&lt;/a&gt;) and Waterfall methodology eventually resulted in bloated products and documentation, lessons on the intent and approach might still be useful today. Borrow principles and concepts from the past and mold them into usable processes.&lt;/p&gt;
 &lt;p&gt;Check out &lt;a target="_blank" href="https://www.goodreads.com/book/show/1928410.Customer_Oriented_Software_Quality_Assurance" rel="noopener"&gt;the book&lt;/a&gt; &lt;em&gt;Customer Oriented Software Quality Assurance&lt;/em&gt; by Frank P. Ginac, originally published in 1998. This lightning-fast read shows how and why the Software Engineering Institute's Capability Maturity Model (&lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/Capability-Maturity-Model"&gt;CMM&lt;/a&gt;) caught on with many organizations in the late 1990s. It might be eye-opening to realize that some CMM concepts are still relevant.&lt;/p&gt;
 &lt;p&gt;A SMART goal might be to read the book and draw parallels between the book's subject matter and current practices, then use those parallels to improve Agile performance in the organization according to specific metrics.&lt;/p&gt;
 &lt;div class="extra-info"&gt;
  &lt;div class="extra-info-inner"&gt;
   &lt;h3 class="splash-heading"&gt;OKR examples for QA analysts&lt;/h3&gt; 
   &lt;p&gt;While it's helpful to pinpoint SMART goals for a QA analyst's career advancement, don't lose sight of objectives and key results (&lt;a href="https://www.techtarget.com/searchhrsoftware/definition/OKRs-Objectives-and-Key-Results"&gt;OKRs&lt;/a&gt;). OKRs are a collaborative means to define personal or project goals, set meaningful objectives and track key results to realize their outcomes.&lt;/p&gt; 
   &lt;p&gt;First, the QA analyst determines a testing objective and then defines the logical key results that will enable them to meet it. As with SMART goals, &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/OKRs-vs-SMART-goals-in-software-development"&gt;track your OKRs&lt;/a&gt; to see the best results.&lt;/p&gt; 
   &lt;p&gt;Here are some OKR examples for &lt;a href="https://www.techtarget.com/searchsoftwarequality/feature/Skills-and-responsibilities-in-a-QA-engineer-role"&gt;QA engineers&lt;/a&gt;.&lt;/p&gt; 
   &lt;ul class="default-list"&gt; 
    &lt;li&gt;Objective: Increase test coverage for a new product release.&lt;/li&gt; 
    &lt;ul type="circle" class="default-list"&gt; 
     &lt;li&gt;Key result 1: Work with developers to automate 75% of test cases.&lt;/li&gt; 
     &lt;li&gt;Key result 2: Boost code coverage to 90%.&lt;/li&gt; 
     &lt;li&gt;Key result 3: Use a device farm to test on many end-user devices simultaneously.&lt;/li&gt; 
    &lt;/ul&gt; 
    &lt;li&gt;Objective: Boost testing outside of the QA stage.&lt;/li&gt; 
    &lt;ul type="circle" class="default-list"&gt; 
     &lt;li&gt;Key result 1: Implement test-driven development for early refactoring.&lt;/li&gt; 
     &lt;li&gt;Key result 2: Enhance automated regression testing.&lt;/li&gt; 
     &lt;li&gt;Key result 3: Test in production to catch bugs under real conditions but before users see them.&lt;/li&gt; 
    &lt;/ul&gt; 
   &lt;/ul&gt; 
   &lt;p&gt;&lt;strong&gt;Editor's note: &lt;/strong&gt;&lt;em&gt;This sidebar was written by site editor David Carty and approved by contributor Jim Brown.&lt;/em&gt;&lt;/p&gt;
  &lt;/div&gt;
 &lt;/div&gt;
 &lt;h3&gt;4. Become a master of conflict resolution&lt;/h3&gt;
 &lt;p&gt;This SMART goal for a QA analyst is another one that isn't easy to measure but is nonetheless important for career success.&lt;/p&gt;
 &lt;p&gt;A QA analyst's job is to find problems with the company's product -- ideally, before users do. Thus, the tester is often the bearer of bad news. Sometimes developers let out a sigh of relief when testers catch a bug before code moves into production. But there are also &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/Improving-DevOps-collaboration-Challenges-and-tips"&gt;tussles between testers and developers&lt;/a&gt;, the latter of whom are adamant that their code is not at fault when issues arise. Developers might argue that there's a bad or incomplete requirement, or that the testing wasn't done correctly.&lt;/p&gt;
 &lt;p&gt;Acquire the ability to mediate conflicts. It is a skill that will help quash issues between team members over the root cause of a defect, especially when the added project time required for remediation and retesting can lead to additional stress. Set an individual goal to mediate a certain number of conflicts. Or, take a course on conflict resolution by a predetermined date, then seek to apply the skills learned in that course to disputes in the workplace.&lt;/p&gt;
 &lt;p&gt;Conflict resolution is an art that requires confidence. Conflict raises anxiety, and it can breed animosity. Deflecting or avoiding conflict entirely is a goal worth attaining.&lt;/p&gt;
 &lt;h3&gt;5. Boost project management skills&lt;/h3&gt;
 &lt;p&gt;QA analysts run mini-projects within a project. Test planning, resource allocation, test execution time estimates, scheduling time for defect remediation and slotting time for retests -- these are all small, individual projects that contribute to the overall QA for the software project. All of these efforts require some project management skills.&lt;/p&gt;
 &lt;p&gt;A project manager will block off time for test cycles, or sprints, within an overall project plan, but that person isn't always able to get to the minutiae that a QA analyst does. Some CMM practitioners require QA analysts to fill in the testing tasks and timelines in an overall test plan, lifting some of the burden from the project manager.&lt;/p&gt;
 &lt;p&gt;To stay in tune and relevant today, look into the Projects In Controlled Environments (PRINCE) model, which has morphed into &lt;a target="_blank" href="https://www.prince2.com/usa/blog/prince2-agile-is-here-but-what-is-it" rel="noopener"&gt;PRINCE2 Agile&lt;/a&gt;. The PRINCE2 Agile strategy focuses on how project management and Agile product delivery combine as disciplines, making it relevant for QA analysts.&lt;/p&gt;
 &lt;p&gt;One way to measure and achieve this SMART goal is to &lt;a href="https://www.techtarget.com/searchcio/feature/Top-business-process-management-certifications"&gt;gain certification in a standard&lt;/a&gt; such as PRINCE2, Certified Scrum Master or Professional in Project Management within a designated time.&lt;/p&gt;
 &lt;p&gt;By meeting goals such as these, QA analysts can advance &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/Top-software-testing-certifications"&gt;their career path&lt;/a&gt; to a position where they can still apply their testing skills and keep their intuitive minds sharp.&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;Jim Brown is a senior QA analyst at Boston University and a former technology journalist.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>QA testers can gain peer respect and influence through SMART goals. Take ownership of the software you work on, look up to good product managers and achieve these five goals.</description>
            <image>https://cdn.ttgtmedia.com/visuals/searchITChannel/manage_sales_business/itchannel_article_002.jpg</image>
            <link>https://www.techtarget.com/searchsoftwarequality/feature/Goal-1-for-the-QA-tester-Take-ownership</link>
            <pubDate>Mon, 25 Aug 2025 16:47:00 GMT</pubDate>
            <title>5 SMART goals for a QA analyst</title>
        </item>
        <item>
            <body>&lt;p&gt;If you want to prove your mettle as a cloud computing professional who can navigate their way through the Amazon Web Services management console, then the AWS Certified Cloud Practitioner exam is for you.&lt;/p&gt; 
&lt;p&gt;Although it's considered an entry-level designation, the Cloud Practitioner exam is well respected in the industry. It's incredibly difficult and covers an impressively wide array of topics.&lt;/p&gt; 
&lt;p&gt;Not as tightly focused on a specific domain like the &lt;a href="https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/AWS-Certified-Developer-Exam-practice-questions-and-answers"&gt;Certified Developer - Associate&lt;/a&gt; or Solutions Architect - Professional certifications, the Cloud Practitioner exam tests candidates on a wider array of topics than any other AWS exam.&lt;/p&gt; 
&lt;p&gt;If you want to pass the AWS Certified Cloud Practitioner exam, you'll need to demonstrate foundational knowledge in a variety of topics, such as the following:&lt;/p&gt; 
&lt;ul class="default-list"&gt; 
 &lt;li&gt;&lt;a href="https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/How-to-Transfer-a-Domain-to-Amazons-Route-53"&gt;Route 53&lt;/a&gt; and domain name mapping.&lt;/li&gt; 
 &lt;li&gt;Kubernetes and &lt;a href="https://www.techtarget.com/searchitoperations/video/Create-an-Amazon-EKS-cluster-and-deploy-Docker-containers"&gt;EKS clusters&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;The role of &lt;a href="https://www.techtarget.com/searchcloudcomputing/video/An-Amazon-Bedrock-tutorial-for-beginners"&gt;Amazon Bedrock&lt;/a&gt; and SageMaker.&lt;/li&gt; 
 &lt;li&gt;&lt;a href="https://www.theserverside.com/video/Java-Spring-Boot-and-AWS-Elastic-Beanstalk"&gt;Python and Node Beanstalk&lt;/a&gt; app deployment.&lt;/li&gt; 
 &lt;li&gt;Amazon &lt;a href="https://www.theserverside.com/video/Host-a-static-website-on-AWS-with-Amazon-S3-and-Route-53"&gt;S3 static website hosting&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;Container &lt;a href="https://www.theserverside.com/video/How-to-deploy-Spring-Boot-apps-in-AWS"&gt;deployment to ECS&lt;/a&gt;.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Think you're ready to &lt;a target="_blank" href="https://aws.amazon.com/certification/" rel="noopener"&gt;schedule the test&lt;/a&gt;?&lt;/p&gt; 
&lt;p&gt;Before you sign up, step through this 65-question AWS Certified Cloud Practitioner practice exam. If the questions make sense and you have no problem picking the correct answer, you are well on your way to not just passing the test, but possibly pulling in a 100% score.&lt;/p&gt; 
&lt;p&gt;&lt;i&gt;Cameron McKenzie has been a Java EE software engineer for 20 years. His current specialties include Agile development; DevOps; Spring; and container-based technologies such as Docker, Swarm and Kubernetes.&lt;/i&gt;&lt;/p&gt;</body>
            <description>Looking to get AWS Cloud Practitioner certified? Then step through these 65 questions and prepare yourself for the test.</description>
            <link>https://www.theserverside.com/video/AWS-Certified-Cloud-Practitioner-practice-exam</link>
            <pubDate>Mon, 25 Aug 2025 16:00:00 GMT</pubDate>
            <title>AWS Certified Cloud Practitioner practice exam</title>
        </item>
        <item>
            <body>&lt;p&gt;In this fast-paced world of AI-infused product development lifecycles, having strong product owners who truly understand Scrum and Agile product development is more important than ever.&lt;/p&gt; 
&lt;p&gt;This video tutorial goes over 40 of the toughest Scrum product owner certification exam questions you'll encounter. It will also provide strategies on how to answer the toughest questions, and explanations of some of the most esoteric Scrum topics, including the following:&lt;/p&gt; 
&lt;ul class="default-list"&gt; 
 &lt;li&gt;The purpose of &lt;a href="https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/Sprint-vs-Scrum-Whats-the-difference"&gt;Agile sprints&lt;/a&gt;, &lt;a href="https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/who-required-daily-scrum-necessarily-standup-must-developers-product-owner-master"&gt;daily Scrums&lt;/a&gt;, &lt;a href="https://www.theserverside.com/video/Sprint-review-vs-retrospective-Whats-the-difference"&gt;reviews&lt;/a&gt; and &lt;a href="https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/Are-the-4-Scrum-meeting-types-too-many"&gt;retrospectives&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;The &lt;a href="https://www.theserverside.com/tip/Product-owner-vs-product-manager-Whats-the-difference"&gt;role of the product owner&lt;/a&gt; and how they optimize value.&lt;/li&gt; 
 &lt;li&gt;The &lt;a href="https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/Agile-Scrum-Process-Steps-Methodology-Sprint-Flow-Principles-Values-Pillars-Guide"&gt;Agile Scrum process&lt;/a&gt; and how it helps product development.&lt;/li&gt; 
 &lt;li&gt;&lt;a href="https://www.theserverside.com/tip/Who-should-be-the-product-owner-in-Scrum"&gt;Who should be the product owner&lt;/a&gt; on a Scrum team?&lt;/li&gt; 
 &lt;li&gt;The importance of &lt;a href="https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/What-is-a-Scrum-commitment"&gt;Scrum commitments&lt;/a&gt;, the &lt;a href="https://www.techtarget.com/whatis/feature/What-are-the-5-Scrum-values"&gt;five Scrum values&lt;/a&gt; and the three pillars.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;If you're looking to advance your career, move into product development and learn about the &lt;a target="_blank" href="https://www.scrum.org/resources/scrum-guide" rel="noopener"&gt;Scrum Guide&lt;/a&gt;, this set of practice exam questions will not only provide you a better &lt;a href="https://www.theserverside.com/video/Scrum-methodology-explained"&gt;understanding of Scrum&lt;/a&gt;, it will also help you achieve the much prized and much coveted Certified Scrum Product Owner designation.&lt;/p&gt; 
&lt;p&gt;&lt;i&gt;Cameron McKenzie has been a Java EE software engineer for 20 years. His current specialties include Agile development; DevOps; Spring; and container-based technologies such as Docker, Swarm and Kubernetes.&lt;/i&gt;&lt;/p&gt;</body>
            <description>Want to get Scrum product owner certified? This 40-question practice exam will test your mettle and prepare you for the exam.</description>
            <link>https://www.theserverside.com/video/Scrum-product-owner-certification-practice-exam-questions</link>
            <pubDate>Mon, 25 Aug 2025 13:29:00 GMT</pubDate>
            <title>Scrum product owner certification practice exam questions</title>
        </item>
        <item>
            <body>&lt;p&gt;Not every company has the scale and skills of Intuit's Credit Karma, but the company's data science head has some advice on where others can begin devising their own AI governance framework.&lt;/p&gt; 
&lt;p&gt;Credit Karma can use Intuit's &lt;a href="https://www.techtarget.com/searchsoftwarequality/news/366627890/Intuits-Ashok-Srivastava-on-AI-agents-new-frontier"&gt;GenOS AI operating system&lt;/a&gt;, with its catalog of AI models, agents and software development tools. With help from GenOS, teams at Credit Karma recently created a multi-agent system to automatically review AI outputs before allowing them to reach production.&lt;/p&gt; 
&lt;div class="imagecaption alignLeft"&gt;
 &lt;img src="https://cdn.ttgtmedia.com/rms/onlineimages/daianu_madelaine.jpg" alt="Madelaine Daianu, senior director of data science and engineering, Credit Karma"&gt;Madelaine Daianu
&lt;/div&gt; 
&lt;p&gt;These form the technical basis for the AI compliance initiative led by Madelaine Daianu, senior director of data science and engineering at Credit Karma. But these efforts began with hands-on human collaboration that other companies can and must emulate, as every company and industry must &lt;a href="https://www.techtarget.com/healthtechanalytics/feature/How-health-systems-are-facilitating-AI-governance"&gt;devise its own tailored approach&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;"Finding a balancing act between innovation and safety, compliance or whatever is relevant to them is extremely important, and taking the step to slow down a little bit before they run and move fast," Daianu said. "Have your internal red team go and break an LLM-generated response and learn from it, and develop a thorough, custom evaluation framework for your use case."&lt;/p&gt; 
&lt;blockquote class="main-article-pullquote"&gt;
 &lt;div class="main-article-pullquote-inner"&gt;
  &lt;figure&gt;
   Have your internal red team go and break an LLM-generated response and learn from it, and develop a thorough, custom evaluation framework for your use case.
  &lt;/figure&gt;
  &lt;figcaption&gt;
   &lt;strong&gt;Madelaine Daianu&lt;/strong&gt;Senior director of data science and engineering, Credit Karma
  &lt;/figcaption&gt;
  &lt;i class="icon" data-icon="z"&gt;&lt;/i&gt;
 &lt;/div&gt;
&lt;/blockquote&gt; 
&lt;p&gt;At Credit Karma, &lt;a href="https://www.techtarget.com/whatis/definition/red-teaming"&gt;red teams&lt;/a&gt; that broke workflows driven by large language models (LLMs) and identified their weaknesses devised a five-step evaluation framework for AI governance.&lt;/p&gt; 
&lt;p&gt;The framework's stages include the following:&lt;/p&gt; 
&lt;ul class="default-list"&gt; 
 &lt;li&gt;Response quality and accuracy.&lt;/li&gt; 
 &lt;li&gt;AI safety, including detecting bias.&lt;/li&gt; 
 &lt;li&gt;Compliance, primarily with the contractual expectations of Credit Karma partners when it presents credit card and loan information to customers on its platform.&lt;/li&gt; 
 &lt;li&gt;Data provenance and accuracy.&lt;/li&gt; 
 &lt;li&gt;System metrics such as cost and latency.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;"Within this framework, compliance is where we had to get super innovative, because it would take us a very long time to [manually] check summaries from an LLM," Daianu said. "For instance, in the case of a credit card, we need to make sure that we represent the benefits of that card as mapped to the partner brand with the utmost accuracy. But to be able to do that, we had to extract the fields from the summary that are pertinent to, say, rates or fees."&lt;/p&gt; 
&lt;p&gt;That's where the &lt;a href="https://www.techtarget.com/searchenterpriseai/news/366623681/IBM-customers-assess-the-performance-of-AI-agents"&gt;multi-agent&lt;/a&gt; system came in. Specialized AI agents check each specific data field within LLM-generated summaries and ensure that their presentation to users follows the partner brand. In this and other stages of the evaluation framework, LLMs are also used to judge the overall response quality from groups of agents.&lt;/p&gt; 
&lt;p&gt;Those models were trained with human feedback from Credit Karma's customer success team, which still performs spot checks. According to Daianu, AI agents simply reapply that evaluation process to new summaries, up to 50 times faster.&lt;/p&gt; 
&lt;p&gt;However, when evaluating AI tools, it's also important not to overuse them, Daianu said.&lt;/p&gt; 
&lt;p&gt;"We are using GenAI as a judge in some elements of our framework, especially for compliance, but not everywhere," she said. "For AI safety, we can use traditional machine learning. Not overfitting GenAI ... is important, because that can oftentimes give you better accuracy, better explainability, and is not as much of a black box."&lt;/p&gt; 
&lt;p&gt;&lt;em&gt;Beth Pariseau, a senior news writer for Informa TechTarget, is an award-winning veteran of IT journalism covering DevOps. Have a tip? &lt;a href="mailto:beth.pariseau@informatechtarget.com?subject=News%20tip"&gt;Email her&lt;/a&gt; or reach out &lt;a target="_blank" href="https://x.com/PariseauTT" rel="noopener"&gt;@PariseauTT&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</body>
            <description>Start slow and break things -- that's how the head of data and AI at the fintech says enterprises should start building AI governance frameworks.</description>
            <image>https://cdn.ttgtmedia.com/rms/onlineimages/ai_g1183318665.jpg</image>
            <link>https://www.techtarget.com/searchitoperations/news/366628735/Credit-Karma-leader-shares-AI-governance-lessons-learned</link>
            <pubDate>Thu, 07 Aug 2025 13:56:00 GMT</pubDate>
            <title>Credit Karma leader shares AI governance lessons learned</title>
        </item>
        <item>
            <body>&lt;p&gt;Ethical practices have not traditionally been a part of software development. Software didn't always have a direct impact on daily life, and the pace of development was slow.&lt;/p&gt; 
&lt;p&gt;In modern society, people encounter software in all aspects of life. AI, big data and data analytics all have &lt;a href="https://www.techtarget.com/searchenterpriseai/tip/Generative-AI-ethics-8-biggest-concerns"&gt;real ramifications for individuals&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Although software developers work primarily behind the scenes in businesses, their decisions in the course of a project can have an outsized impact in the world -- for better or worse -- in terms of compliance, fairness, integrity and trust. Everyone in the industry should be aware of social and ethical issues in software development.&lt;/p&gt; 
&lt;p&gt;Below are some examples of ethical issues and how developers can address them:&lt;/p&gt; 
&lt;ul class="default-list"&gt; 
 &lt;li&gt;Addictive design.&lt;/li&gt; 
 &lt;li&gt;Corporate ownership of personal data.&lt;/li&gt; 
 &lt;li&gt;Algorithmic bias.&lt;/li&gt; 
 &lt;li&gt;Weak cybersecurity and personally identifiable information (&lt;a href="https://www.techtarget.com/searchsecurity/definition/personally-identifiable-information-PII"&gt;PII&lt;/a&gt;) protection.&lt;/li&gt; 
 &lt;li&gt;Overemphasis on features.&lt;/li&gt; 
 &lt;li&gt;Lack of transparency.&lt;/li&gt; 
 &lt;li&gt;Environmental impact.&lt;/li&gt; 
 &lt;li&gt;Human rights impact.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;section class="section main-article-chapter" data-menu-title="1. Addictive design"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;1. Addictive design&lt;/h2&gt;
 &lt;p&gt;Every developer yearns to create programs that people love to use -- that's just &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/UX-design-principles-Why-should-testers-know-them"&gt;good UX design&lt;/a&gt;. The problem is that some teams craft apps that people love too much. There is an ethical concern about the role of digital platforms, such as social media.&lt;/p&gt;
 &lt;p&gt;Critics such as Tristan Harris of the Center for Humane Technology argue that social media companies profit from outrage, confusion, addiction and depression -- and consequently put our well-being and democracy at risk. Harris notably went viral while working at Google with a presentation about the push for addictive technology design and companies' moral responsibility in society.&lt;/p&gt;
 &lt;p&gt;Striking an ethical balance between products that consumers love and products that hijack their attention is more an art than a science. In product creation and updates, ask the following questions:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Who benefits?&lt;/li&gt; 
  &lt;li&gt;How do they benefit?&lt;/li&gt; 
  &lt;li&gt;To what degree do they benefit?&lt;/li&gt; 
  &lt;li&gt;Are there safeguards for user health and sanity?&lt;/li&gt; 
  &lt;li&gt;How overt is monetization and customer data collection and use, including through &lt;a href="https://www.techtarget.com/searchenterpriseai/tip/9-top-AI-and-machine-learning-trends"&gt;AI and machine learning&lt;/a&gt;? How transparent are these practices?&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;David K. Bain, founding executive director of the Technology Integrity Council, offers Duolingo and TikTok as two contrasting examples of app design. Both apps generate growth and revenue for their creators, but the nature of their benefit to users is different.&lt;/p&gt;
 &lt;p&gt;Duolingo's clients gain language skills and are challenged with activities that enhance neuronal growth and &lt;a target="_blank" href="https://faculty.washington.edu/chudler/plast.html" rel="noopener"&gt;brain plasticity&lt;/a&gt;. TikTok users receive cultural knowledge as well as immediate gratification with video content that bathes the brain with intoxicating neurotransmitters. "Based on this, many adults would say that the true user benefit of Duolingo is greater than [that of] TikTok," Bain said, but added that his teenage daughter would disagree.&lt;/p&gt;
 &lt;p&gt;The two apps have different attitudes toward usage limits meant to safeguard against addictive attachment. Duolingo encourages consistency and makes the strong case that its use is linked to optimized learning curves. Duolingo definitely grabs users by the lapels to meet their daily quota and maintain performance streaks. But once the daily activities are done, Duolingo releases the user. By contrast, TikTok entices users to stay with an essentially limitless buffet of consumable media.&lt;/p&gt;
 &lt;p&gt;Apps often include user manipulation, monetization methods, user data collection for corporate use and machine learning algorithms to enhance the app. A transparent app provider would give users some level of knowledge and understanding about these practices.&lt;/p&gt;
 &lt;p&gt;Here's how this ethical aspect plays out in the two example apps: "Duolingo's users are clearly willing victims of an enforced daily regimen, but are most certainly not aware that ads and usage data connect to a much larger advertising ecosystem," Bain said. "TikTok's users, especially the younger ones, I am quite sure are largely and happily oblivious to the methods and outcomes of their addictions."&lt;/p&gt;
&lt;/section&gt;          
&lt;section class="section main-article-chapter" data-menu-title="2. Questionable personal data ownership"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;2. Questionable personal data ownership&lt;/h2&gt;
 &lt;p&gt;AI-based processing of biometric and other contextual data about customers has increased with device and software evolution. Software can profile users and predict behaviors at a scary level of detail.&lt;/p&gt;
 &lt;p&gt;"Usually, the ethical question is [one of] what to do with that data," said Miguel Lopes, chief product officer at TrafficGuard, an ad verification and fraud prevention platform. This ethical issue is a dilemma for developers in every kind of business -- not just the social media giants making the news.&lt;/p&gt;
 &lt;p&gt;An algorithm directs information collection and profile building, but the subsequent actions are intentional. The developer is ordinarily aware of the power of this data in context.&lt;/p&gt;
 &lt;blockquote class="main-article-pullquote"&gt;
  &lt;div class="main-article-pullquote-inner"&gt;
   &lt;figure&gt;
    Developers can help contextualize the impact of technical choices on ethical considerations for other roles within the company.
   &lt;/figure&gt;
   &lt;i class="icon" data-icon="z"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/blockquote&gt;
 &lt;p&gt;One of the root causes of ethical concerns relates to how the business generates revenue and incentivizes developers and business managers, Lopes said. In many cases, companies look at user data as a valuable currency and want to monetize the data they store. "These factors might cause these organizations to &lt;a href="https://www.techtarget.com/searchdatabackup/tip/5-common-data-protection-challenges-that-businesses-face"&gt;share their user data unethically&lt;/a&gt;," he said.&lt;/p&gt;
 &lt;p&gt;Developers face a hard decision regarding personal data and software design. They can create systems to exploit user data with the understanding that the liability lies with the organization, or they can raise concerns but face potential penalization for going against the project's aims. Modern technology companies' working culture should let developers come forward with &lt;a href="https://www.techtarget.com/searchdatamanagement/feature/Top-3-data-privacy-challenges-and-how-to-address-them"&gt;personal data ownership concerns&lt;/a&gt; without fear of retaliation.&lt;/p&gt;
 &lt;p&gt;These kinds of concerns galvanized some rich discussion at the different organizations where Lopes has worked, which decided not to offer a free service tier. "We have analyzed the implications and prefer to sustain our operations by selling our service instead of our user data, and not subjecting our developer team with these difficult choices," Lopes said. Internal transparency within companies is a crucial factor. Developers should be aware of the entire context of the project they are working on, not just the module they need to complete.&lt;/p&gt;
 &lt;p&gt;Companies should make it easy for developers to step forward with concerns. The HR department could create mechanisms where developers can express their concerns &lt;a href="https://www.techtarget.com/searchhrsoftware/news/366588073/Catastrophic-AI-risks-highlight-need-for-whistleblower-laws"&gt;without the fear of retaliation&lt;/a&gt;, such as an anonymous hotline for ethical concerns. The organization should then follow up and independently identify whether the use case is in breach of privacy, legal or ethical policies.&lt;/p&gt;
&lt;/section&gt;         
&lt;section class="section main-article-chapter" data-menu-title="3. Algorithmic bias"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;3. Algorithmic bias&lt;/h2&gt;
 &lt;p&gt;Technology can amplify existing biases. "One of the more pressing ethical issues facing today's developers is bias," said Spencer Lentz, principal account executive at Pegasystems, a business automation platform.&lt;/p&gt;
 &lt;p&gt;Bias often enters the system undetected -- Lentz compares bias to a virus. Computers themselves have no inherent moral framework. Software can only reflect the biases of its creators. Therefore, developers and data scientists must scrub bias from the training data and the algorithms they build. From a developer's perspective, bias often centers on eliminating options for the wrong reasons, Lentz said.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineImages/bi_ezine-how_ai_systems_amplify_bias.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineImages/bi_ezine-how_ai_systems_amplify_bias_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineImages/bi_ezine-how_ai_systems_amplify_bias_mobile.png 960w,https://www.techtarget.com/rms/onlineImages/bi_ezine-how_ai_systems_amplify_bias.png 1280w" alt="Visual depiction of bias amplification in AI systems." height="336" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;AI, when trained on incomplete and biased data, can produce biased results.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Reporting and research in recent years illustrates how &lt;a href="https://www.techtarget.com/searchbusinessanalytics/feature/8-types-of-bias-in-data-analysis-and-how-to-avoid-them"&gt;bias within software systems&lt;/a&gt; can perpetuate &lt;a href="https://www.techtarget.com/searchcio/feature/Rooting-out-racism-in-AI-systems-theres-no-time-to-lose"&gt;systemic racism&lt;/a&gt; against specific populations, which creates lost opportunity, worsens medical care and increases rates of incarceration. For example, in the book &lt;i&gt;Race After Technology&lt;/i&gt;, Ruha Benjamin raised concerns about a case where developers failed to include Black people's voices in training AI speech recognition algorithms, under the belief that fewer Black people would use the app.&lt;/p&gt;
 &lt;p&gt;Executives, data scientists and developers must create an organizational culture that establishes ethical guidelines and empowers individuals at any level of the business to speak up if they see something problematic.&lt;/p&gt;
 &lt;p&gt;"By now, bias in models is so well known that &lt;a href="https://www.techtarget.com/searchenterpriseai/tip/Why-does-AI-hallucinate-and-can-we-prevent-it"&gt;LLM hallucination&lt;/a&gt; is a mainstream concept," said Peter Wang, chief AI and innovation officer and co-founder of Anaconda, a data science platform. "The greatest risk nowadays is that people are so swept up in the hype and a fear of falling behind that they don't take the time to diligently build evaluation mechanisms and implement governance. As an industry, we need to be more transparent about how high the failure rates are for enterprise AI projects so that managers and executives don't feel compelled to rush through extremely important topics like alignment, accuracy and safety."&lt;/p&gt;
 &lt;p&gt;It's time to create a governing body for AI providers, similar to the American Medical Association for doctors, Wang argued. This body could establish industry-wide ethical guidelines and best practices. "These technologies are still relatively new in the business context, and we would all benefit from ethical standards derived from our collective intelligence and input, rather than leaving it up to each individual or organization to decide for themselves," he said.&lt;/p&gt;
&lt;/section&gt;        
&lt;section class="section main-article-chapter" data-menu-title="4. Weak security and PII protection"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;4. Weak security and PII protection&lt;/h2&gt;
 &lt;p&gt;Application security is growing in importance as software plays a larger role in our online and offline environments.&lt;/p&gt;
 &lt;p&gt;Developers might only &lt;a href="https://www.techtarget.com/searchsoftwarequality/feature/DevSecOps-puts-software-development-and-security-on-equal-footing"&gt;address security&lt;/a&gt; after code release, rather than during development. As a result, the software community lacks &lt;a href="https://www.techtarget.com/searchsecurity/tip/How-to-use-security-as-code-to-achieve-DevSecOps"&gt;secure development standards&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;"The emphasis is almost entirely on getting a product out to market," said Randolph Morris, founder and principal software architect at Bit Developers, a software development consultancy. Once a software product is publicly available, the focus shifts to new features and performance optimization, so security continues to have minimal prominence.&lt;/p&gt;
 &lt;p&gt;Hackers and other malicious actors cause real damage to real people. A reactionary approach to application security that plugs vulnerabilities as they are found is neither practical nor pragmatic.&lt;/p&gt;
 &lt;p&gt;To address this ethical responsibility for customer safety, developers need education, but typically only cybersecurity-specific classes address these topics. To start, educate your team about cybersecurity failures such as the landmark &lt;a href="https://www.healthcaredive.com/news/massive-hack-at-anthem-may-be-largest-healthcare-breach-to-date/360898/"&gt;Anthem medical data breach of 2015&lt;/a&gt;, where PII was stored as plain text in a database. "If this information was encrypted, it would not have been so easy to use and valuable to distribute," Morris said.&lt;/p&gt;
 &lt;p&gt;Also, the industry needs revised security standards. Organizations can do more to embrace standards meant to protect PII. The Payment Card Industry Data Security Standard and HIPAA for healthcare apps are a good start, but developers should consider other forms of PII as well -- and &lt;a href="https://www.techtarget.com/searchcustomerexperience/answer/How-do-companies-protect-customer-data"&gt;software designs that protect it&lt;/a&gt;.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/compare_pii_pi_spi_and_npi-f.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/compare_pii_pi_spi_and_npi-f_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/compare_pii_pi_spi_and_npi-f_mobile.png 960w,https://www.techtarget.com/rms/onlineimages/compare_pii_pi_spi_and_npi-f.png 1280w" alt="Chart explaining different types of personal information." height="588" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Explore the different types of personal information that businesses should handle responsibly in app design.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
&lt;/section&gt;        
&lt;section class="section main-article-chapter" data-menu-title="5. Prioritizing features over impact"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;5. Prioritizing features over impact&lt;/h2&gt;
 &lt;p&gt;At the center of many ethical issues is a decision that capabilities in software releases are more important than the effects they could have. But just because you can doesn't mean you should.&lt;/p&gt;
 &lt;p&gt;"If the development team is measured on their rate of feature development, there's a high probability that the ethics of a given implementation might not be front of mind, either at the design or at the implementation phase," said Tim Mackey, head of software supply chain risk strategy at Black Duck, an application security platform.&lt;/p&gt;
 &lt;p&gt;The business itself must set the tone for ethical standards in its software. Below are some ways businesses can achieve that:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Reflect ethics priorities throughout the software lifecycle from design to operation.&lt;/li&gt; 
  &lt;li&gt;Train staff on ethical choices such as open source software licensing and use.&lt;/li&gt; 
  &lt;li&gt;Teach developers, architects, testers and other software team members about data management practices that &lt;a href="https://www.techtarget.com/searchdatamanagement/tip/5-data-governance-framework-examples"&gt;comply with regulations&lt;/a&gt; and customer expectations.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;Developers don't always follow news on the latest legislative actions in the jurisdictions where customers use their software, Mackey pointed out, but the business must ensure that they're informed.&lt;/p&gt;
 &lt;p&gt;Collaboration between engineering leadership and legal teams can help avoid ethical shortcomings. For example, the business should focus on customers' personal data access and retention. Data access controls and logging mechanisms are enabled at software implementation time. Developers -- tasked with creating a functional, user-friendly product -- might view data access restrictions as the responsibility of another team. Instead, make sure that data protection is a feature included in the software design, inherently protecting against unauthorized access.&lt;/p&gt;
&lt;/section&gt;       
&lt;section class="section main-article-chapter" data-menu-title="6. Mirage of AI transparency"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;6. Mirage of AI transparency&lt;/h2&gt;
 &lt;p&gt;Large language models are playing a growing role in software development across tasks such as generating code and supporting unstructured data processing. Owing to the complexity of LLMs, it's easy to overlook &lt;a href="https://www.techtarget.com/searchenterpriseai/tip/Explore-the-role-of-training-data-in-AI-and-machine-learning"&gt;how these systems are trained&lt;/a&gt;, configured and deployed -- and what this means for users.&lt;/p&gt;
 &lt;p&gt;"Software companies should always disclose how they are training their AI engines," Lopes said. "The way user data is collected, often silently and fed into LLMs, raises serious questions about consent, security and the ethical boundaries of automation."&lt;/p&gt;
 &lt;p&gt;Several high-profile cases have emerged where user interactions on platforms have been used to quietly train AI without any notification. "We've seen companies harvest behavioral data without consent, essentially turning users into unpaid contributors to the very models that may one day replace their jobs," he continued.&lt;/p&gt;
 &lt;p&gt;A properly trained AI agent requires deep configuration, supervision and expensive human talent. "The costs you think you're saving by skipping proper development are almost always eclipsed by the damage caused by a &lt;a href="https://www.techtarget.com/searchsoftwarequality/news/366627829/Replit-AI-agent-snafu-shot-across-the-bow-for-vibe-coding"&gt;poorly specialized agent&lt;/a&gt; -- whether it's security risks, misinformation or loss of customer trust," Lopes said.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ethical_ai_challenges_and_concerns-f.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ethical_ai_challenges_and_concerns-f_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ethical_ai_challenges_and_concerns-f_mobile.png 960w,https://www.techtarget.com/rms/onlineimages/ethical_ai_challenges_and_concerns-f.png 1280w" alt="List of AI ethics considerations." height="374" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;AI ethics frameworks aim at mitigating some of the above issues.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="7. Environmental impact"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;7. Environmental impact&lt;/h2&gt;
 &lt;p&gt;Concerns about the environmental impact of various activities are growing, fueled by increasing awareness of climate change's effects, including rising temperatures, floods, fires and other adverse weather conditions. The activities of technology companies can also decrease access to clean water, pollute the air and diminish biodiversity.&lt;/p&gt;
 &lt;p&gt;The growing use of AI poses a risk of &lt;a href="https://www.techtarget.com/searchdatacenter/feature/How-the-rise-in-AI-impacts-data-centers-and-the-environment"&gt;significantly increasing energy consumption&lt;/a&gt; and, consequently, carbon emissions. It can also increase pressure on water systems used to cool data centers, thereby compromising local communities. Cloud providers are also starting to explore carbon-neutral energy sources, &lt;a href="https://www.techtarget.com/whatis/feature/Three-tech-companies-eyeing-nuclear-power-for-AI-energy"&gt;such as nuclear fission plants&lt;/a&gt;, while glossing over the still unresolved environmental costs associated with disposing of spent radioactive fuel.&lt;/p&gt;
 &lt;p&gt;These are all big-picture concerns that typically fall outside the software development cycle, but they are worth considering when deciding on the potential &lt;a href="https://www.techtarget.com/searchcio/news/366585653/CIOs-face-obstacles-when-scaling-generative-AI"&gt;impact of scaling new LLM-powered apps&lt;/a&gt;. Other aspects include the potential for new software apps to encourage poor environmental choices. A fast-fashion app might drive revenues at the expense of more waste.&lt;/p&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="8. Social and human rights impact"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;8. Social and human rights impact&lt;/h2&gt;
 &lt;p&gt;Multiple dimensions for considering the human rights impact of software development practices include its potential effects on labor and communities.&lt;/p&gt;
 &lt;p&gt;On the labor front, one concern has been the growth of so-called &lt;a href="https://www.techtarget.com/whatis/definition/data-labeling"&gt;data labeling&lt;/a&gt; sweatshops that involve exposing workers to toxic content to improve content moderation in AI systems. Although most enterprises are not directly involved in this process, they might overlook the practices used by their AI and data system vendors and contractors.&lt;/p&gt;
 &lt;div class="youtube-iframe-container"&gt;
  &lt;iframe id="ytplayer-0" src="https://www.youtube.com/embed/icvD3gv2vGQ?autoplay=0&amp;amp;modestbranding=1&amp;amp;rel=0&amp;amp;widget_referrer=null&amp;amp;enablejsapi=1&amp;amp;origin=https://www.techtarget.com" type="text/html" height="360" width="640" frameborder="0" loading="lazy"&gt;&lt;/iframe&gt;
 &lt;/div&gt;
 &lt;p&gt;Additionally, it's essential to consider the potential impacts of optimizing apps for aspects that are relatively easy to quantify, such as warehouse throughput, compared with those that are more challenging to quantify, like worker health or mental well-being. The risk is that certain kinds of productivity optimizations might have adverse effects on the lives of workers and their contributions to their families and communities.&lt;/p&gt;
 &lt;p&gt;The rise of AI systems in software development has been driving the growth of the data labeling industry, often with limited oversight. New apps also have the potential to disrupt the social fabric of communities.&lt;/p&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="Best practices for ethical software development"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Best practices for ethical software development&lt;/h2&gt;
 &lt;p&gt;Below are several ways to foster practices that have a positive societal impact:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Proactivity.&lt;/b&gt; Be curious about the impact and context of software engineering choices on ethical software development and the world at large.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Honesty.&lt;/b&gt; Consider how software engineering choices might conflict with ethical principles, even when it's uncomfortable for you personally or for the company.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Accountability.&lt;/b&gt; Identify ways to measure and communicate about ethical issues within the company to be sure that everyone is on the same page.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Balance social responsibility with technical ability.&lt;/b&gt; Remember that developers can help contextualize the impact of technical choices on ethical considerations for other roles within the company.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;&lt;i&gt;George Lawton is a journalist based in London. Over the last 30 years, he has written more than 3,000 stories about computers, communications, knowledge management, business, health and other areas that interest him.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>As software becomes entrenched in every aspect of the human experience, developers have an ethical responsibility to their customers. Learn how to approach this responsibility.</description>
            <image>https://cdn.ttgtmedia.com/rms/onlineimages/check_g1199243271.jpg</image>
            <link>https://www.techtarget.com/searchsoftwarequality/tip/5-examples-of-ethical-issues-in-software-development</link>
            <pubDate>Fri, 01 Aug 2025 12:00:00 GMT</pubDate>
            <title>8 examples of ethical issues in software development</title>
        </item>
        <item>
            <body>&lt;p&gt;In asking development teams what their primary objective is, they will most likely answer with some version of the goals below:&lt;/p&gt; 
&lt;ul class="default-list"&gt; 
 &lt;li&gt;Write &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/9-techniques-for-fixing-bugs-in-production"&gt;bug-free code&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;Meet &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/A-guide-to-software-design-documentation-and-specifications"&gt;design specifications&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;Prevent &lt;a href="https://www.techtarget.com/searchsecurity/tip/How-to-use-security-as-code-to-achieve-DevSecOps"&gt;security issues&lt;/a&gt; and vulnerabilities.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;So, how can teams review code to make sure that the three primary goals are met?&lt;/p&gt; 
&lt;p&gt;Code analysis is the easy answer to the question, but should it be static code analysis? What about dynamic code analysis?&lt;/p&gt; 
&lt;p&gt;Both static and dynamic code analysis have important roles to play as part of an integrated development and deployment process. Without each other, neither is likely to serve the team well.&lt;/p&gt; 
&lt;p&gt;Let's examine how static and dynamic code analysis both play an important role in software development and how their differences help shape code.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="How do static and dynamic code analysis differ?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How do static and dynamic code analysis differ?&lt;/h2&gt;
 &lt;p&gt;Static code analysis examines code to identify issues within the logic and techniques. It looks for issues with the code before runtime. Dynamic code analysis involves running code and examining the outcome, which also entails testing possible execution paths of the code.&lt;/p&gt;
 &lt;p&gt;Even in the most rudimentary fashion, when development teams test the code, they're performing dynamic analysis. When programmers review the code, they're performing static analysis. Regardless of which tools they use, developers and programmers are performing analysis that ultimately helps &lt;a href="https://www.techtarget.com/searchsoftwarequality/answer/What-coding-standards-in-software-engineering-should-we-follow"&gt;create better code&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;The differences between static and dynamic analysis make them complementary, with each technique addressing the other's weak points to improve code. Some of the main differences include the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Timing of analysis.&lt;/b&gt; Static code analysis begins as the code is developed, whereas dynamic analysis occurs after the code is written, so teams can execute and examine the workflow.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Code execution.&lt;/b&gt; Static code analysis occurs without executing the code, whereas dynamic code analysis requires executing test cases.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Approach to defects.&lt;/b&gt; The purpose of static code analysis is to prevent defects before code runs; dynamic analysis focuses on detecting defects in running code.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Timing of detection.&lt;/b&gt; Since static code analysis is the first test activity in the development lifecycle, it offers the earliest opportunity to find defects. Dynamic testing is meant to detect defects later in the test cycle.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Types of issues detected.&lt;/b&gt; Static code analysis verifies statement coverage, identifies issues with coding standards and potential security vulnerabilities, and finds dead code. Dynamic code analysis elucidates runtime errors, performance issues and integration issues.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Runtime behavior.&lt;/b&gt; Static code analysis focuses on reviews and inspections of the code; it does not validate the code's runtime behavior. Dynamic code analysis validates the actual behavior of the code by examining it during runtime.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Resource requirements.&lt;/b&gt; Developers usually perform static code analysis, whereas dynamic code analysis is within the realm of the test team.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/static_vs_dynamic_code_analysis-f.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/static_vs_dynamic_code_analysis-f_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/static_vs_dynamic_code_analysis-f_mobile.png 960w,https://www.techtarget.com/rms/onlineimages/static_vs_dynamic_code_analysis-f.png 1280w" alt="Chart comparing static and dynamic code analysis." height="196" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Static and dynamic code analysis are both necessary for clean code.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Neither static code analysis nor dynamic code analysis by itself is the ideal option. To reap the full benefit -- clean, well-developed code -- teams should optimize both. Development teams shouldn't think of static and dynamic code analysis as alternatives, i.e., static vs. dynamic analysis. Teams should view them instead as complementary and symbiotic.&lt;/p&gt;
&lt;/section&gt;       
&lt;section class="section main-article-chapter" data-menu-title="Code review is similar to static analysis"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Code review is similar to static analysis&lt;/h2&gt;
 &lt;p&gt;If, for some reason, a team decides it wants to omit static code analysis, that really means it does not plan to review the code. Think of &lt;i&gt;code review&lt;/i&gt; and &lt;i&gt;static code analysis&lt;/i&gt; as related terms. Code review helps find code issues without committing to expensive and time-consuming dynamic tests. Static code analysis, done in a code-review context, is the first and most essential step in developing and maintaining good software.&lt;/p&gt;
 &lt;blockquote class="main-article-pullquote"&gt;
  &lt;div class="main-article-pullquote-inner"&gt;
   &lt;figure&gt;
    Both static and dynamic code analysis have important roles to play as part of an integrated development and deployment process.
   &lt;/figure&gt;
   &lt;i class="icon" data-icon="z"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/blockquote&gt;
 &lt;p&gt;Most static code analysis involves tools designed to &lt;a href="https://www.techtarget.com/searchsoftwarequality/answer/Which-code-quality-metrics-should-devs-track"&gt;evaluate the code&lt;/a&gt; and look for errors or nonrecommended techniques and practices. Organizations that treat static code analysis as an element of code review will likely conduct formal code reviews first, then apply the static code analysis tools, and finally review the results through the code review process of choice.&lt;/p&gt;
 &lt;p&gt;If an organization decides to first review the code with a programmer and mentor, it might consider using static code analysis first. This approach will likely catch a significant portion of code errors and save the expert valuable time in identifying them.&lt;/p&gt;
 &lt;p&gt;Static code analysis and review is particularly well suited to rapid development and &lt;a href="https://www.techtarget.com/searchitoperations/definition/GitOps"&gt;GitOps&lt;/a&gt; environments, where changes often apply to a single component. For example, if the software design properly isolates component behaviors, static analysis will catch most of the code errors.&lt;/p&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="So, why dynamic analysis?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;So, why dynamic analysis?&lt;/h2&gt;
 &lt;p&gt;Simply put, static analysis doesn't catch every code defect.&lt;/p&gt;
 &lt;p&gt;It is particularly limited when it comes to addressing issues in complex, multicomponent applications. It also provides little to no value for measuring performance or testing policies for scaling and load balancing. These limitations are where dynamic code analysis comes into play.&lt;/p&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="How to coordinate dynamic and static analysis"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to coordinate dynamic and static analysis&lt;/h2&gt;
 &lt;p&gt;Just as development teams already use static code analysis routinely -- even if it's not formally mandated or managed -- they also use dynamic code analysis. Routine software testing and running software to verify a fix or validate the initial implementation are forms of dynamic code analysis.&lt;/p&gt;
 &lt;p&gt;So, it's not a matter of static code analysis vs. dynamic code analysis. Teams likely already use both. The question becomes how to use both effectively.&lt;/p&gt;
 &lt;p&gt;Static code analysis is best paired with code review. Dynamic code analysis is suited to some form of &lt;a href="https://www.techtarget.com/searchsoftwarequality/A-comprehensive-test-automation-guide-for-IT-teams"&gt;automated testing&lt;/a&gt; and test data generation. Teams should focus dynamic code analysis first on areas where static analysis is likely to be ineffective, such as component performance, application performance, application logic, security validation and crossing component boundaries.&lt;/p&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="Tools for static and dynamic code analysis"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Tools for static and dynamic code analysis&lt;/h2&gt;
 &lt;p&gt;Since static code analysis is &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/Verification-vs-validation-in-software-testing"&gt;primarily for verification&lt;/a&gt; and dynamic code analysis is for validation, static analysis tools and dynamic analysis tools are designed for specific purposes. For example, &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/Understanding-code-linting-techniques-and-tools"&gt;code linters&lt;/a&gt; -- tools that analyze code for errors -- are an important part of static analysis and are not generally associated with dynamic analysis. However, there are a few tools that are suited to both types of analysis. Below are some of the tools for each process.&lt;/p&gt;
 &lt;h3&gt;Tools for static code analysis&lt;/h3&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;ESLint.&lt;/b&gt; This open source linter is designed to find and fix JavaScript code issues. It is part of most text editors and can test JavaScript that is written with or without a framework.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Pylint.&lt;/b&gt; This is a linter for Python. It performs code analysis and makes suggestions on how the code issues might be fixed.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;SonarQube.&lt;/b&gt; An open source tool for code inspections, this tool is programming language agnostic and provides automatic code quality and coding standard reviews. It can integrate with most CI tools and has commercial versions.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;RuboCop.&lt;/b&gt; This tool is an analyzer for Ruby code that focuses on finding and fixing issues in coding style and formatting.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;CodeSonar.&lt;/b&gt; CodeSecure's CodeSonar is specifically designed to review and &lt;a href="https://www.techtarget.com/searchsecurity/tip/Top-4-source-code-security-best-practices"&gt;fix security vulnerabilities in source code&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;DeepSource.&lt;/b&gt; This platform can be integrated into the &lt;a href="https://www.techtarget.com/searchsoftwarequality/CI-CD-pipelines-explained-Everything-you-need-to-know"&gt;CI/CD pipeline&lt;/a&gt; to automatically perform static analysis. It identifies not only performance and security issues, but also code standard and format issues.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;h3&gt;Tools for dynamic code analysis&lt;/h3&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Java VisualVM.&lt;/b&gt; This tool provides detailed information about Java applications that are running on a Java Virtual Machine, including configuration, runtime behavior and memory usage.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Python cProfile.&lt;/b&gt; This tool is used for determining the length of time various code modules and functions take to execute.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Dynatrace.&lt;/b&gt; This platform offers &lt;a href="https://www.techtarget.com/searchitoperations/tip/Top-observability-tools"&gt;real-time monitoring for observability&lt;/a&gt; and security vulnerabilities, as well as code and infrastructure issues. The tool provides an assessment of potential vulnerability impacts and displays them on a dashboard.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;AppDynamics.&lt;/b&gt; This tool focuses on application performance management, especially in the areas of availability, performance and user experience. Dynamic code analysis is executed in the runtime environment.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;New Relic.&lt;/b&gt; This cloud-based program focuses on observability in mobile and website applications.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;h3&gt;Tools for static and dynamic code analysis&lt;/h3&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Fortify.&lt;/b&gt; Originally developed as a static application security testing (&lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/static-application-security-testing-SAST"&gt;SAST&lt;/a&gt;) tool, Fortify provides a comprehensive set of code analysis tools focused on early detection of security vulnerabilities.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Veracode.&lt;/b&gt; This platform provides both &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/SAST-vs-DAST-vs-IAST-Security-testing-tool-comparison"&gt;SAST and dynamic application security testing tools&lt;/a&gt; with AI components that find and fix security vulnerabilities, as well as web app runtime errors throughout the entire SDLC.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;vFunction.&lt;/b&gt; This platform focuses on architectural observability. It provides static and dynamic code analysis focused on the architecture of the application under test.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;&lt;b&gt;Editor's note: &lt;/b&gt;&lt;i&gt;This article was updated in 2025 to improve the reader experience and include additional content.&lt;/i&gt;&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;Gerie Owen is a QA engineering manager at Roobrik. She is a conference presenter and author on technology and testing topics, and a certified Scrum master. Tom Nolle is founder and principal analyst at Andover Intel, a consulting and analysis firm that looks at evolving technologies and applications first from the perspective of the buyer and the buyer's needs. By background, Nolle is a programmer, software architect, and manager of software and network products. He has provided consulting services and technology analysis for decades.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>While every programmer wants to deliver high-performing, secure, bug-free and compliant code on the first try, that's not possible. Effective code analysis techniques will help.</description>
            <image>https://cdn.ttgtmedia.com/rms/onlineimages/keyboard_g1140860048.jpg</image>
            <link>https://www.techtarget.com/searchsoftwarequality/tip/Static-and-dynamic-code-analysis-Complementary-techniques</link>
            <pubDate>Fri, 25 Jul 2025 10:00:00 GMT</pubDate>
            <title>Static and dynamic code analysis: Complementary techniques</title>
        </item>
        <item>
            <body>&lt;p&gt;The key difference between the sprint backlog and the product backlog is that the sprint backlog represents the work developers expect to complete in the next few weeks, while the product backlog represents the work required to complete the product.&lt;/p&gt; 
&lt;p&gt;In Scrum, products are developed &lt;a href="https://www.theserverside.com/video/The-Scrum-framework-or-Agile-software-development"&gt;both incrementally and iteratively&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Development is incremental because a team of developers collectively works on a few product backlog items at a time -- presenting them to the client once they &lt;a href="https://www.theserverside.com/tip/Acceptance-criteria-vs-definition-of-done-Whats-the-difference"&gt;meet the definition of done&lt;/a&gt; -- and continuously adds them to the product under development.&lt;/p&gt; 
&lt;p&gt;Scrum is also said to be iterative because the process of selecting product backlog items, working on them and completing them happens in every sprint, and this cycle repeats until the product is finished.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="What is the sprint backlog?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What is the sprint backlog?&lt;/h2&gt;
 &lt;p&gt;The unit of iteration in Scrum is called a sprint. A &lt;a href="https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/How-long-is-a-Sprint-in-Agile"&gt;sprint typically lasts&lt;/a&gt; two to three weeks and never more than a month. To begin a sprint, the team articulates an overarching goal for the sprint. Developers then examine the long list of product backlog items and select the ones they believe can be completed within the sprint. They also create a plan to ensure those items are delivered.&lt;/p&gt;
 &lt;p&gt;The sprint goal, the selected items and the actionable plan are collectively referred to as the sprint backlog.&lt;/p&gt;
 &lt;p&gt;The sprint backlog is not set in stone. Teams can add or remove items based on personnel capacity, completion rates and how effectively the item or items contribute to achieving the sprint goal.&lt;/p&gt;
 &lt;p&gt;However, the sprint goal itself cannot change. If the originally defined sprint goal becomes obsolete, the product owner is expected to cancel the sprint and call for a new sprint planning meeting, in part to create a new goal, backlog selection and development plan.&lt;/p&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="What is the product backlog?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What is the product backlog?&lt;/h2&gt;
 &lt;p&gt;By contrast, the product backlog is a list of all the features, fixes and work required to consider the product complete. Once every item in the product backlog is done, there's no more development work to do.&lt;/p&gt;
 &lt;p&gt;For large, long-term projects, the product backlog likely won't contain every potential feature from day one. One of &lt;a href="https://www.techtarget.com/whatis/feature/What-are-the-5-Scrum-values"&gt;Scrum's core values&lt;/a&gt; is focus, and if a feature isn't likely to be worked on in the next six months, it probably doesn't belong in the product backlog. Instead, a "parking lot" or "dream board" is a more &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/Making-requirements-walkthroughs-more-effective-and-fun"&gt;appropriate place for those long-term ideas&lt;/a&gt;. The product backlog should stay focused and actionable.&lt;/p&gt;
 &lt;p&gt;Likewise, if items have been in the product backlog untouched for several months, it might be time to remove them. Product owners and stakeholders should regularly reassess priorities. &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/What-productive-backlog-grooming-sessions-entail"&gt;Backlog grooming or refinement&lt;/a&gt; is often scheduled for this purpose.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/the_agile_scrum_process_flow-f.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/the_agile_scrum_process_flow-f_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/the_agile_scrum_process_flow-f_mobile.png 960w,https://www.techtarget.com/rms/onlineimages/the_agile_scrum_process_flow-f.png 1280w" alt="Flow chart showing the major Scrum framework events." height="288" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The sprint backlog and product backlog are part of the overall flow of events in the Scrum framework, and are useful indicators of the team's progress.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="Key differences between the product and sprint backlog"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Key differences between the product and sprint backlog&lt;/h2&gt;
 &lt;p&gt;To boil all this down, here are the five key differences between the product backlog and the sprint backlog as part of the &lt;a href="https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/Agile-Scrum-Process-Steps-Methodology-Sprint-Flow-Principles-Values-Pillars-Guide"&gt;Scrum process flow&lt;/a&gt;:&lt;/p&gt;
 &lt;ol class="default-list"&gt; 
  &lt;li&gt;The product backlog is an evolving list of what's needed to improve the product, while the sprint backlog represents the current work plan for the development team.&lt;/li&gt; 
  &lt;li&gt;The product goal is the long-term objective of the Scrum team. The sprint goal is a short-term objective that guides work during a single sprint.&lt;/li&gt; 
  &lt;li&gt;The product backlog is owned by the &lt;a href="https://www.theserverside.com/tip/Who-should-be-the-product-owner-in-Scrum"&gt;product owner&lt;/a&gt;; the sprint backlog is owned by the developers.&lt;/li&gt; 
  &lt;li&gt;There is only one product backlog, and it spans the entire product development effort. A new sprint backlog is created for every sprint.&lt;/li&gt; 
  &lt;li&gt;All items in the sprint backlog must originate from the product backlog.&lt;/li&gt; 
 &lt;/ol&gt;
 &lt;p&gt;Iterative and incremental development is central to Scrum, and the sprint backlog and product backlog are essential to maintain consistent, visible progress over time.&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;Darcy DeClute is a technical trainer and Agile coach who helps organizations apply Scrum-based principles to adopt a modern DevOps stack. She is a certified Professional Scrum Master, Professional Scrum Developer and Professional Scrum Product Owner, as well as author of Scrum Master Certification Guide.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>The sprint backlog and product backlog are important elements of Scrum and essential to iterative and incremental development. Here's how they are distinct and also work together.</description>
            <image>https://cdn.ttgtmedia.com/rms/onlineimages/check_g638976392.jpg</image>
            <link>https://www.theserverside.com/tip/Product-backlog-vs-sprint-backlog-Whats-the-difference</link>
            <pubDate>Wed, 23 Jul 2025 13:00:00 GMT</pubDate>
            <title>Product backlog vs. sprint backlog: What's the difference?</title>
        </item>
        <item>
            <body>&lt;p&gt;When application source code becomes unmanageable due to patches, bad maintenance, freewheeling feature additions or other consequences of long operation, developers must either refactor or rewrite.&lt;/p&gt; 
&lt;p&gt;In a refactor, developers make micro changes to clean up the existing code. With a rewrite, they throw almost everything away, and the coding process essentially starts anew.&lt;/p&gt; 
&lt;p&gt;Both of these options have advantages and disadvantages. &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/Essential-refactoring-techniques-to-know"&gt;Refactoring code&lt;/a&gt; helps to keep it manageable without major overhauls, but might not set the app up for new development technologies or application languages. Rewriting code enables foundational changes to the code, but risks confusing developers or even breaking the product.&lt;/p&gt; 
&lt;p&gt;Don't think in absolutes for refactoring vs. rewriting code. Instead, determine which one is better for the particular project. This choice depends on factors such as the type of application as well as the team's capabilities, long- and short-term goals for the application, and appetite for risk.&lt;/p&gt; 
&lt;p&gt;Let's examine the pros and cons of both refactoring and rewrites, and &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/When-and-how-to-refactor-code"&gt;guidelines to make the right decision&lt;/a&gt;.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="Advantages and disadvantages of refactoring code"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Advantages and disadvantages of refactoring code&lt;/h2&gt;
 &lt;p&gt;When a programmer refactors software, the goal is to improve the internal structure of the code without altering its external behavior. For example, engineers remove redundant code or break a particularly task-heavy application component into several objects, each with a single responsibility.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/code_refactoring_process-f.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/code_refactoring_process-f_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/code_refactoring_process-f_mobile.png 960w,https://www.techtarget.com/rms/onlineimages/code_refactoring_process-f.png 1280w" alt="Diagram of the code refactoring process." height="213" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Refactoring makes comparatively minor code changes to improve maintainability without changing functionality.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;The extreme programming development approach, a concept known as merciless refactoring, stresses the need to continuously refactor code. Theoretically, programmers who refactor continuously make sections of code look better with every change.&lt;/p&gt;
 &lt;p&gt;Refactored code should be easily understood by other people, so developers can turn code that scares people into code that people can understand and feel comfortable updating on their own.&lt;/p&gt;
 &lt;h3&gt;Advantages of refactoring&lt;/h3&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Programmers' choice.&lt;/b&gt; Refactoring is always an option. The engineers who work on the code don't need anyone's permission to refactor it.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Works for any architecture.&lt;/b&gt; You can refactor any &lt;a href="https://www.techtarget.com/searchapparchitecture/tip/Types-of-software-architecture-design-worth-knowing"&gt;software architecture type&lt;/a&gt;, from tightly monolithic to massively distributed.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Doesn't duplicate resources.&lt;/b&gt; It can improve the quality of the code without slowing down progress. Programmers can refactor while they also move forward with deployment processes. Unlike a rewrite, refactoring does not require developers to maintain two separate codebases.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Low cost.&lt;/b&gt; If developers are only working on one part of the codebase, they can choose to clean up only the part they are working on. It does not add a great deal of cost for the business.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;h3&gt;Disadvantages of refactoring&lt;/h3&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Limited reach.&lt;/b&gt; While refactoring can improve a piece of code, it cannot fix &lt;a href="https://www.techtarget.com/searchapparchitecture/tip/When-not-to-use-microservices-Challenges-to-consider"&gt;underlying architecture problems&lt;/a&gt;. For instance, code written in Visual Basic 6 is still written in Visual Basic 6 at the end of the refactor.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;No new functionality.&lt;/b&gt; Because it maintains the status quo of architecture and code, refactoring does not open opportunities to add new functionality into an application.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Requires discipline.&lt;/b&gt; Refactoring requires skill, discipline and courage. Programmers who have never been exposed to the complexity of &lt;a href="https://www.theserverside.com/tip/Code-refactoring-patterns-with-examples"&gt;refactoring patterns&lt;/a&gt; might be unable or unwilling to dive in. Making these changes is scary without a unit test suite, and programmers unfamiliar with basic refactoring concepts might perceive that it slows them down.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Creates more code to manage.&lt;/b&gt; Because it breaks code into smaller chunks, refactoring creates a lot more code to manage and unit test. It changes complex functions into many simpler ones.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;blockquote class="main-article-pullquote"&gt;
  &lt;div class="main-article-pullquote-inner"&gt;
   &lt;figure&gt;
    When the codebase in question contains hundreds of thousands of lines, it's time to move to the next level: a code rewrite.
   &lt;/figure&gt;
   &lt;i class="icon" data-icon="z"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/blockquote&gt;
 &lt;p&gt;The discipline of refactoring is helpful when a system relies on thousands of lines of code. Refactoring breaks that up into abstracted, high-level objects, adds testability to those objects and keeps the functions reasonably small.&lt;/p&gt;
 &lt;p&gt;However, when the codebase in question contains hundreds of thousands of lines, it's time to move to the next level: a code rewrite.&lt;/p&gt;
&lt;/section&gt;            
&lt;section class="section main-article-chapter" data-menu-title="Advantages and disadvantages of rewriting code"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Advantages and disadvantages of rewriting code&lt;/h2&gt;
 &lt;p&gt;Rather than read and analyze complex, ugly code for refactoring, programmers can opt to just write new code altogether. Unlike refactoring, code rewrites sound relatively straightforward, since the programmers just start over and replace the functionality. However, it isn't nearly that simple.&lt;/p&gt;
 &lt;p&gt;To successfully rewrite software, engineers should form two teams: one that maintains the old app and another that creates the new one. This means duplicating resources. Worse, the old system is still in production and needs updates to keep it working. As such, the rewrite team must constantly reconfigure plans for the future product to match those changes in the existing one.&lt;/p&gt;
 &lt;h3&gt;Advantages of rewriting&lt;/h3&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Creates new functionality.&lt;/b&gt; One of the benefits of writing code from scratch is that it opens the door for new users, markets, platforms and technologies. For example, rewriting is a way to move client-facing applications from a Windows desktop platform to a web-based or mobile platform. Rewrites eliminate the headache of attempting to retrofit original code to meet demand for different new technologies and application functions.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Enables a fresh start.&lt;/b&gt; A rewrite lets new developers instantly implement code they are comfortable with. This advantage is especially attractive after a merger or acquisition. The rewrite creates a new, clean project -- a chance for developers to make their mark or complete a masterwork. It's also a chance to &lt;a href="https://www.techtarget.com/searchcio/feature/The-negative-impact-of-technical-debt"&gt;remove technical debt&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Prepares code for emerging technology.&lt;/b&gt; Rewrites put the application on a platform that will make it easier to adapt to new development technology and approaches. Rewriting banishes legacy code, which decreases the gap between the existing system and emerging code options.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;h3&gt;Disadvantages of rewriting&lt;/h3&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Time-consuming.&lt;/b&gt; Rewrites take time. You're essentially writing new software based on strict requirements. You should only commit to a rewrite if there is plenty of time to rebuild the application's code. As mentioned above, rewrites split resources between a team that manages the original code and a team that creates the new code. The maintenance team might not have sufficient experience with the old code to manage it appropriately.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Can introduce defects.&lt;/b&gt; Old code is ugly and can get uglier. To rewrite the software, developers need to examine the old version of the code, find the functions that should remain in the new product and copy them. But another team is maintaining the old application code. In attempts to fix, update and clean the live code, programmers could potentially introduce defects. Those defects require bug fixes to improve performance, and each bug fix makes the code a little bit uglier.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Can result in more unruly code.&lt;/b&gt; Rewrites might not solve the problem of ugly code. &lt;a href="https://www.techtarget.com/searchenterpriseai/opinion/Can-AI-write-code-A-developer-experiments-in-two-languages"&gt;Using an automated tool&lt;/a&gt; to port the application's code to another language is a viable option for rewrites and might save some time. However, using these tools sometimes results in code that is exceptionally hard to read or maintain. The problem arises from an attempt to merge languages together.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;       
&lt;section class="section main-article-chapter" data-menu-title="How to choose between refactoring and rewriting"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to choose between refactoring and rewriting&lt;/h2&gt;
 &lt;p&gt;Engineering teams should ultimately make the choice to rewrite or refactor based on several factors:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Time.&lt;/b&gt; Refactoring is a gradual, &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/Iterative-vs-incremental-development-Whats-the-difference"&gt;incremental process&lt;/a&gt;. This makes it suitable for projects with tight deadlines or continuous delivery requirements. Rewriting is a more disruptive, time-intensive process that comes with more drastic changes. Teams will need to work on rewriting the new code while simultaneously maintaining the old codebase. Choose the approach that most closely aligns with the project timeline and the team's experience and risk appetite.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Goals.&lt;/b&gt; The organization's long-term goals are a critical consideration. If the goal is simply to improve maintainability, refactoring might be the answer. If the organization aims to support new technologies or reach new markets that the current codebase cannot accommodate, choose a rewrite.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Budget.&lt;/b&gt; Budget is also an important factor to consider. Refactoring requires a much lower upfront investment as developers can refactor incrementally while delivering new features. Rewriting demands more financial commitment, as teams need to maintain two codebases simultaneously and potentially wait for new features until the rewrite is finished.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Architecture.&lt;/b&gt; The codebase design is also important to consider. If the fundamental architecture is sound, but the implementation is not, teams can restore code quality without starting from scratch. If the architecture has become obsolete, or unable to support modern development or business practices, teams should commit to a rewrite to create the foundation they want.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;Refactoring is best for the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Projects with limited time and budget constraints.&lt;/li&gt; 
  &lt;li&gt;Applications with sound architecture but messy implementation.&lt;/li&gt; 
  &lt;li&gt;Continuous delivery initiatives.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;Rewriting is best for the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Applications that need fundamental platform or technology changes.&lt;/li&gt; 
  &lt;li&gt;Projects that need to reach new markets or users.&lt;/li&gt; 
  &lt;li&gt;Projects with the resources to maintain two codebases simultaneously.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;&lt;b&gt;Editor's note:&lt;/b&gt;&lt;i&gt; This article was updated in 2025 to improve the reader experience.&lt;/i&gt;&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;Matt Heusser is managing director at Excelon Development, where he recruits, trains and conducts software testing and development.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>At some point, all developers must decide whether to refactor code or rewrite it. Base this choice on factors such as architectural soundness, time, money and goals.</description>
            <image>https://cdn.ttgtmedia.com/rms/onlineimages/code_g1196680867.jpg</image>
            <link>https://www.techtarget.com/searchapparchitecture/tip/Refactor-vs-rewrite-Deciding-what-to-do-with-problem-software</link>
            <pubDate>Tue, 10 Jun 2025 12:00:00 GMT</pubDate>
            <title>Refactor vs. rewrite: Deciding how to fix problem software</title>
        </item>
        <item>
            <body>&lt;p&gt;A cookie is a text file carrying some information that a website places on a user's computer. It allows the website to identify the user and improve their future web browsing experience.&lt;/p&gt; 
&lt;p&gt;A web server generates cookies, also known as &lt;i&gt;browser cookies, web cookies, HTTP cookies&lt;/i&gt; or &lt;i&gt;internet cookies,&lt;/i&gt; and sends them to the user's web browser. They store limited information from a web browser session on a given website; the website can then retrieve them when the user opens it in the future.&lt;/p&gt; 
&lt;p&gt;Cookies first appeared in 1994 as part of the (now-defunct) &lt;a href="https://www.techtarget.com/whatis/definition/Netscape"&gt;Netscape&lt;/a&gt; Navigator web browser. They helped the browser understand if a user had already visited a given website. Netscape developer Lou Montulli invented the initial cookie implementation. He was granted U.S. Patent No. 5,774,670A, with the description, "Persistent client state in a hypertext transfer protocol-based client-server system."&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="Purpose of cookies"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Purpose of cookies&lt;/h2&gt;
 &lt;p&gt;The most common &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/use-case"&gt;use cases&lt;/a&gt; for cookies are user tracking, user experience (&lt;a href="https://www.techtarget.com/searchcio/definition/UX-user-experience"&gt;UX&lt;/a&gt;) personalization and session management.&lt;/p&gt;
 &lt;p&gt;Consider user tracking and UX &lt;a href="https://www.techtarget.com/searchenterpriseai/tip/How-AI-personalization-creates-customized-user-experiences"&gt;personalization&lt;/a&gt;. A website that collects and then stores cookies can remember some useful information about a user. More importantly, it can retrieve this information when the user returns to the site to identify the user and present them with more relevant content and experiences.&lt;/p&gt;
 &lt;p&gt;For example, an &lt;a href="https://www.techtarget.com/searchcio/definition/e-commerce"&gt;e-commerce&lt;/a&gt; website might use a persistent cookie to remember details about a book purchased by User A in January 2025. Then, when User A returns to the site in May 2025, the browser will retrieve and read the cookie and the site will present User A with a list of &lt;i&gt;other&lt;/i&gt; books on the same topic or by the same author. These lists might enable User A to save time as they shop. User A might also see ads for similar books or other related products.&lt;/p&gt;
 &lt;p&gt;Similarly, the web browser will store User A's username for the website within a session cookie. When User A loads that website the next time, the web browser sends the information to the web server, which will then prompt User A to log in with that username. Once User A logs in, the site will load their account content and might even display a personalized message on the homepage, such as "Welcome, [User A]."&lt;/p&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="How cookies work"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How cookies work&lt;/h2&gt;
 &lt;p&gt;When a user opens a website, such as &lt;a href="https://www.techtarget.com"&gt;https://www.techtarget.com&lt;/a&gt;, the web server generates cookies. These information files contain information about the user and are stored in a designated file on the user's device for a certain time, such as the length of the user's session on that website or for a few months.&lt;/p&gt;
 &lt;p&gt;When the user opens a session with the website in the future -- in general, makes some future request of the same web server -- the cookies are attached to the request. The information in the cookie file enables the website to "recognize" the user and, accordingly, personalize and enhance their browsing experience.&lt;/p&gt;
 &lt;p&gt;Here is a step-by-step explanation of how website cookies work:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;The user visits a website.&lt;/li&gt; 
  &lt;li&gt;Information about the user, such as their username, pages visited, content viewed, etc., is stored in a small information file.&lt;/li&gt; 
  &lt;li&gt;The file is linked to the user and the user's computer, meaning it is assigned a &lt;a href="https://www.techtarget.com/iotagenda/definition/unique-identifier-UID"&gt;unique ID&lt;/a&gt;;&lt;/li&gt; 
  &lt;li&gt;The file is then stored on the website's server and remains there even if the user leaves the site.&lt;/li&gt; 
  &lt;li&gt;When the user returns to the site later, the user's browser gives the cookie to the website.&lt;/li&gt; 
  &lt;li&gt;The website reads the cookie, identifies the user and device from the unique ID, and assembles the user's activity data.&lt;/li&gt; 
  &lt;li&gt;Finally, the website presents relevant and personalized data and content to the user.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="Types of cookies"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Types of cookies&lt;/h2&gt;
 &lt;p&gt;There are multiple types of cookies that run in modern web browsers with specific use cases to enable certain capabilities. These include the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;HTTP cookies.&lt;/b&gt; This is the overall category of computer cookies used with modern web browsers. HTTP cookies are used to capture user data during a website session, track users and user activity, and deliver personalized content and customized browsing experiences. Some cybercriminals also use HTTP cookies to spy on users and steal user information. All the cookies in this list -- except for flash cookies -- are forms of HTTP cookies.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Session cookies.&lt;/b&gt; A session cookie is only persistent while the user is navigating or visiting a given website. Its purpose is to track a user's single website session, so it is deleted when the session ends. A session will end when the user either exits the website completely or logs out of their account on that website. Session cookies are stored in the computer's RAM instead of its HD, and have no expiration date. These features tell the browser the session cookie should be deleted when the session ends.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Persistent cookies.&lt;/b&gt; Also known as &lt;i&gt;permanent cookies&lt;/i&gt;, persistent cookies are not deleted at the end of the user's website session. They endure for a configurable time or until a certain date set by the web server. The expiration date of the persistent cookie tells the browser when to delete it. Persistent cookies are mainly used to authenticate users (confirm that they are who they say they are), to track a user's visits to the same site over time, and to personalize each of those visits.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Authentication cookies.&lt;/b&gt; These persistent cookies are generated when a user logs in to their account on a specific website. The cookies ensure that sensitive user information (especially passwords) is delivered to the correct sessions to authenticate the user and prevent unauthorized users from logging in to the account.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Tracking cookies.&lt;/b&gt; These cookies record user activity over multiple visits to a website on behalf of a tracking service. Based on this information, the tracking service builds a user profile to understand the user and improve their browsing experiences over time.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Zombie cookies.&lt;/b&gt; This refers to a type of persistent cookie that persists, even after the user attempts to delete it. While many zombie cookies are harmless and simply annoying to the user, some help hackers infect user systems with viruses or malware.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Flash cookies.&lt;/b&gt; These are not browser or HTTP cookies but, rather, a specific type of cookie that works with &lt;a href="https://www.techtarget.com/whatis/definition/Flash"&gt;Adobe Flash&lt;/a&gt;. With the decline in the use of Flash and the discontinuation of Flash Player support by Adobe in January 2021, these cookies are no longer widely used.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Secure cookies.&lt;/b&gt; These are first- and third-party cookies that can only be sent over encrypted HTTPS connections.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="First-party cookies vs. third-party cookies"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;First-party cookies vs. third-party cookies&lt;/h2&gt;
 &lt;p&gt;Cookies can be accessed by the site a user is on (first-party cookies) or by a third-party site (third-party cookies).&lt;/p&gt;
 &lt;p&gt;First-party cookies are also known as SameSite cookies because the cookie and information it contains are restricted to the same site on which it was set. These cookies are created by the website the user is currently visiting. Thus, when User A opens &lt;a href="https://www.techtarget.com"&gt;https://www.techtarget.com&lt;/a&gt; on their browser, the origin server for the TechTarget website creates a first-party session cookie to remember User A.&lt;/p&gt;
 &lt;p&gt;First-party cookies are usually used to do the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Remember user settings like language preferences, login details or pages visited.&lt;/li&gt; 
  &lt;li&gt;Improve site functionality for that user.&lt;/li&gt; 
  &lt;li&gt;Personalize user experiences during subsequent visits to that site.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;These cookies are not very intrusive and are generally safe because they are only used on the website the user is currently visiting. However, they &lt;i&gt;can&lt;/i&gt; pose a security risk if the website is not reputable.&lt;/p&gt;
 &lt;p&gt;Third-party cookies are not restricted to the initial site where the cookie was created. They enable entities other than the original site. So, when User A visits a site &lt;a href="http://www.site.com"&gt;http://www.site.com&lt;/a&gt;, a cookie from both site.com and example.ad-company.com might get stored in their browser. The former is a first-party cookie; the latter is a third-party cookie. The third-party cookie enables, for example, an ad company to track users and then target them for personalized ads.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineImages/cust_ex-web_cookies_different_flavors-f.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineImages/cust_ex-web_cookies_different_flavors-f_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineImages/cust_ex-web_cookies_different_flavors-f_mobile.png 960w,https://www.techtarget.com/rms/onlineImages/cust_ex-web_cookies_different_flavors-f.png 1280w" alt="A chart describing the differences between first-party cookies and third-party cookies." height="271" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;A summary of key differences between first-party cookies and third-party cookies.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Due to the security and privacy concerns posed by third-party cookies, many browsers, including &lt;a href="https://www.computerweekly.com/news/366596475/Chrome-cookies-reprieved-amid-Google-Privacy-Sandbox-changes"&gt;Google Chrome&lt;/a&gt; and &lt;a href="https://www.techtarget.com/searchenterprisedesktop/feature/Web-browser-comparison-How-Chrome-Firefox-IE-Edge-stack-up"&gt;Mozilla Firefox&lt;/a&gt;, let users manage and control them through their browser settings. Similarly, many devices, including Android and Apple devices, also allow users to disable third-party (and first-party) cookies.&lt;/p&gt;
 &lt;p&gt;Third-party cookies are not the only way to provide targeted advertising and marketing to internet users; there are &lt;a href="https://www.techtarget.com/searchcustomerexperience/feature/Get-to-know-cookieless-tracking-marketing-options"&gt;viable alternatives&lt;/a&gt;.&lt;/p&gt;
 &lt;figure class="main-article-image half-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/alternatives_to_third_party_cookies-h.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/alternatives_to_third_party_cookies-h_half_column_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/alternatives_to_third_party_cookies-h_half_column_mobile.png 960w,https://www.techtarget.com/rms/onlineimages/alternatives_to_third_party_cookies-h.png 1280w" alt="A chart listing several ways to facilitate targeted advertising without third-party cookies." height="244" width="279"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Targeted advertising does not depend on third-party cookies. Here are five alternatives.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
&lt;/section&gt;           
&lt;section class="section main-article-chapter" data-menu-title="Are cookies safe?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Are cookies safe?&lt;/h2&gt;
 &lt;p&gt;Cookies have been part of daily internet operations for decades and are generally safe. However, third-party cookies are sometimes seen as intrusive and can put a user's privacy and information at risk of leaks and &lt;a href="https://www.computerweekly.com/news/366623874/Australian-data-breaches-hit-record-high-in-2024"&gt;breaches&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;Third-party cookies enable entities such as advertisers to track user activity to provide targeted ads to the user. However, they often collect this information in a way that users are not aware of, thus deliberately and clandestinely infringing on the user's privacy. This is a huge concern for many who &lt;a href="https://www.techtarget.com/searchsecurity/tip/How-to-maintain-digital-privacy-in-an-evolving-world"&gt;don't want to be tracked&lt;/a&gt; or have their browsing habits shared.&lt;/p&gt;
 &lt;p&gt;There is also the potential for &lt;a href="https://www.computerweekly.com/opinion/Threat-actors-look-to-stolen-credentials"&gt;threat actors&lt;/a&gt; to hijack third-party cookies. This would give them access to user information and enable them to launch other types of attacks, such as session hijacking, cross-site scripting (&lt;a href="https://www.techtarget.com/searchsecurity/definition/cross-site-scripting"&gt;XSS&lt;/a&gt;) and cross-site request forgery.&lt;/p&gt;
 &lt;p&gt;Unsecured cookies can also be a security risk for users and website operators. Unlike secure cookies that only send information using secure HTTPS connections to the origin website or to a third party, unsecure cookies are transmitted unencrypted over less-secure HTTP connections. The risk of information leaks or privacy breaches is minimal if the information is something simple, such as whether the user has visited the site before. However, some sites use cookies to store sensitive user information -- including personally identifiable information (&lt;a href="https://www.techtarget.com/searchsecurity/definition/personally-identifiable-information-PII"&gt;PII&lt;/a&gt;) such as authentication credentials and payment card details. If such data is sent unencrypted, a criminal can intercept it.&lt;/p&gt;
 &lt;p&gt;The SameSite attribute can mitigate these risks. By using this attribute in the HTTP cookies, web servers can also specify whether or when third-party cookies can be sent. This attribute controls when a browser sends a cookie with a cross-site request (a request where the site sending the cookie request is different from the site the user is currently visiting). In doing so, it prevents cross-site data leaks and cross-site forgery attacks and preserves user privacy.&lt;/p&gt;
 &lt;p&gt;Many privacy regulations also incorporate cookie-related considerations to reduce the privacy risks of HTTP cookies. Cookies that can identify users are now subject to strict rules under the &lt;a href="https://www.techtarget.com/whatis/definition/General-Data-Protection-Regulation-GDPR"&gt;General Data Protection Regulation&lt;/a&gt; (GDPR) and &lt;a href="https://www.techtarget.com/searchcio/definition/California-Consumer-Privacy-Act-CCPA"&gt;California Consumer Privacy Act&lt;/a&gt; (CCPA) regulations.&lt;/p&gt;
 &lt;div class="youtube-iframe-container"&gt;
  &lt;iframe id="ytplayer-0" src="https://www.youtube.com/embed/vH_CGDesE4Y?autoplay=0&amp;amp;modestbranding=1&amp;amp;rel=0&amp;amp;widget_referrer=null&amp;amp;enablejsapi=1&amp;amp;origin=https://www.techtarget.com" type="text/html" height="360" width="640" frameborder="0" loading="lazy"&gt;&lt;/iframe&gt;
 &lt;/div&gt;
&lt;/section&gt;        
&lt;section class="section main-article-chapter" data-menu-title="How to manage cookies on different web browsers"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to manage cookies on different web browsers&lt;/h2&gt;
 &lt;p&gt;Every major web browser has a set of controls to help users configure what types of cookies to accept and delete. Here's how to block third-party cookies in Apple Safari, Google Chrome, Microsoft Edge and Mozilla Firefox.&lt;/p&gt;
 &lt;h3&gt;To block third-party cookies in Apple Safari&lt;/h3&gt;
 &lt;p&gt;Here is how to block third-party cookies in Safari:&lt;/p&gt;
 &lt;ol class="default-list"&gt; 
  &lt;li&gt;Open &lt;a href="https://www.techtarget.com/searchmobilecomputing/opinion/Safari-13-brings-WebAuthn-and-drops-legacy-browser-extensions"&gt;Safari&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;Click &lt;b&gt;Safari&lt;/b&gt; &lt;b&gt;&amp;gt;&lt;/b&gt; &lt;b&gt;Preferences&lt;/b&gt; in the upper left-hand corner of the screen.&lt;/li&gt; 
  &lt;li&gt;Click on the &lt;b&gt;Privacy &lt;/b&gt;tab.&lt;/li&gt; 
  &lt;li&gt;Next to Cookies and website data, the &lt;b&gt;Block all cookies&lt;/b&gt; option appears. Check this option to disable all cookies.&lt;/li&gt; 
  &lt;li&gt;Restart Safari.&lt;/li&gt; 
 &lt;/ol&gt;
 &lt;p&gt;Unchecking the &lt;b&gt;Block all cookies&lt;/b&gt; option will enable all cookies. Under this option, there is a box marked &lt;b&gt;Manage Website Data&lt;/b&gt;; this is where all the collected cookies can be viewed and managed.&lt;/p&gt;
 &lt;p&gt;In Safari, all first-party cookies are set to expire after seven days by default.&lt;/p&gt;
 &lt;h3&gt;To block third-party cookies in Google Chrome&lt;/h3&gt;
 &lt;p&gt;In Chrome, users can block third-party cookies by doing the following:&lt;/p&gt;
 &lt;ol type="1" start="1" class="default-list"&gt; 
  &lt;li&gt;Open Chrome.&lt;/li&gt; 
  &lt;li&gt;In the top-right corner, click &lt;b&gt;Settings&lt;/b&gt;.&lt;/li&gt; 
  &lt;li&gt;Click &lt;b&gt;Privacy and security.&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;Click&lt;b&gt; Third-party cookies, &lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;Three options are available:&lt;/li&gt; 
  &lt;ul class="default-list"&gt; 
   &lt;li&gt;Allow third-party cookies.&lt;/li&gt; 
   &lt;li&gt;Block third-party cookies in &lt;a href="https://www.techtarget.com/whatis/feature/Anonymous-browsing-explained-What-you-need-to-know"&gt;Incognito mode&lt;/a&gt;.&lt;/li&gt; 
   &lt;li&gt;Block third-party cookies.&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;li&gt;Select option #3 to block all third-party cookies.&lt;/li&gt; 
 &lt;/ol&gt;
 &lt;p&gt;This procedure will disable third-party cookies in Chrome on a Windows PC, MacBook and Android mobile devices.&lt;/p&gt;
 &lt;h3&gt;To block third-party cookies in Microsoft Edge&lt;/h3&gt;
 &lt;p&gt;Follow these steps to block third-party cookies in the Edge browser:&lt;/p&gt;
 &lt;ol type="1" start="1" class="default-list"&gt; 
  &lt;li&gt;Open &lt;a href="https://www.techtarget.com/whatis/definition/Microsoft-Edge"&gt;Microsoft Edge&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;In the top-right corner, select &lt;b&gt;Settings&lt;/b&gt;.&lt;/li&gt; 
  &lt;li&gt;Select&lt;b&gt;Cookies and site permissions&lt;/b&gt;.&lt;/li&gt; 
 &lt;/ol&gt;
 &lt;ol class="default-list"&gt; 
  &lt;li&gt;Under Cookies, select &lt;b&gt;Cookies and site data.&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;Enable&lt;b&gt; Block third-party cookies.&lt;/b&gt;&lt;/li&gt; 
 &lt;/ol&gt;
 &lt;p&gt;Disabling&lt;b&gt; Allow sites to save and read cookie data &lt;/b&gt;(under Cookies and site data) will block &lt;i&gt;all&lt;/i&gt; cookies, including first-party cookies.&lt;/p&gt;
 &lt;p&gt;Edge also allows users to block cookies from specific sites:&lt;/p&gt;
 &lt;ol class="default-list"&gt; 
  &lt;li&gt;Navigate to &lt;b&gt;Cookies and site data.&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;Navigate to the &lt;b&gt;Block&lt;/b&gt; section.&lt;/li&gt; 
  &lt;li&gt;Select &lt;b&gt;Add&lt;/b&gt; to block cookies for a site by entering its URL.&lt;/li&gt; 
 &lt;/ol&gt;
 &lt;h3&gt;To block third-party cookies in Mozilla Firefox&lt;/h3&gt;
 &lt;p&gt;In Firefox, users can block third-party cookies in this way:&lt;/p&gt;
 &lt;ol type="1" start="1" class="default-list"&gt; 
  &lt;li&gt;Open &lt;a href="https://www.techtarget.com/whatis/definition/Firefox"&gt;Firefox&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;In the top-right corner, click &lt;b&gt;Settings&lt;/b&gt;.&lt;/li&gt; 
  &lt;li&gt;Click &lt;b&gt;Privacy &amp;amp; Security&lt;/b&gt;.&lt;/li&gt; 
  &lt;li&gt;Select one of the options to manage cookies and maintain privacy: &lt;b&gt;Standard&lt;/b&gt;, &lt;b&gt;Strict&lt;/b&gt; or &lt;b&gt;Custom.&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;If the Standard or Strict options are selected, Firefox automatically blocks all cross-site (third-party) cookies. With the Custom option, the user can choose which trackers and scripts to block, including cookies and other types of tracking content.&lt;/li&gt; 
 &lt;/ol&gt;
 &lt;p&gt;Besides using these settings, users can also choose to delete cookies when Firefox is closed. This can be done by checking the box for &lt;b&gt;Delete cookies and site data when Firefox is closed&lt;/b&gt; under Cookies and Site Data.&lt;/p&gt;
 &lt;p&gt;To clear &lt;i&gt;all&lt;/i&gt; cookies saved to the computer:&lt;/p&gt;
 &lt;ol class="default-list"&gt; 
  &lt;li&gt;Navigate to &lt;b&gt;Cookies and Site Data&lt;/b&gt;.&lt;/li&gt; 
  &lt;li&gt;Click on &lt;b&gt;Clear Data&lt;/b&gt;.&lt;/li&gt; 
  &lt;li&gt;Check the box for &lt;b&gt;Cookies and site data&lt;/b&gt;.&lt;/li&gt; 
 &lt;/ol&gt;
 &lt;p&gt;&lt;i&gt;First-party cookies play a significant role in tracking user engagement, while third-party cookies are integral to various marketing and sales strategies. It's interesting to note that, despite their different applications, the two types of cookies also have several similarities worth considering. Explore how &lt;/i&gt;&lt;a href="https://www.techtarget.com/searchcustomerexperience/tip/First-party-vs-third-party-cookies-Whats-the-difference"&gt;&lt;i&gt;first-party versus third-party cookies&lt;/i&gt;&lt;/a&gt;&lt;i&gt; are similar and different. Also, learn what a &lt;/i&gt;&lt;a href="https://www.techtarget.com/searchsecurity/definition/supercookie"&gt;&lt;i&gt;supercookie&lt;/i&gt;&lt;/a&gt;&lt;i&gt; is and read about the danger of the cyberattack known as &lt;/i&gt;&lt;a href="https://www.techtarget.com/searchsecurity/definition/cookie-poisoning"&gt;&lt;i&gt;cookie poisoning&lt;/i&gt;&lt;/a&gt;&lt;i&gt;.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>A cookie is a text file carrying some information that a website places on a user's computer.</description>
            <image>https://cdn.ttgtmedia.com/visuals/digdeeper/4.jpg</image>
            <link>https://www.techtarget.com/searchsoftwarequality/definition/cookie</link>
            <pubDate>Fri, 06 Jun 2025 14:30:00 GMT</pubDate>
            <title>What is a cookie?</title>
        </item>
        <item>
            <body>&lt;p&gt;Today's organizations need to prioritize agility so that they can respond to changing customer needs and market trends. Transitioning from a project mindset to a product mindset can enable this.&lt;/p&gt; 
&lt;p&gt;The terms &lt;i&gt;project mindset&lt;/i&gt; and &lt;i&gt;product mindset&lt;/i&gt; might sound interchangeable in the realm of &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/Developer-vs-DevOps-engineer-similarities-and-differences"&gt;software development and DevOps&lt;/a&gt;. After all, most software products are managed through projects, and most development projects create a product.&lt;/p&gt; 
&lt;p&gt;But there are significant differences between a project mindset and a product mindset -- and between the related practices of &lt;a href="https://www.techtarget.com/searchcio/definition/IT-project-management"&gt;project management&lt;/a&gt; and product management. Let's break down the distinctions, with a focus on explaining why modern teams tend to prefer a product-oriented approach.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="Project mindset vs. product mindset"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Project mindset vs. product mindset&lt;/h2&gt;
 &lt;p&gt;A project mindset and a product mindset can both serve the same end goal of creating quality software. However, they approach this task in fundamentally different ways:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;A project mindset focuses on achieving predefined goals based on specific timelines. In a project mindset, the project deliverables lay the foundation for how developers and other stakeholders work.&lt;/li&gt; 
  &lt;li&gt;A product mindset prioritizes building a product that creates as much business value as possible, even if doing so requires deviating from project plans.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;These differences in approach give rise to other important distinctions between project and product mindsets, including the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Deliverables vs. outcomes.&lt;/b&gt; A project mindset focuses on implementing deliverables on time and within budget. In contrast, a product mindset emphasizes working toward positive outcomes, such as product improvement. It affords more tolerance for missing deliverables as long as the product is improving.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Lifecycle and timeline.&lt;/b&gt; Project mindsets usually emphasize adherence to predefined timelines to achieve specific deliverables. In a product mindset, teams typically treat timelines as more flexible; as long as they are making changes that improve the product, they consider their work successful, even if they miss preset deadlines.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Business-IT alignment.&lt;/b&gt; Projects usually come with preassembled teams of developers. This can make it harder to integrate other stakeholders, such as business users who can offer perspective on how best to implement a new feature. Excluding business users from the project at the start can lead to poor &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/Improving-DevOps-collaboration-Challenges-and-tips"&gt;alignment between the business and the IT organization&lt;/a&gt;. Product mindsets are more flexible in this regard as they can more easily integrate stakeholders from outside IT.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Job roles.&lt;/b&gt; Although both mindsets require code contributions from developers, there are differences in other job roles. With a project mindset, a project manager or management team usually oversees operations. With a product mindset, direction comes from a product manager.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Scope.&lt;/b&gt; Projects usually have a predefined scope -- such as "implement X and Y new application features." In contrast, a product mindset encourages an open-ended, ongoing approach through which developers continuously improve the application.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;div class="extra-info"&gt;
  &lt;div class="extra-info-inner"&gt;
   &lt;h3 class="splash-heading"&gt;Project management vs. product management&lt;/h3&gt; 
   &lt;p&gt;To understand the differences between a project mindset and a product mindset more fully, it's helpful to distinguish project management from product management.&lt;/p&gt; 
   &lt;ul class="default-list"&gt; 
    &lt;li&gt;Project management is the practice of overseeing completion of a specific project. A project manager makes sure that stakeholders complete tasks on time as a team works toward achieving its deliverables.&lt;/li&gt; 
    &lt;li&gt;Product management, by contrast, focuses on managing all aspects of a product over the long term. Product managers' main objectives are to determine which product enhancements will serve customer needs and create business value.&lt;/li&gt; 
   &lt;/ul&gt; 
   &lt;p&gt;Importantly, project management and product management are not mutually exclusive. On the contrary, they usually go hand in hand. Project managers are important for coordinating the efforts of various developers as they work toward improving a product. Product managers can help to identify which deliverables a project should include.&lt;/p&gt;
  &lt;/div&gt;
 &lt;/div&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="Drawbacks of a project mindset"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Drawbacks of a project mindset&lt;/h2&gt;
 &lt;p&gt;Most modern enterprise organizations have come to recognize the disadvantages of a project mindset -- namely, that everyone focuses less on the product and user needs.&lt;/p&gt;
 &lt;p&gt;A perfect project management system can complete every task and still fail when it's time to go to market. This is because a successful project does not necessarily make for a successful product.&lt;/p&gt;
 &lt;p&gt;As an example of the drawbacks of a project mindset in the real world, consider Apple, which has a history of both project and product mindsets. Some of Apple's most significant achievements -- such as the introduction and rapid early improvement of the iPhone -- stemmed from a product mindset that let the company innovate quickly and respond to user needs.&lt;/p&gt;
 &lt;p&gt;However, &lt;a target="_blank" href="https://www.cnbc.com/2025/01/11/mark-zuckerberg-slams-apple-on-its-lack-of-innovation-and-random-rules.html" rel="noopener"&gt;some critics&lt;/a&gt; now accuse Apple of releasing a nearly carbon-copy iPhone each year -- an approach that indicates a project mindset. According to these critics, product quality for these phones has stagnated, as Apple finishes projects with little or no consideration for product outcomes. This reliance on project-oriented thinking could leave Apple vulnerable and &lt;a href="https://www.lightreading.com/smartphones-devices/apple-sales-drop-4-1b-after-iphone-market-share-loss"&gt;give another company the edge&lt;/a&gt; in mobile phone innovation.&lt;/p&gt;
 &lt;p&gt;Modern teams must prioritize the product while listening for shake-ups in the market. If a project takes too long and the team blindly adheres to the project timeline, the product might already be obsolete by the time the software is available to the consumer. With a product mindset, the business stays adaptable. The team constantly takes direct feedback from the target user and adjusts.&lt;/p&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="Benefits of a product mindset"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Benefits of a product mindset&lt;/h2&gt;
 &lt;p&gt;The key advantage of a product mindset is that it puts the emphasis on customers and value, rather than proxy metrics and activities.&lt;/p&gt;
 &lt;p&gt;In this way, product management and delivery help enable key DevOps goals as established by Gene Kim, known as the &lt;a href="https://www.techtarget.com/whatis/definition/The-Three-Ways"&gt;Three Ways&lt;/a&gt; of DevOps:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Flow&lt;/b&gt;, which prioritizes how the system -- not an individual segment -- performs.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Feedback&lt;/b&gt;, which organizations use to improve products.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Continual learning&lt;/b&gt;, which encourages innovation, risk and experimentation.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;Organizations can't adopt a faster release cadence through just &lt;a href="https://www.techtarget.com/searchsoftwarequality/CI-CD-pipelines-explained-Everything-you-need-to-know"&gt;CI/CD&lt;/a&gt;. Instead, they must concentrate on how software development affects the business and the customer. In this way, organizations can scale the principles of DevOps to the business.&lt;/p&gt;
 &lt;p&gt;As digital-first companies such as Uber and Airbnb disrupt longstanding industries, more companies recognize the value of a product mindset. For traditional enterprise organizations, moving to product-minded development is a matter of survival.&lt;/p&gt;
 &lt;p&gt;Project mindsets involve a top-down, command-and-control approach that can put enterprise organizations at a disadvantage. Many larger companies risk falling behind if they don't adapt to the innovative approaches taken by disrupters.&lt;/p&gt;
&lt;/section&gt;       
&lt;section class="section main-article-chapter" data-menu-title="Examples of a product mindset"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Examples of a product mindset&lt;/h2&gt;
 &lt;p&gt;As an example of what a product mindset looks like in practice and how it can benefit DevOps teams, imagine the following scenario.&lt;/p&gt;
 &lt;p&gt;Inspired by the buzz surrounding generative AI, an IT software vendor sets out to add a GenAI-powered capability to a &lt;a href="https://www.techtarget.com/searchitoperations/feature/Compare-8-tools-for-IT-monitoring"&gt;monitoring tool&lt;/a&gt; that lets IT analysts ask questions about log files using natural language. The vendor plans to implement the feature by feeding user queries and log data into a third-party GenAI service, which will then parse log data to respond to the query. The company defines deliverables for building this integration and assigns developers to complete them.&lt;/p&gt;
 &lt;p&gt;A couple of months into the project, however, product managers receive feedback from clients that some are uncomfortable with the way the new feature is designed. It would require users to expose potentially sensitive log files to a third-party GenAI service, which some clients deem to be insecure despite the service's data security policies. In addition, the company's CFO expresses concern about the cost required to pay for the GenAI service. They are not convinced that the &lt;a href="https://www.techtarget.com/searchenterpriseai/tip/How-can-AI-drive-revenue"&gt;revenue created by the new feature&lt;/a&gt; will outweigh the expense.&lt;/p&gt;
 &lt;p&gt;Based on this feedback from both external and internal stakeholders, the product managers realize that the feature they are currently building is not a good fit for customer needs. Nor is it a cost-effective capability for the company to offer.&lt;/p&gt;
 &lt;p&gt;In response, they change focus. They abandon the original project deliverables and decide instead to implement the log query feature by &lt;a href="https://www.techtarget.com/searchenterpriseai/feature/How-AI-is-transforming-project-management"&gt;building their own GenAI service&lt;/a&gt;. This approach avoids the need for customers to expose data to a third-party service. It will also save the company money in the long run because it won't have to pay for external GenAI integration.&lt;/p&gt;
 &lt;p&gt;In this scenario, a product mindset saves the DevOps team from wasting time and money on a losing feature. With a project mindset, it would have been more difficult to abandon the original deliverables and adopt a new approach.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/itops-devops_infinity_loop-f.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/itops-devops_infinity_loop-f_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/itops-devops_infinity_loop-f_mobile.png 960w,https://www.techtarget.com/rms/onlineimages/itops-devops_infinity_loop-f.png 1280w" alt="Diagram of the DevOps infinity loop." height="308" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The DevOps infinity loop enables organizations to incorporate feedback into product enhancements.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;A real-world example of a product mindset is &lt;a href="https://www.techtarget.com/searchdatacenter/definition/Linux-operating-system"&gt;Linux&lt;/a&gt;, the open source kernel operating system project. When Linux appeared in the early 1990s, few observers thought that a loosely organized group of volunteers, working without any traditional project management structures, could produce a viable product. At the time, most software was developed by commercial companies, which used a project mindset to manage the work of small teams of professional coders. Yet by the mid-1990s, Linux-based operating systems had become &lt;a href="https://www.techtarget.com/searchenterprisedesktop/tip/Comparing-the-Linux-kernel-vs-the-Windows-kernel"&gt;major competitors to proprietary alternatives&lt;/a&gt; such as Windows NT.&lt;/p&gt;
 &lt;p&gt;Arguably, Linux and similar open source projects accomplished this feat in large part because they were built by contributors who operated according to a product mindset. The contributors wanted to improve an open source product, and they did so by making changes that they felt would create the most value for users of the product. These users included most of the developers themselves. A project mindset, in which open source programmers worked according to rigid schedules and preplanned deliverables that risked becoming irrelevant by the time developers implemented them, would likely not have proved so effective.&lt;/p&gt;
 &lt;p&gt;The advent of Linux predated &lt;a href="https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/Agile-vs-DevOps-differences-similarities-compare-deployment-culture-silos"&gt;Agile and DevOps&lt;/a&gt; by a decade. But open source projects such as Linux provided early proof that a product mindset could result in faster, more efficient development, setting an important precedent that the Agile and DevOps movements would later endorse.&lt;/p&gt;
&lt;/section&gt;           
&lt;section class="section main-article-chapter" data-menu-title="How to hire for a product mindset approach"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to hire for a product mindset approach&lt;/h2&gt;
 &lt;p&gt;An essential step in implementing a product mindset is making sure that a company hires for two key roles: a product manager and a product owner. Some organizations combine these roles, but there are distinct &lt;a href="https://www.theserverside.com/tip/Product-owner-vs-product-manager-Whats-the-difference"&gt;differences between a product manager and product owner&lt;/a&gt;.&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Product managers operate at a strategic level.&lt;/b&gt; They focus on long-term &lt;a href="https://www.techtarget.com/searchenterpriseai/podcast/Google-head-of-product-on-generative-AI-strategy"&gt;product strategy&lt;/a&gt; that the company's objectives, the product's vision, market trends and competition all determine. For commercial software, the product manager's responsibilities include marketing, sales support, budgeting, forecasting, customer care and delivery team support.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Product owners are tactical.&lt;/b&gt; Part of the &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/Scrum"&gt;Scrum&lt;/a&gt; framework for Agile software development teams, the &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/product-owner"&gt;product owner&lt;/a&gt; provides direction on what developers should build based on the product's vision. The product owner creates a shared understanding between the business side and the development team. They describe and prioritize backlog items and determine satisfactory delivery.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineImages/software_quality-product_manager_vs_project_owner-f.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineImages/software_quality-product_manager_vs_project_owner-f_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineImages/software_quality-product_manager_vs_project_owner-f_mobile.png 960w,https://www.techtarget.com/rms/onlineImages/software_quality-product_manager_vs_project_owner-f.png 1280w" alt="Table comparing product owner vs. product manager." height="281" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The difference between a product manager and a product owner.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Project-based skills have a place on Agile product teams. Project managers can become Scrum masters; business analysts can become product owners. But the shift to a product-oriented role involves more than a title change. Product-based roles require rapid and &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/Iterative-vs-incremental-development-Whats-the-difference"&gt;iterative delivery models&lt;/a&gt; and, thus, a dedicated, cross-functional team. For example, software engineers and testers often work in the same product team to &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/5-key-ways-to-fulfill-the-role-of-QA-in-DevOps"&gt;ensure quick QA&lt;/a&gt; and feedback.&lt;/p&gt;
 &lt;p&gt;Some companies take the approach of pairing a product leader with a development leader. The two together define a product strategy and roadmap, prioritize work, define release timelines, build an investment model and take accountability for product success. This approach provides the team with clear ownership over a product and makes sure that both product management and product development are completely aligned on a plan.&lt;/p&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="6 best practices to adopt a product mindset"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;6 best practices to adopt a product mindset&lt;/h2&gt;
 &lt;p&gt;Beyond hiring for the right roles, here are six practical ways an organization can prioritize product over project.&lt;/p&gt;
 &lt;h3&gt;1) Set clear responsibilities&lt;/h3&gt;
 &lt;p&gt;Give team members clear responsibilities that align with a product mindset. Senior leaders should create teams that understand their responsibility to own the product over the long term. Product leaders should seek regular updates on strategy, as well as measure and report on the business metrics that define product success.&lt;/p&gt;
 &lt;p&gt;These teams must evaluate whether the product delivers the desired business outcome, from its initial ideation phases to an eventual decision on product end of life. Clear delineation of work is essential to avoid short- and long-term confusion.&lt;/p&gt;
 &lt;figure class="main-article-image half-col" data-img-fullsize="https://www.techtarget.com/rms/onlineImages/software_quality-6_steps_product_mindset-h.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineImages/software_quality-6_steps_product_mindset-h_half_column_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineImages/software_quality-6_steps_product_mindset-h_half_column_mobile.png 960w,https://www.techtarget.com/rms/onlineImages/software_quality-6_steps_product_mindset-h.png 1280w" alt="List of six steps to a product mindset." height="312" width="279"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Six best practices for a product mindset.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;h3&gt;2) Design with the customer in mind&lt;/h3&gt;
 &lt;p&gt;Establish channels for constant communication with end users. The goal is always to gather customer insights through techniques such as UX monitoring, &lt;a href="https://www.techtarget.com/searchitoperations/answer/When-to-use-canary-vs-blue-green-vs-rolling-deployment"&gt;canary releases&lt;/a&gt; and beta testing. Product-minded teams devote a significant portion their time to understand, validate and even challenge every user insight. Organizations that use Agile or DevOps adjust their strategies according to the feedback.&lt;/p&gt;
 &lt;p&gt;Enterprise organizations must invest in qualitative and quantitative feedback to empower developers and QA teams to adjust and make decisions on the fly. Qualitative data might include satisfaction scores, feature requests, bug reports and focus groups -- these measure how a user feels about an app. Quantitative data provides objective feedback, such as load time and usage metrics. This feedback can help the organization decide whether to iterate on a feature or &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/How-to-deprecate-software-features-without-bothering-users"&gt;shelve it&lt;/a&gt;.&lt;/p&gt;
 &lt;h3&gt;3) See the bigger picture&lt;/h3&gt;
 &lt;p&gt;Each development decision affects the product. Consider the ramifications of each choice over the long term. Agile or DevOps organizations should develop and release products that are easy to test, deploy and support. If the team doesn't think about ongoing support during the build, for example, support costs will skyrocket when the product faces issues in production.&lt;/p&gt;
 &lt;p&gt;Instill a sense of product ownership in all team members. Each person should feel like they have ownership of the product.&lt;/p&gt;
 &lt;h3&gt;4) Invest in organizational change&lt;/h3&gt;
 &lt;p&gt;The hardest aspect of a product overhaul is getting everyone to buy in. The transition to a product mindset is a &lt;a href="https://www.techtarget.com/searchitoperations/tip/Target-tangible-IT-goals-during-a-DevOps-culture-shift"&gt;culturally challenging effort&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;It requires many people to change their habits, especially people in positions of authority. Start at the top. Executives should evangelize the change, lay out a roadmap, allocate funding for training and new staff, and periodically update the organization on progress.&lt;/p&gt;
 &lt;p&gt;Next, identify the product leaders. Find progressive-thinking, product-minded people and recruit them to help lead the change. Also, invest in training. Onboarding a critical mass of employees to Agile thinking is critical for the product mindset to take root and flourish.&lt;/p&gt;
 &lt;p&gt;Don't let the organization lapse back into old, project-thinking ways. That will only leave it vulnerable to more agile, product-oriented competitors. A product transformation with many processes still mired in the project mindset will &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/The-prevailing-Agile-pitfalls-that-prevent-true-adoption"&gt;create impediments&lt;/a&gt;.&lt;/p&gt;
 &lt;h3&gt;5) Build the right product for today&lt;/h3&gt;
 &lt;p&gt;There's a big difference between project and product managers' approach to failure. Project managers try not to fail. Product managers find ways to &lt;a href="https://www.techtarget.com/whatis/definition/fail-fast"&gt;fail fast&lt;/a&gt;, learn from the experience and move on. The project mindset assumes failure is expensive, so value is all about reducing cost and risk.&lt;/p&gt;
 &lt;p&gt;When it comes to building a product the right way, product-minded development teams assume the definition of "right" will change over time. The business, customers and market always evolve. Development teams build the right product for today, with the flexibility to adapt to emerging needs.&lt;/p&gt;
 &lt;p&gt;A project release attempts to cram a lot into one big burst, which carries risk. Each element in that single release raises the stakes of failure for the entire collection. Product-minded development uses shorter and iterative cycles that constant feedback guides. The product approach not only increases a team's release cadence and overall speed, but also enables testing at an earlier, less expensive stage.&lt;/p&gt;
 &lt;blockquote class="main-article-pullquote"&gt;
  &lt;div class="main-article-pullquote-inner"&gt;
   &lt;figure&gt;
    Rather than fix their problems, many organizations simply dress them up. ... A product mindset requires a shift throughout the organization.
   &lt;/figure&gt;
   &lt;i class="icon" data-icon="z"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/blockquote&gt;
 &lt;h3&gt;6. Fix the pig&lt;/h3&gt;
 &lt;p&gt;Rather than fix their problems, many organizations simply dress them up. As the idiom goes, it's like putting lipstick on a pig. A product mindset requires a shift throughout the organization -- a holistic focus on results, not on processes.&lt;/p&gt;
 &lt;p&gt;Convince the C-suite that fixing the pig is cheaper and faster in the long run than cosmetic changes, even if it requires investment upfront. Expect pushback. Change doesn't happen overnight.&lt;/p&gt;
 &lt;p&gt;Metrics are the most important components in this product revolution. Measure success according to business goals, not IT service-level agreements. Don't settle for tracking mandated uptime. Measure metrics such as deployments per year or call center volume -- any statistics that determine product value.&lt;/p&gt;
 &lt;p&gt;Business leaders don't know -- or care -- much about specs, servers and &lt;a href="https://www.techtarget.com/searchnetworking/definition/software-defined-networking-SDN"&gt;software-defined networks&lt;/a&gt;. They care about business wins. So, too, must the product team. Make an effort to speak their language, and the C-suite will get on board.&lt;/p&gt;
&lt;/section&gt;                           
&lt;section class="section main-article-chapter" data-menu-title="Why DevOps teams favor product mindset"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Why DevOps teams favor product mindset&lt;/h2&gt;
 &lt;p&gt;&lt;a href="https://www.techtarget.com/searchitoperations/tip/The-benefits-of-uniting-product-management-with-DevOps"&gt;DevOps teams prefer a product mindset&lt;/a&gt; because it enables more adaptability and empowers developers to work toward whatever results in a better product, rather than achieving project goals even if those goals don't benefit the product.&lt;/p&gt;
 &lt;p&gt;Prior to widespread adoption of the &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/agile-software-development"&gt;Agile methodology&lt;/a&gt;, the project mindset reigned supreme in the world of software development. Businesses typically defined a set of changes they wanted to make to software projects, such as implementing various new features and releasing them as an updated version of an application. Then, the business would work toward them based on a prescribed timeline and using a specific team.&lt;/p&gt;
 &lt;p&gt;But times have changed. Rather than releasing new features on a periodic basis, it's common today to embrace practices such as continuous delivery and continuous improvement, which entail updating applications on a frequent, regular basis. A product mindset enables this approach because it helps teams focus on evolving software continuously over time instead of working within the confines of a rigidly defined project.&lt;/p&gt;
 &lt;p&gt;&lt;b&gt;Editor's note:&lt;/b&gt;&lt;i&gt; This article was updated in 2025 by Chris Tozzi to improve the reader experience.&lt;/i&gt;&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;Chris Tozzi is a freelance writer, research adviser, and professor of IT and society. He has previously worked as a journalist and Linux systems administrator. George Lawton is a journalist based in London. Over the last 30 years, he has written more than 3,000 stories about computers, communications, knowledge management, business, health and other areas that interest him.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>Agile and DevOps highlight the differences between project and product approaches to software development. Establish these roles and principles to deliver business value.</description>
            <image>https://cdn.ttgtmedia.com/rms/onlineimages/collab_a78129054.jpg</image>
            <link>https://www.techtarget.com/searchsoftwarequality/feature/Compare-a-product-vs-project-mindset-for-software-development</link>
            <pubDate>Wed, 28 May 2025 12:00:00 GMT</pubDate>
            <title>Product vs. project mindset in software development</title>
        </item>
        <item>
            <body>&lt;p&gt;A penetration test, also called a &lt;i&gt;pen test&lt;/i&gt; is a simulated &lt;a href="https://www.techtarget.com/searchsecurity/definition/cyber-attack"&gt;cyberattack&lt;/a&gt; on a computer system, network or application to identify and highlight vulnerabilities in an organization's &lt;a href="https://www.techtarget.com/searchsecurity/definition/security-posture"&gt;security posture&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Also known as &lt;i&gt;ethical hacking&lt;/i&gt;, these tests are often carried out by &lt;a href="https://www.techtarget.com/searchsecurity/definition/ethical-hacker"&gt;ethical hackers&lt;/a&gt;. These in-house employees or third parties mimic the strategies and actions of an attacker to evaluate the hackability of an organization's computer systems, network or web applications. Organizations can also use pen testing to evaluate their adherence to compliance regulations.&lt;/p&gt; 
&lt;p&gt;Penetration testing is considered a &lt;a href="https://www.techtarget.com/searchsecurity/feature/Build-a-proactive-cybersecurity-approach-that-delivers"&gt;proactive cybersecurity measure&lt;/a&gt; because it involves consistent, self-initiated improvements based on the reports the test generates. This differs from nonproactive approaches, which don't fix weaknesses as they arise. A nonproactive approach to cybersecurity, for example, would involve a company updating its &lt;a href="https://www.techtarget.com/searchsecurity/definition/firewall"&gt;firewall&lt;/a&gt; after a &lt;a href="https://www.techtarget.com/searchsecurity/definition/data-breach"&gt;data breach&lt;/a&gt; occurs.&lt;/p&gt; 
&lt;p&gt;The goal of proactive measures, such as pen testing, is to minimize the number of retroactive upgrades and maximize an organization's security.&lt;/p&gt; 
&lt;div class="youtube-iframe-container"&gt;
 &lt;iframe id="ytplayer-0" src="https://www.youtube.com/embed/TA0TbzyU8GY?autoplay=0&amp;amp;modestbranding=1&amp;amp;rel=0&amp;amp;widget_referrer=null&amp;amp;enablejsapi=1&amp;amp;origin=https://www.techtarget.com" type="text/html" height="360" width="640" frameborder="0" loading="lazy"&gt;&lt;/iframe&gt;
&lt;/div&gt; 
&lt;section class="section main-article-chapter" data-menu-title="Why is pen testing important?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Why is pen testing important?&lt;/h2&gt;
 &lt;p&gt;A test run of a cyberattack, a penetration test offers insights into the most vulnerable aspects of a system. It also serves as a mitigation technique, enabling organizations to close the identified loopholes before threat actors get to them.&lt;/p&gt;
 &lt;p&gt;The following are four reasons why organizations should conduct pen testing:&lt;/p&gt;
 &lt;ol type="1" start="1" class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Risk assessment. &lt;/b&gt;The rate of distributed denial of service (&lt;a href="https://www.techtarget.com/searchsecurity/definition/denial-of-service"&gt;DoS&lt;/a&gt;), &lt;a href="https://www.techtarget.com/searchsecurity/definition/phishing"&gt;phishing&lt;/a&gt; and &lt;a href="https://www.techtarget.com/searchsecurity/definition/ransomware"&gt;ransomware&lt;/a&gt; attacks is dramatically increasing, putting most companies at risk. Considering how reliant businesses are on technology, the consequences of a &lt;a href="https://www.techtarget.com/searchsecurity/news/252500684/DarkSide-The-ransomware-gang-that-took-down-a-pipeline"&gt;successful cyberattack&lt;/a&gt; have never been greater. A ransomware attack, for instance, could block a company from accessing the data, devices, networks and servers it relies on to conduct business. Such an attack could result in millions of dollars of lost revenue. Pen testing uses the hacker perspective to identify and mitigate cybersecurity risks before they're exploited. This helps IT leaders perform informed security upgrades that minimize the possibility of successful attacks.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Security awareness.&lt;/b&gt; As technology continues to evolve, so do the methods cybercriminals use. For companies to successfully protect themselves and their assets from these attacks, they need to be able to update their security measures at the same rate. The caveat, however, is that it's often difficult to know which methods cybercriminals are using and how they might be used in an attack. But by using skilled ethical hackers, organizations can quickly and effectively identify, update and replace the parts of their systems that are particularly susceptible to modern hacking techniques.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Reputation.&lt;/b&gt; A data breach can put a company's reputation at stake, especially if it goes public. Customers can lose confidence in the business and stop buying its products, while investors might be hesitant to invest in a business that doesn't take its cyberdefense seriously. Penetration testing protects the reputation of a business by offering proactive mitigation approaches.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Compliance.&lt;/b&gt; Industries such as healthcare, banking and service providers take compliance and regulation seriously and include pen testing as part of their compliance efforts. Common regulations such as &lt;a href="https://www.techtarget.com/searchsecurity/tip/Pen-testing-guide-Types-steps-methodologies-and-frameworks"&gt;System and Organization Controls 2&lt;/a&gt;, the &lt;a href="https://www.techtarget.com/searchhealthit/definition/HIPAA"&gt;Health Insurance Portability and Accountability Act&lt;/a&gt; and the &lt;a href="https://www.techtarget.com/searchsecurity/definition/PCI-DSS-Payment-Card-Industry-Data-Security-Standard"&gt;Payment Card Industry Data Security Standard&lt;/a&gt; require pen tests to be compliant. Therefore, by performing regularly scheduled pen testing, organizations can stay on top of their compliance needs.&lt;/li&gt; 
 &lt;/ol&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="Benefits of penetration testing"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Benefits of penetration testing&lt;/h2&gt;
 &lt;p&gt;Penetration testing offers a wide range of benefits for organizations looking to improve their security posture and resilience. Here are some common benefits of conducting penetration testing:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Identification and prioritization of vulnerabilities.&lt;/b&gt; Penetration tests provide a deeper analysis than automated scans, revealing complex and exploitable weaknesses in systems, networks and applications. They also help classify and prioritize vulnerabilities according to their potential effects and ease of exploitation, enabling organizations to concentrate their remediation efforts on the most significant issues.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Real-world security assessment.&lt;/b&gt; By simulating actual attack scenarios, pen testing offers a realistic evaluation of an organization's security posture. This helps identify weaknesses in defense mechanisms and provides a better understanding of how an attacker might succeed when trying to infiltrate a system.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Improved security controls and processes.&lt;/b&gt; The findings of a penetration test offer organizations the information needed to fine-tune their security defenses, such as firewalls, &lt;a href="https://www.techtarget.com/searchsecurity/definition/intrusion-detection-system"&gt;intrusion detection systems&lt;/a&gt; and access management. Additionally, it helps facilitate improvements to the security guidelines, operational processes and overall security architecture of the organization.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Business continuity and reduced downtime. &lt;/b&gt;Pen testing can uncover weaknesses that could lead to system failures or disruptions. Addressing these vulnerabilities helps ensure &lt;a href="https://www.techtarget.com/searchdisasterrecovery/definition/business-continuity"&gt;business continuity&lt;/a&gt; and minimizes potential downtime caused by security incidents.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Cost savings.&lt;/b&gt; Proactively addressing vulnerabilities through penetration testing is more cost-effective than dealing with the aftermath of a cyberattack. Penetration testing helps organizations identify and &lt;a href="https://www.techtarget.com/searchsecurity/tip/Close-security-gaps-with-attack-path-analysis-and-management"&gt;close security gaps&lt;/a&gt; before they're exploited, thereby preventing the financial losses associated with data breaches and system downtime.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="Who performs penetration tests?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Who performs penetration tests?&lt;/h2&gt;
 &lt;p&gt;Pen testing is typically performed by pen testers known as ethical hackers. These ethical hackers are IT experts who use hacking methods to help companies identify possible entry points into their infrastructure. By using different methodologies, tools and approaches, organizations can perform simulated cyberattacks to test the strengths and weaknesses of their existing security systems. &lt;i&gt;Penetration&lt;/i&gt;, in this case, refers to the degree to which a hypothetical threat actor, or hacker, can penetrate an organization's cybersecurity measures and protocols.&lt;/p&gt;
 &lt;p&gt;Most pen testers are experienced developers or security professionals with &lt;a href="https://www.techtarget.com/searchsecurity/feature/On-a-penetration-tester-career-path-flexibility-and-curiosity-are-key"&gt;advanced credentials and pen testing certifications&lt;/a&gt;. It's always best to hire penetration testers who have little to no experience with the system they're trying to infiltrate. For example, a developer performing pen testing on their own source code might miss a few blind spots that a tester from outside can catch.&lt;/p&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="Team methodology in penetration testing"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Team methodology in penetration testing&lt;/h2&gt;
 &lt;p&gt;In penetration testing, the team methodology refers to the structured approach and collaboration among various specialized groups or teams to simulate real-world cyberattacks or exercises effectively. Here's a breakdown of common teaming approaches and &lt;a href="https://www.techtarget.com/searchsecurity/answer/What-is-red-and-white-hat-hacking"&gt;types of ethical hackers&lt;/a&gt;:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Red team.&lt;/b&gt; The &lt;a href="https://www.techtarget.com/whatis/definition/red-teaming"&gt;red team&lt;/a&gt; is the core penetration testing team that simulates real-world attackers. Their goal is to identify and exploit vulnerabilities to gain unauthorized access, mimicking the tactics, techniques and procedures (TTPs) of actual threat actors. The red team operates offensively.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Blue team.&lt;/b&gt; The blue team is the internal security team of the organization being tested. Their role is to detect, prevent and respond to the red team's activities, just as they would with a real attack.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Purple team.&lt;/b&gt; This team facilitates collaboration between red and blue teams, ensuring that insights from simulated attacks are effectively communicated and used to enhance defensive strategies.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Green team.&lt;/b&gt; The green team is responsible for developing and maintaining secure systems and applications. They integrate secure coding practices and conduct regular security reviews to identify and prevent vulnerabilities.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Yellow team.&lt;/b&gt; This team's main responsibility is to focus on &lt;a href="https://www.techtarget.com/searchsecurity/definition/social-engineering"&gt;social engineering&lt;/a&gt; tactics, testing the organization's susceptibility to phishing and other manipulation techniques.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;White team.&lt;/b&gt; The white team oversees the entire penetration testing process, ensuring that ethical guidelines are followed, and that testing aligns with legal and organizational policies.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="What are the types of penetration testing?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What are the types of penetration testing?&lt;/h2&gt;
 &lt;p&gt;There are various types of pen testing strategies, each offering pen testers a certain level of information they need to carry out their attack.&lt;/p&gt;
 &lt;ol class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;White box testing. &lt;/b&gt;White box testing provides testers with all the details about an organization's system or target network and checks the code and internal structure of the product being tested. &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/white-box"&gt;White box testing&lt;/a&gt; is also known as open glass, clear box, transparent or code-based testing.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Black box testing&lt;/b&gt;. This is a type of behavioral and functional testing where testers aren't given any knowledge of the system. Organizations typically hire ethical hackers for &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/black-box"&gt;black box testing&lt;/a&gt; where a real-world attack is carried out to get an idea of the system's vulnerabilities.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Gray box testing. &lt;/b&gt;Gray box testing&lt;b&gt; &lt;/b&gt;is a combination of white box and black box testing techniques. It provides testers with partial knowledge of the system, such as low-level credentials, logical flow charts and network maps. The main idea behind gray box testing is to find potential code and functionality issues.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Targeted testing. &lt;/b&gt;This type of testing is&lt;b&gt; &lt;/b&gt;a collaborative effort between an organization's IT staff and external testers, who share an understanding of the testing's scope, objectives and timeline to enable real-time communication and immediate feedback. The main goal is to simulate realistic attack scenarios on critical systems, such as web applications, databases or internal networks to identify vulnerabilities that could be exploited by malicious actors.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Web application testing. &lt;/b&gt;This testing is conducted to find security weaknesses in web-based applications. This involves testing the application's endpoints, databases, source code and backend network. The main objective is to identify run-time vulnerabilities and check for &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/SQL-injection"&gt;SQL injections&lt;/a&gt;, cross-site scripting (&lt;a href="https://www.techtarget.com/searchsecurity/definition/cross-site-scripting"&gt;XSS&lt;/a&gt;) and authentication issues.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Insider threat testing.&lt;/b&gt; &lt;a href="https://www.techtarget.com/searchsecurity/definition/insider-threat"&gt;Insider threat&lt;/a&gt; testing focuses on simulating attacks originating from within an organization. Unlike external threats, these attacks are carried out by individuals who have authorized access to the organization's systems, such as employees, contractors or business partners. The primary goal is to identify vulnerabilities that could be exploited by insiders, whether maliciously or unintentionally.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Wireless testing.&lt;/b&gt; This type of testing is used to assess the security of &lt;a href="https://www.techtarget.com/searchmobilecomputing/definition/Wi-Fi"&gt;Wi-Fi&lt;/a&gt; networks and wireless protocols and the devices connected to them. This test examines the encryption methods, access controls and network configurations to identify weaknesses that could be exploited by unauthorized users.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Internet of things testing. &lt;/b&gt;&lt;a href="https://www.techtarget.com/iotagenda/tip/An-introduction-to-IoT-penetration-testing"&gt;IoT testing&lt;/a&gt; is conducted to examine the security of IoT devices and networks, including vulnerabilities in devices, protocols and data transmission.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Cloud testing. &lt;/b&gt;&lt;a href="https://www.techtarget.com/searchstorage/definition/cloud-testing"&gt;Cloud testing&lt;/a&gt;&lt;b&gt; &lt;/b&gt;evaluates the security of cloud-based infrastructure and services, including infrastructure-as-a-service (&lt;a href="https://www.techtarget.com/searchcloudcomputing/definition/Infrastructure-as-a-Service-IaaS"&gt;IaaS&lt;/a&gt;), platform-as-a-service (&lt;a href="https://www.techtarget.com/searchcloudcomputing/definition/Platform-as-a-Service-PaaS"&gt;PaaS&lt;/a&gt;) and software-as-a-service (&lt;a href="https://www.techtarget.com/searchcloudcomputing/definition/Software-as-a-Service"&gt;SaaS&lt;/a&gt;) options. Testers evaluate the configuration settings, access controls and data encryption mechanisms used within cloud environments to identify vulnerabilities and misconfigurations.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Physical testing. &lt;/b&gt;&lt;a href="https://www.techtarget.com/searchsecurity/tip/Physical-pen-testing-methods-and-tools"&gt;Physical pen testing&lt;/a&gt;&lt;b&gt; &lt;/b&gt;is done to simulate real-world threats by attempting to bypass physical security controls, such as locks, alarms and security cameras, to gain unauthorized access to facilities or systems.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;API testing. &lt;/b&gt;&lt;a href="https://www.techtarget.com/searchapparchitecture/definition/API-testing"&gt;API testing&lt;/a&gt;&lt;b&gt; &lt;/b&gt;focuses on testing the security of APIs, which are crucial for modern application communication. It typically includes identifying vulnerabilities in authentication, authorization and data handling.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Mobile testing. &lt;/b&gt;A mobile application penetration test is a security assessment specifically focused on identifying vulnerabilities in mobile applications, such as those on Android and iOS and their related backend systems and APIs. It simulates real-world attacks to uncover weaknesses in the app's design, implementation and infrastructure that malicious actors could exploit.&lt;/li&gt; 
 &lt;/ol&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="What are the stages of pen testing?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What are the stages of pen testing?&lt;/h2&gt;
 &lt;p&gt;Pen testing can be divided into the following six stages:&lt;/p&gt;
 &lt;ol class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;1.&lt;/b&gt; &lt;b&gt;Reconnaissance and planning.&lt;/b&gt; Testers gather all the information related to the target system from public and private sources. Sources might include incognito searches, social engineering, domain registration information retrieval and nonintrusive &lt;a href="https://www.techtarget.com/searchnetworking/definition/network-scanning"&gt;network and vulnerability scanning&lt;/a&gt;. The information is vital for the testers, as it provides clues into the target system's attack surface and open vulnerabilities, such as network components, operating system details, open ports and access points.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;2.&lt;/b&gt; &lt;b&gt;Scanning.&lt;/b&gt; Based on the results of the initial phase, testers might use various scanning tools to further explore the system and its weaknesses. Pen testing tools -- including war dialers, &lt;a href="https://www.techtarget.com/searchsecurity/answer/What-is-a-port-scan-attack"&gt;port scanners&lt;/a&gt;, security vulnerability scanners and network mappers -- are used to detect as many vulnerabilities and loopholes as possible. The vulnerabilities are then shortlisted for exploitation.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;3.&lt;/b&gt; &lt;b&gt;Obtaining entry.&lt;/b&gt; During this stage, testers exploit vulnerabilities assessed in the previous phase by making a connection with the target. The testers conduct common web application security attacks -- including a DoS attack, SQL injections and backdoors, session hijacking and XSS -- to expose the system's vulnerabilities, which are then &lt;a href="https://www.techtarget.com/searchsecurity/feature/Why-companies-should-focus-on-preventing-privilege-escalation"&gt;exploited through privilege escalations&lt;/a&gt;, traffic interception or data stealing techniques.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;4.&lt;/b&gt; &lt;b&gt;Maintaining access.&lt;/b&gt; This stage ensures that the penetration testers stay connected to the target for as long as possible and exploit the vulnerabilities for maximum data infiltration. This stage imitates an &lt;a href="https://www.techtarget.com/searchsecurity/definition/advanced-persistent-threat-APT"&gt;advanced persistent threat&lt;/a&gt;, which can stay active in a system for prolonged periods to steal sensitive data and cause further damage.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;5. Analysis.&lt;/b&gt; The testers analyze the results gathered from the penetration testing and builds them into a report. The report details each step taken during the testing process, including the following:&lt;/li&gt; 
 &lt;/ol&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;The vulnerabilities the testers exploited.&lt;/li&gt; 
  &lt;li&gt;The type of sensitive data the testers accessed.&lt;/li&gt; 
  &lt;li&gt;The amount of time the testers stayed connected to the target.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;ol class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;6. Cleanup and remediation.&lt;/b&gt; Once the testing is complete, the pen testers should remove all traces of tools and processes used during the previous stages to prevent a real-world threat actor from using them as an anchor for system infiltration. During this stage, organizations should start remediating any issues found in their security controls and infrastructure.&lt;/li&gt; 
 &lt;/ol&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="How often should pen tests be performed?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How often should pen tests be performed?&lt;/h2&gt;
 &lt;p&gt;How frequently pen testing should be conducted depends on many factors, but most security experts recommend doing it &lt;a target="_blank" href="https://static.fortra.com/core-security/pdfs/guides/fta-cs-2024-pen-testing-report-gd.pdf" rel="noopener"&gt;at least once a year&lt;/a&gt;, as it can detect emerging vulnerabilities, such as &lt;a href="https://www.techtarget.com/searchsecurity/definition/zero-day-vulnerability"&gt;zero-day threats&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;Organizations should consider the following factors when scheduling pen testing:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Company size.&lt;/b&gt; Larger organizations can suffer greater monetary and reputational losses if they fall prey to cyberattacks. Therefore, they should invest in regular security testing to prevent these attacks.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Budget.&lt;/b&gt; Pen testing should be based on a company's budget and how flexible it is. For example, a larger organization might be able to conduct annual pen tests, whereas a smaller business might only be able to afford them once every two years.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Regulations.&lt;/b&gt; Depending on the industry and regulations, certain organizations are required to conduct mandatory penetration testing. Examples include banking and healthcare organizations.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Scope and objectives.&lt;/b&gt; Organizations should ensure that the systems, applications and data that are being tested are within the scope of the pen test. This could include internal networks, web applications, cloud services or specific databases.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Risk tolerance.&lt;/b&gt; Companies should identify the acceptable level of risk for the organization, which will influence the scope and intensity of the test.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;In addition to regularly scheduled penetration testing, organizations should also conduct security tests when the following events occur:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;New network infrastructure or appliances are added to the network.&lt;/li&gt; 
  &lt;li&gt;Upgrades are performed on existing applications and equipment.&lt;/li&gt; 
  &lt;li&gt;Patches are installed for security.&lt;/li&gt; 
  &lt;li&gt;New office locations are established.&lt;/li&gt; 
  &lt;li&gt;End-user policies have been modified.&lt;/li&gt; 
  &lt;li&gt;Integrations are made with third-party services.&lt;/li&gt; 
  &lt;li&gt;A merger or an acquisition happens.&lt;/li&gt; 
  &lt;li&gt;After major cybersecurity events such as ransomware attacks.&lt;/li&gt; 
  &lt;li&gt;New and emerging technologies are adopted.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="How to perform a penetration test"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to perform a penetration test&lt;/h2&gt;
 &lt;p&gt;Pen testing is unique from other cybersecurity evaluation methods, as it can be adapted to any industry or organization. Depending on its infrastructure and operations, an organization might want to use a certain set of hacking techniques or tools. These techniques and their methodologies can also vary based on the IT personnel and their company standards. Using the following adaptable six-step process, pen testing creates a set of results that can help organizations proactively update their security protocols:&lt;/p&gt;
 &lt;ol type="1" start="1" class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Preparation.&lt;/b&gt; Depending on the organization's needs, this step can either be simple or elaborate. If the organization hasn't decided which vulnerabilities it wants to evaluate, a significant amount of time and resources should be devoted to combing the system for possible entry points. These in-depth processes are usually only necessary for businesses that haven't already conducted a complete audit of their systems. Once a &lt;a href="https://www.computerweekly.com/feature/Vulnerability-assessment-done-Now-What"&gt;vulnerability assessment has been conducted&lt;/a&gt;, however, this step becomes much easier.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Construct an attack plan.&lt;/b&gt; Before hiring ethical hackers, an IT department designs a cyberattack -- or a list of cyberattacks -- that its team should use to perform the pen test. During this step, it's also important to define what level of system access the pen tester has.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Select a team.&lt;/b&gt; The success of a pen test depends on the quality of the testers. This step is often used to appoint the ethical hackers who are best suited to perform the test. Companies can make these decisions based on employee specialties. For example, if a company wants to test its cloud security, a cloud expert might be the best person to evaluate its cybersecurity properly.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Determine the stolen data type.&lt;/b&gt; What is the team of ethical hackers stealing? The data type chosen in this step can have a profound effect on the tools, strategies and techniques used to acquire it.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Perform the test.&lt;/b&gt; This is one of the most complicated and nuanced parts of the testing process, as there are many automated tools and techniques testers can use, including Kali Linux, Nmap, &lt;a href="https://www.techtarget.com/searchsecurity/tip/Using-Metasploit-for-real-world-security-tests"&gt;Metasploit&lt;/a&gt; and &lt;a href="https://www.techtarget.com/searchsecurity/tip/Wireshark-tutorial-How-to-sniff-network-traffic"&gt;Wireshark&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Integrate the report results.&lt;/b&gt; Reporting is the most important step of the process. The results the testers provide must be detailed so the organization can incorporate the findings.&lt;/li&gt; 
 &lt;/ol&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/security-pen_testing-f.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/security-pen_testing-f_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/security-pen_testing-f_mobile.png 960w,https://www.techtarget.com/rms/onlineimages/security-pen_testing-f.png 1280w" alt="Diagram showing the steps involved in penetration testing." height="560" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Penetration testing at a glance.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="What happens after a pen test?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What happens after a pen test?&lt;/h2&gt;
 &lt;p&gt;After a pen test is successfully concluded, an ethical hacker shares their findings with the information security team of the target organization. Ethical hackers usually &lt;a href="https://www.techtarget.com/searchsecurity/tip/How-to-rank-network-security-vulnerabilities-in-your-system"&gt;rank and categorize the findings with a severity rating &lt;/a&gt;so that the issues with the highest rating are given precedence during remediation.&lt;/p&gt;
 &lt;p&gt;The organization uses these findings as a basis for further investigation, assessment and remediation of its security posture. The decision-makers and stakeholders also get involved at this stage and the organization's IT or security team creates deadlines to ensure all security issues are dealt with promptly.&lt;/p&gt;
 &lt;p&gt;After completing remediation efforts, organizations conduct verification testing to ensure fixes effectively address vulnerabilities. They update security documentation and adjust policies as needed, incorporating lessons learned into their strategy. The process concludes with a review meeting for key stakeholders to discuss findings, options and plans for ongoing security improvements to maintain a strong security posture.&lt;/p&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="What is the difference between pen testing and vulnerability assessments?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What is the difference between pen testing and vulnerability assessments?&lt;/h2&gt;
 &lt;p&gt;Although pen tests aren't the same as &lt;a href="https://www.techtarget.com/searchsecurity/definition/vulnerability-assessment-vulnerability-analysis"&gt;vulnerability assessments&lt;/a&gt;, which provide a prioritized list of security weaknesses and how to amend them, they're often performed together.&lt;/p&gt;
 &lt;p&gt;The main characteristics of pen testing and vulnerability assessments are as follows:&lt;/p&gt;
 &lt;h3&gt;Pen testing&lt;/h3&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Pen testing is more in-depth compared to vulnerability assessments and is often conducted with a particular goal in mind. These goals typically fall under one of the following three objectives: identify hackable systems, attempt to hack a specific system or carry out a data breach.&lt;/li&gt; 
  &lt;li&gt;Each objective focuses on specific outcomes that IT leaders are trying to avoid. For example, if the goal of a pen test is to see &lt;a href="https://www.techtarget.com/searchsecurity/feature/6-data-breach-prevention-strategies-to-defend-against-attack"&gt;how easily a hacker could breach&lt;/a&gt; the company database, the ethical hackers would be instructed to try to carry out a data breach.&lt;/li&gt; 
  &lt;li&gt;The results of a pen test will communicate the strength of an organization's current cybersecurity protocols, as well as present the available hacking methods that can be used to penetrate the organization's systems.&lt;/li&gt; 
  &lt;li&gt;Penetration testing is generally live and manual, making it more accurate.&lt;/li&gt; 
  &lt;li&gt;It takes longer to complete a pen test, typically a day to a few weeks.&lt;/li&gt; 
  &lt;li&gt;Pen testing can be expensive, and the price varies depending on the type of test conducted. According to RSI Security, on average, pen testing costs anywhere from $4,000 to $100,000.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;h3&gt;Vulnerability assessments&lt;/h3&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Vulnerability assessments do passive scanning to search for known vulnerabilities in the system and report potential exposures.&lt;/li&gt; 
  &lt;li&gt;Scans are typically automated or scheduled.&lt;/li&gt; 
  &lt;li&gt;Vulnerability assessments can be completed in a few minutes to several hours.&lt;/li&gt; 
  &lt;li&gt;Vulnerability assessments are affordable and depending on the vendor, they can average $1,000 to $5,000 per assessment. Vulnerability assessments sometimes generate false positives.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;&lt;i&gt;Discover how penetration testing helps identify security vulnerabilities and learn about the &lt;/i&gt;&lt;a href="https://www.techtarget.com/searchsecurity/tip/11-open-source-automated-penetration-testing-tools"&gt;&lt;i&gt;top open source tools&lt;/i&gt;&lt;/a&gt;&lt;i&gt; used by ethical hackers for testing network, application and device security controls.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>A penetration test, also called a 'pen test,' is a simulated cyberattack on a computer system, network or application to identify and highlight vulnerabilities in an organization's security posture.</description>
            <image>https://cdn.ttgtmedia.com/visuals/digdeeper/3.jpg</image>
            <link>https://www.techtarget.com/searchsecurity/definition/penetration-testing</link>
            <pubDate>Wed, 14 May 2025 09:00:00 GMT</pubDate>
            <title>What is penetration testing?</title>
        </item>
        <item>
            <body>&lt;p&gt;Asynchronous programming in Python enables programmers to write code that can handle multiple tasks at the same time without multiple threads or processes.&lt;/p&gt; 
&lt;p&gt;The asyncio library, and asynchronous constructs such as coroutines, help Python applications efficiently perform nonblocking I/O operations. This is especially useful for tasks such as handling thousands of network requests, file operations or other I/O-bound processes where waiting for responses bogs down total execution time.&lt;/p&gt; 
&lt;p&gt;However, async is often misunderstood as multithreading, which leads to incorrect assumptions about its &lt;a href="https://www.theserverside.com/tip/Tips-to-improve-Python-performance"&gt;performance benefits&lt;/a&gt;.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="Async vs. multithreading: Similarities and differences"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Async vs. multithreading: Similarities and differences&lt;/h2&gt;
 &lt;p&gt;A common misconception is that asynchronous programming is the same as multithreading. Although both approaches aim to achieve concurrency, they are fundamentally different in how they work.&lt;/p&gt;
 &lt;p&gt;In multithreading, multiple threads run in parallel, ideally utilizing multiple CPU cores. However, Python's Global Interpreter Lock (GIL) prevents true parallel execution of threads when working within the standard Python implementation. As a result, threads in Python are often limited by context switching overhead &lt;a href="https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/Is-Pythons-GIL-the-software-worlds-biggest-blunder"&gt;and the GIL itself&lt;/a&gt;, particularly when performing CPU-bound tasks.&lt;/p&gt;
 &lt;p&gt;Asynchronous programming, on the other hand, is not about parallelism, but rather efficient management of tasks that involve waiting, such as I/O operations. Async code enables a program to continue running other tasks while it waits for an operation such as a network request or file read to complete.&lt;/p&gt;
 &lt;p&gt;Importantly, Python remains single-threaded in both synchronous and asynchronous code. Async functions do not magically turn Python into a parallel-processing machine. Instead, they help the single thread to handle more operations concurrently, pausing tasks that await external events and resuming them when ready. This makes async ideal for I/O-bound tasks, but not for CPU-intensive work.&lt;/p&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="Python async examples"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Python async examples&lt;/h2&gt;
 &lt;p&gt;The best use cases for async programming in Python are those dominated by I/O operations. Examples include the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;a href="https://www.techtarget.com/whatis/feature/How-to-scrape-data-from-a-website"&gt;Web scraping&lt;/a&gt; large numbers of pages.&lt;/li&gt; 
  &lt;li&gt;Making concurrent API requests.&lt;/li&gt; 
  &lt;li&gt;Reading and writing large files.&lt;/li&gt; 
  &lt;li&gt;Handling multiple client connections in a web server.&lt;/li&gt; 
  &lt;li&gt;Database queries, especially over a network.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;These scenarios all spend a lot of time waiting for external systems to respond. Traditional synchronous code would block and wait, and effectively stop the execution of the program. Async code, however, can initiate many such operations simultaneously, and efficiently switch between them as responses come in.&lt;/p&gt;
 &lt;h3&gt;When not to use async in Python&lt;/h3&gt;
 &lt;p&gt;On the other hand, tasks that are mostly CPU-bound are poor candidates for async. Here are some examples:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Image processing.&lt;/li&gt; 
  &lt;li&gt;Data analysis and mathematical computation.&lt;/li&gt; 
  &lt;li&gt;Machine learning model training.&lt;/li&gt; 
  &lt;li&gt;Complex algorithms, such as simulations or sorting large data sets.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;Async won't speed up these tasks because the bottleneck is the processor, not I/O. Attempts to use async in CPU-heavy scenarios most likely will degrade performance, adding overhead without any benefit. For these cases, &lt;a href="https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/How-Python-multiprocessing-can-boost-performance"&gt;parallelism through multiprocessing&lt;/a&gt; or other options that &lt;a href="https://www.techtarget.com/searchitoperations/video/No-GIL-Python-is-a-mistake"&gt;bypass the GIL&lt;/a&gt; is a better approach.&lt;/p&gt;
&lt;/section&gt;        
&lt;section class="section main-article-chapter" data-menu-title="Implementing async in Python"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Implementing async in Python&lt;/h2&gt;
 &lt;p&gt;Python provides the &lt;a target="_blank" href="https://docs.python.org/3/library/asyncio.html" rel="noopener"&gt;asyncio library&lt;/a&gt; as the standard way to write asynchronous code. With asyncio, a developer can define coroutines, which are special functions that can be paused and resumed, to run concurrently within a single thread.&lt;/p&gt;
 &lt;p&gt;The basics of how asyncio works are as follows:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;samp&gt;async def&lt;/samp&gt; defines an asynchronous function, also called a coroutine.&lt;/li&gt; 
  &lt;li&gt;&lt;samp&gt;await&lt;/samp&gt; suspends execution of the current coroutine until the awaited coroutine completes.&lt;/li&gt; 
  &lt;li&gt;&lt;samp&gt;asyncio.run()&lt;/samp&gt; runs the top-level coroutine and automatically manages the event loop.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;Example:&lt;/p&gt;
 &lt;pre class="language-python"&gt;&lt;code&gt;import asyncio
async def fetch_data():
    print("Fetching data...")
    await asyncio.sleep(2)  # Simulate some IO delay
    print("Data fetched")
    return "Sample Data"
async def main():
    result = await fetch_data()
    print(result)
asyncio.run(main())&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;This simple program fetches data without blocking the entire application. The &lt;samp&gt;asyncio.sleep()&lt;/samp&gt; call represents a nonblocking delay, which lets other coroutines run during that time.&lt;/p&gt;
 &lt;h3&gt;Coroutines and subprocesses&lt;/h3&gt;
 &lt;p&gt;Coroutines are the foundation of Python async programming. These functions can pause execution at certain points and resume later, which enables efficient concurrency. They are lightweight and more memory-efficient compared with threads.&lt;/p&gt;
 &lt;p&gt;Subprocesses, on the other hand, run separate programs or commands in their own operating system processes. In asyncio, subprocesses can be managed asynchronously, so the main application can stay responsive while it waits for external programs to complete.&lt;/p&gt;
 &lt;p&gt;Example:&lt;/p&gt;
 &lt;pre class="language-python"&gt;&lt;code&gt;import asyncio
async def run_command():
    process = await asyncio.create_subprocess_shell(
        'ls -l',
        stdout=asyncio.subprocess.PIPE,
        stderr=asyncio.subprocess.PIPE
    )
    stdout, stderr = await process.communicate()
    print(stdout.decode())
asyncio.run(run_command())&lt;/code&gt;&lt;/pre&gt;
 &lt;h3&gt;Network IO and process communication&lt;/h3&gt;
 &lt;p&gt;One of the most powerful uses of asyncio is to handle network I/O. Whether it's to manage HTTP requests, WebSockets or TCP connections, async enables efficient processing of thousands of connections without spawning thousands of threads.&lt;/p&gt;
 &lt;p&gt;For interprocess communication, asyncio also interacts with pipes, sockets and queues asynchronously to facilitate seamless communication between processes without blocking the event loop.&lt;/p&gt;
 &lt;p&gt;The following example shows network I/O using &lt;samp&gt;aiohttp&lt;/samp&gt;:&lt;/p&gt;
 &lt;pre class="language-python"&gt;&lt;code&gt;import aiohttp
import asyncio
async def fetch_url(url):
    async with aiohttp.ClientSession() as session:
        async with session.get(url) as response:
            return await response.text()
async def main():
    content = await fetch_url('https://example.com')
    print(content)
asyncio.run(main())&lt;/code&gt;&lt;/pre&gt;
 &lt;h3&gt;Code synchronization and queues&lt;/h3&gt;
 &lt;p&gt;Async applications often need synchronization mechanisms, especially when multiple coroutines produce or consume shared resources. Asyncio provides an &lt;samp&gt;asyncio.Queue&lt;/samp&gt; that supports safe, nonblocking queue operations.&lt;/p&gt;
 &lt;p&gt;Generally, one implements this using the producer-consumer design pattern. Producers can add data to the queue while consumers process it concurrently, all within the same event loop.&lt;/p&gt;
 &lt;p&gt;The following example shows how to produce and consume data without blocking the flow of the program:&lt;/p&gt;
 &lt;pre class="language-python"&gt;&lt;code&gt;import asyncio
async def producer(queue):
    for i in range(5):
        await queue.put(i)
        print(f'Produced {i}')
        await asyncio.sleep(1)
async def consumer(queue):
    while True:
        item = await queue.get()
        print(f'Consumed {item}')
        queue.task_done()
async def main():
    queue = asyncio.Queue()
    await asyncio.gather(producer(queue), consumer(queue))
asyncio.run(main())&lt;/code&gt;&lt;/pre&gt;
&lt;/section&gt;                      
&lt;section class="section main-article-chapter" data-menu-title="Async for Python: Best for apps reliant on I/O, not CPU"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Async for Python: Best for apps reliant on I/O, not CPU&lt;/h2&gt;
 &lt;p&gt;Asynchronous programming in Python is a powerful tool to improve performance in I/O-bound applications. Apps that employ asyncio can handle thousands of tasks concurrently, which vastly improves efficiency for web servers, scrapers and network services.&lt;/p&gt;
 &lt;p&gt;However, it is crucial to understand that async is not multithreading. Python remains single-threaded when running async code, and async provides no advantages for CPU-bound tasks. In fact, trying to use async in computationally heavy scenarios can introduce unnecessary complexity and actually degrade performance.&lt;/p&gt;
 &lt;p&gt;In summary, async is best used for tasks that spend time waiting on external resources. For CPU-bound problems, traditional multiprocessing or compiled extensions remain the better choice.&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;David "Walker" Aldridge is a programmer with 40 years of experience in multiple languages and remote programming. He is also an experienced systems admin and infosec blue team member with interest in retrocomputing.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>Asynchronous programming in Python improves efficiency for I/O-bound applications, but it's not a performance cure-all. Here's how async in Python works and when to use it.</description>
            <image>https://cdn.ttgtmedia.com/rms/onlineimages/code_g1255337870.jpg</image>
            <link>https://www.theserverside.com/tutorial/Asynchronous-programming-in-Python-tutorial</link>
            <pubDate>Mon, 14 Apr 2025 15:43:00 GMT</pubDate>
            <title>Asynchronous programming in Python tutorial</title>
        </item>
        <item>
            <body>&lt;p&gt;Regression testing is a type of software test that assesses if changes to an application, or other related software components, introduce defects. A quality assurance (&lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/quality-assurance"&gt;QA&lt;/a&gt;) engineer performs these exercises to see if modifications to code break or hinder the way in which the application works or how it consumes resources.&lt;/p&gt; 
&lt;p&gt;An application change or addition can cause unintended side effects, called regressions, that might even pop up in components or systems separate from the altered code &lt;a href="https://www.techtarget.com/searchapparchitecture/tip/The-vicious-cycle-of-circular-dependencies-in-microservices"&gt;due to dependencies&lt;/a&gt;. A regression test flags these adverse effects. An application change or code modification that necessitates regression tests can include the following:&lt;/p&gt; 
&lt;ul class="default-list"&gt; 
 &lt;li&gt;The introduction of a new feature or functionality.&lt;/li&gt; 
 &lt;li&gt;A fix for a defect.&lt;/li&gt; 
 &lt;li&gt;&lt;a href="https://www.techtarget.com/searchapparchitecture/definition/refactoring"&gt;Refactoring&lt;/a&gt; to boost performance.&lt;/li&gt; 
 &lt;li&gt;Alterations to an application's hosting environment.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;A QA engineer executes a regression test at any of four test levels:&lt;/p&gt; 
&lt;ul class="default-list"&gt; 
 &lt;li&gt;&lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/unit-testing"&gt;Unit testing&lt;/a&gt; -- a software development process in which the smallest testable parts of an application, called units, are individually and independently scrutinized for proper operation.&lt;/li&gt; 
 &lt;li&gt;&lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/integration-testing"&gt;Integration testing&lt;/a&gt; -- a software development process in which program units are combined and tested as groups in multiple ways.&lt;/li&gt; 
 &lt;li&gt;&lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/system-testing"&gt;System testing&lt;/a&gt; -- determines how the various components of an application interact together in the full, integrated system or application.&lt;/li&gt; 
 &lt;li&gt;&lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/acceptance-test"&gt;Acceptance testing&lt;/a&gt; -- determines to what degree an application meets end users' approval. Depending on the organization, acceptance testing might take the form of beta testing, application testing, field testing or end-user testing.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Typically, a regression test occurs late in each test cycle, close to release; that said, don't discount the importance of &lt;i&gt;unit regression testing&lt;/i&gt;, which narrowly addresses one unit of code at a time and reruns unit tests.&lt;/p&gt; 
&lt;p&gt;Regression testing must keep up with the speed at which an organization delivers software. Regression testing can be time-consuming and repetitive, requiring hours or days to complete. For this reason, a software team might choose to &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/automated-software-testing"&gt;automate tests&lt;/a&gt;, both to reduce test execution time and free up workers for other tasks.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="Regression test techniques"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Regression test techniques&lt;/h2&gt;
 &lt;p&gt;Test case management helps a software development team determine whether a regression test is effective. A team assembles or orders its collection of test cases into a test suite.&lt;/p&gt;
 &lt;h3&gt;Retest-all regression testing&lt;/h3&gt;
 &lt;p&gt;One approach to regression testing is the &lt;i&gt;retest-all &lt;/i&gt; -- not to be confused with &lt;i&gt;retesting&lt;/i&gt; -- technique, which, as the name suggests, entails the execution of every regression test case the team has written. While this method is thorough, it might be overkill for smaller releases. Contexts that call for the retest-all technique include when software is adapted for a new platform, language or culture, and when an operating system receives a major update.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/visuals/WhatIs/regression testing vs re-testing.PNG"&gt;
  &lt;img data-src="https://www.techtarget.com/visuals/WhatIs/regression testing vs re-testing_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/visuals/WhatIs/regression testing vs re-testing_mobile.png 960w,https://www.techtarget.com/visuals/WhatIs/regression testing vs re-testing.PNG 1280w" alt="Regression testing vs. retesting comparison table." height="274" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Regression testing is an automated process that checks if changes to software break the software, whereas retesting confirms whether a fix was successful.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;If a software development team opts to build a tailored test suite for each test cycle, they can choose test cases according to their place in a priority system. A testing team might define a &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/How-to-write-test-cases-one-component-at-a-time"&gt;high-value test case&lt;/a&gt; as, for example, one with a high failure rate, or one that pertains to end-to-end or customer-facing aspects of the software. A test case that relates to added functionality, or checks critical application features, might also receive high priority.&lt;/p&gt;
 &lt;h3&gt;Partial regression testing&lt;/h3&gt;
 &lt;p&gt;A software development team can also follow a &lt;i&gt;partial regression testing&lt;/i&gt; strategy, where they run just select test cases, but include tests related to any major features. This sort of approach is referred to as &lt;i&gt;regression test selection (RTS)&lt;/i&gt; by some. For those who see a distinction between the two terms, with RTS a team only executes test cases that might be affected by -- or associated with -- the most recent changes to the code. With partial regression, the test suite also contains those tests that pertain to critical features.&lt;/p&gt;
 &lt;p&gt;To determine how widespread of an effect a change or build has on the software, the team can perform an &lt;i&gt;impact analysis&lt;/i&gt;. Accordingly, an impact analysis informs the collection of test cases for the subsequent test cycle.&lt;/p&gt;
 &lt;p&gt;A &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/smoke-testing"&gt;smoke test&lt;/a&gt;, which typically precedes a regression test, only determines if the basic functionality of an application works. Regression test cases examine the software more exhaustively.&lt;/p&gt;
 &lt;p&gt;Whenever a test elicits a previously undiscovered defect, a tester should write a test case that similarly induces the bug.&lt;/p&gt;
&lt;/section&gt;           
&lt;section class="section main-article-chapter" data-menu-title="Regression testing tools"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Regression testing tools&lt;/h2&gt;
 &lt;p&gt;An IT team can use a tool or platform to execute and optimize regression tests. A test management tool helps testers apply script automation, as well as trigger smoke and regression tests. In many cases, a regression testing tool leaves some level of manual test work for QA.&lt;/p&gt;
 &lt;p&gt;The regression testing tool market includes options with support for different programming languages and &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/Build-Server"&gt;CI servers&lt;/a&gt; -- and by extension &lt;a href="https://www.techtarget.com/searchsoftwarequality/CI-CD-pipelines-explained-Everything-you-need-to-know"&gt;the CI/CD process&lt;/a&gt;. Teams can choose between low-cost or free, open source options and feature-heavy commercial tools.&lt;/p&gt;
 &lt;p&gt;Open source regression testing options include Watir, Sahi and Selenium.&lt;/p&gt;
 &lt;p&gt;SmartBear's TestComplete and Ranorex Studio -- two commercial options -- test web, mobile and desktop applications. TestComplete is a front-end and functional testing platform, while Ranorex Studio is a GUI test automation framework. Each product integrates with a variety of CI systems and enables automated regression testing within them. Functionize uses &lt;a href="https://www.techtarget.com/searchenterpriseai/definition/machine-learning-ML"&gt;machine learning&lt;/a&gt; as part of its test automation capabilities and integrates with CI/CD tools.&lt;/p&gt;
&lt;/section&gt;</body>
            <description>Regression testing is a type of software test that assesses if changes to an application, or other related software components, introduce defects.</description>
            <image>https://cdn.ttgtmedia.com/visuals/digdeeper/3.jpg</image>
            <link>https://www.techtarget.com/searchsoftwarequality/definition/regression-testing</link>
            <pubDate>Thu, 03 Apr 2025 00:00:00 GMT</pubDate>
            <title>What is regression testing?</title>
        </item>
        <item>
            <body>&lt;p&gt;The key differences between camel case, snake case, pascal case and kebab case are how these programming naming conventions use capitalization and whitespace to make variable names more readable.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="Snake case and kebab case"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Snake case and kebab case&lt;/h2&gt;
 &lt;p&gt;The snake case and kebab case naming conventions separate words with an underscore and a dash, respectively: snake_case and kebab-case. When a programmer uses only capital letters with these naming formats, they are called SCREAMING_SNAKE_CASE and FLAMING-KEBAB-CASE. Otherwise, snake case and kebab case place no requirements on the casing of letters.&lt;/p&gt;
&lt;/section&gt;  
&lt;section class="section main-article-chapter" data-menu-title="Pascal case and camel case"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Pascal case and camel case&lt;/h2&gt;
 &lt;p&gt;&lt;a href="https://www.theserverside.com/answer/Pascal-case-vs-camel-case-Whats-the-difference"&gt;Pascal case and camel case&lt;/a&gt; don't employ whitespace, but instead use capitalization. With pascal case, the first letter of every word in the name of a variable is capitalized, including the first letter: PascalCase. Camel case follows a similar convention, except the first letter can be either uppercase &lt;a href="https://www.techtarget.com/whatis/definition/lowerCamelCase"&gt;or lowercase&lt;/a&gt; -- CamelCase or camelCase -- depending on the use case.&lt;/p&gt;
 &lt;p&gt;&lt;a href="https://www.theserverside.com/feature/Java-naming-conventions-explained"&gt;Naming conventions&lt;/a&gt; are important in every programming language because they help make code more readable, which makes the code easier to maintain, troubleshoot and document.&lt;/p&gt;
 &lt;p&gt;Keep in mind, though, that every programming language has its own set of conventions. What's standard in Java won't necessarily be acceptable as a naming convention in Python or &lt;a href="https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/First-Mojo-Program-AI-ML-Hello-World-Number-Guesser-Modular"&gt;Mojo&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;To learn more about the most popular code naming conventions, watch this full video on the differences between pascal case, camel case, kebab case and snake case.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.theserverside.com/rms/onlineimages/naming_conventions_in_java-f.png"&gt;
  &lt;img data-src="https://www.theserverside.com/rms/onlineimages/naming_conventions_in_java-f_mobile.png" class="lazy" data-srcset="https://www.theserverside.com/rms/onlineimages/naming_conventions_in_java-f_mobile.png 960w,https://www.theserverside.com/rms/onlineimages/naming_conventions_in_java-f.png 1280w" alt="Chart comparing the naming conventions used in Java." height="370" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The use of programming naming conventions like camel case, pascal case, snake case and kebab case vary from language to language.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;&lt;i&gt;Cameron McKenzie has been a Java EE software engineer for 20 years. His current specialties include Agile development; DevOps; Spring; and container-based technologies such as Docker, Swarm and Kubernetes.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>Want to know the differences between common code naming conventions like camel case, pascal case, snake case and kebab case? This quick tutorial has all the answers.</description>
            <link>https://www.theserverside.com/video/Camel-case-vs-pascal-case-vs-snake-case-vs-kebab-case</link>
            <pubDate>Fri, 14 Mar 2025 12:37:00 GMT</pubDate>
            <title>Camel case vs. pascal case vs. snake case vs. kebab case</title>
        </item>
        <item>
            <body>&lt;p&gt;Application lifecycle management (ALM) is the process of managing a software lifecycle from creation to its end of life. By combining and organizing the elements of an application's lifecycle, ALM improves product quality, optimizes productivity and eases the management and maintenance burden for related products and services.&lt;/p&gt; 
&lt;p&gt;ALM itself consists of an integrated system of people, tools and processes that supervise a software application from its initial planning and development, through testing and maintenance, to eventual decommissioning and retirement. The process provides a &lt;a href="https://www.techtarget.com/searchsecurity/tip/The-top-secure-software-development-frameworks"&gt;software development framework&lt;/a&gt; while helping organizations manage their software over its lifecycle.&lt;/p&gt; 
&lt;p&gt;Application lifecycle management tools automate software development and deployment processes, help ensure compliance is achieved and maintained, and create a standardized environment where all teams involved in the application lifecycle can communicate and collaborate.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="Why is application lifecycle management important?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Why is application lifecycle management important?&lt;/h2&gt;
 &lt;p&gt;ALM provides organizations with a structured approach to managing software development. It ensures that appropriate project requirements are set as well as met, and it helps developers adjust development processes and goals during the software lifecycle.&lt;/p&gt;
 &lt;p&gt;In addition, by ensuring that all teams -- including development, &lt;a href="https://www.techtarget.com/searchitoperations/definition/IT-operations"&gt;operations&lt;/a&gt; and security -- collaborate effectively, organizations are better positioned to produce the best possible software.&lt;/p&gt;
 &lt;p&gt;Application lifecycle management helps businesses achieve high efficiency and gain a competitive edge by accelerating workflows and ensuring that top-quality products get deployed.&lt;/p&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="What is application lifecycle management used for?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What is application lifecycle management used for?&lt;/h2&gt;
 &lt;p&gt;ALM provides a framework for setting requirements and establishing processes, governance and methodologies before deploying software. In essence, it supplies the scaffolding within which software gets developed, tested and maintained.&lt;/p&gt;
 &lt;p&gt;By design, it also includes safeguards and checkoffs to ensure software meets compliance, governance, efficiency, usability, performance and other benchmarks before being released into production. Finally, ALM provides ongoing opportunities to review and adjust costs to meet changing budget requirements and productivity assessments, ensuring that companies realize their &lt;a href="https://www.techtarget.com/searchcio/definition/ROI"&gt;return on investment&lt;/a&gt; objectives for software development.&lt;/p&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="What is the application lifecycle management process?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What is the application lifecycle management process?&lt;/h2&gt;
 &lt;p&gt;The ALM process gives &lt;a href="https://www.techtarget.com/searchitoperations/definition/DevSecOps"&gt;DevSecOps&lt;/a&gt; teams, plus executive staff and &lt;a href="https://www.techtarget.com/searchcio/definition/stakeholder"&gt;stakeholders&lt;/a&gt;, ongoing opportunities to do the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Set and manage requirements as well as establish processes and procedures.&lt;/li&gt; 
  &lt;li&gt;Set and manage governance and compliance needs across the lifecycle.&lt;/li&gt; 
  &lt;li&gt;Establish methodologies to manage and control development, testing and maintenance activities.&lt;/li&gt; 
  &lt;li&gt;Ensure that testing meets functionality, performance, usability and security needs.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;As explained in the next section, the ALM process explicitly establishes and manages all aspects of all application lifecycle management stages.&lt;/p&gt;
 &lt;div class="youtube-iframe-container"&gt;
  &lt;iframe id="ytplayer-0" src="https://www.youtube.com/embed/sWF-PuAlkI0?autoplay=0&amp;amp;modestbranding=1&amp;amp;rel=0&amp;amp;widget_referrer=null&amp;amp;enablejsapi=1&amp;amp;origin=https://www.techtarget.com" type="text/html" height="360" width="640" frameborder="0" loading="lazy"&gt;&lt;/iframe&gt;
 &lt;/div&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="Stages of application lifecycle management"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Stages of application lifecycle management&lt;/h2&gt;
 &lt;p&gt;Application lifecycle management consists of five stages:&lt;/p&gt;
 &lt;h3&gt;1. Defining requirements&lt;/h3&gt;
 &lt;p&gt;When defining requirements, all stakeholders gather to declare what they need from the application to support their &lt;a href="https://www.techtarget.com/whatis/definition/business-case"&gt;business cases&lt;/a&gt;. A design of the application is created based on their expressed needs. Requirements can include a range of factors, including the business needs of the stakeholders as well as compliance and governance requirements.&lt;/p&gt;
 &lt;p&gt;Specifying requirements usually happens top-down, meaning the needs start with the most general and move into the more specific and detailed. As a result, case requirements are often in a hierarchical tree structure, with each node representing a more specific sub-requirement for a more general parent node. However, other development approaches, such as the iterative &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/agile-software-development"&gt;Agile development&lt;/a&gt; process, use less hierarchical structures to list requirements, with the defined needs identified as use cases.&lt;/p&gt;
 &lt;h3&gt;2. Development of the product&lt;/h3&gt;
 &lt;p&gt;Development begins once the team agrees to the requirements. At this stage, the product moves from an idea and design to a real, working application. The development team must first break down the application requirements into pieces and phases to create a development plan.&lt;/p&gt;
 &lt;p&gt;During this time, it is beneficial to incorporate representatives from all related teams, including sales, product marketing, IT and testing. This helps ensure that the created product satisfies all defined needs and is easy to use, test and deploy.&lt;/p&gt;
 &lt;p&gt;A wide variety of development methodologies can be used during this stage. The most popular are &lt;i&gt;sequential&lt;/i&gt; -- for example, the &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/waterfall-model"&gt;Waterfall model&lt;/a&gt; -- or &lt;i&gt;iterative&lt;/i&gt;, such as Agile development.&lt;/p&gt;
 &lt;h3&gt;3. Testing and quality assurance&lt;/h3&gt;
 &lt;p&gt;Testing and quality assurance (&lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/quality-assurance"&gt;QA&lt;/a&gt;) often overlap with the development stage. Testers should begin preparing their test cases and testing environments before the product is formally released. Testers should also be available to provide feedback on the application throughout development. Furthermore, integration and &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/unit-testing"&gt;unit tests&lt;/a&gt; should be incorporated into programming activities. Development teams often use &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/continuous-integration"&gt;continuous integration&lt;/a&gt; systems.&lt;/p&gt;
 &lt;p&gt;During the formal testing and QA stage, testers must verify that the application fulfills the requirements defined in the first stage of the process. Testers should also check for all other stakeholders' expectations that the app will need to support throughout its lifecycle. This stage also includes full &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/integration-testing"&gt;integration testing&lt;/a&gt; and addressing all issues or bugs discovered and reported by the development team.&lt;/p&gt;
 &lt;p&gt;The development and testing stages conclude when the product reaches quality and stability that is good enough for release. The product marketing team defines this level.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineImages/software_quality-application_lifecycle_management-f.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineImages/software_quality-application_lifecycle_management-f_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineImages/software_quality-application_lifecycle_management-f_mobile.png 960w,https://www.techtarget.com/rms/onlineImages/software_quality-application_lifecycle_management-f.png 1280w" alt="diagram of the five stages of application lifecycle management (ALM)" height="287" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Application lifecycle management is made up of an initial defining stage, a development stage, a testing and QA stage, deployment, and then a stage of continuous maintenance and eventual retirement. 
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;h3&gt;4. Deployment&lt;/h3&gt;
 &lt;p&gt;The deployment stage involves releasing the product to users. This process varies depending on application type because each product type requires different attributes and specifications. For example, &lt;a href="https://www.techtarget.com/searchcloudcomputing/definition/Software-as-a-Service"&gt;software-as-a-service&lt;/a&gt; apps must be deployed on the company's internal servers, while users can access &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/Web-application-Web-app"&gt;web apps&lt;/a&gt; through the internet.&lt;/p&gt;
 &lt;h3&gt;5. Continuous maintenance and improvement of the product&lt;/h3&gt;
 &lt;p&gt;Continuous maintenance and improvement of the product occur after deployment to monitor and manage the performance of the released application. The team resolves any remaining bugs during this stage while planning and prioritizing new updates.&lt;/p&gt;
 &lt;p&gt;Maintenance is frequently the longest stage of ALM, but it might also require the least participation from the development team if previous steps were effective.&lt;/p&gt;
 &lt;p&gt;An important element of the maintenance stage is defining the system's retirement. In other words, teams must decide when work should be stopped and moved to a newer version of the product or migrated to a different product entirely.&lt;/p&gt;
&lt;/section&gt;                    
&lt;section class="section main-article-chapter" data-menu-title="Benefits of application lifecycle management"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Benefits of application lifecycle management&lt;/h2&gt;
 &lt;p&gt;Some key benefits of ALM include the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Increased visibility into workflow.&lt;/b&gt; Application lifecycle management provides an organization with a clear direction for its workflow before developers begin building the app. During the first stage -- defining requirements -- companies create a business case, determine the app's lifespan and plan the necessary resources before committing to development. This saves the organization time and money by avoiding unnecessary work and expensive mistakes.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Enhanced compliance.&lt;/b&gt; ALM tools can help organizations track and document compliance measures throughout the software development lifecycle (&lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/systems-development-life-cycle"&gt;SDLC&lt;/a&gt;).&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Faster deployments.&lt;/b&gt; ALM can streamline the development process by automating workflows and improving collaboration between teams, which enables faster releases.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Higher-quality products&lt;/b&gt;. ALM practices commonly include structured development cycles, frequent testing and continuous monitoring that help solve issues before deployment.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Efficiency.&lt;/b&gt; The integrated system created by ALM is more efficient than a collection of unconnected tools and processes spread across various teams. This integration also benefits organizations by improving communication and collaboration and by aligning software objectives with any business value or corporate goal.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Better collaboration.&lt;/b&gt; The ability for teams to collaborate ensures that each worker understands the project and its stage. ALM tools enable workers to track strategies, changes, requirements and project status in real time, regardless of location. ALM tools also prioritize the various team goals and help define the various skill sets needed for different processes.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Improved decision-making.&lt;/b&gt; ALM improves teams' decision-making abilities when dealing with aging software. Most ALM tools include &lt;a href="https://www.techtarget.com/whatis/definition/version-control"&gt;version control&lt;/a&gt; and real-time planning, helping team leaders to map the application's future easily. This capability can also eliminate confusion for companies dealing with multiple applications.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="Challenges to application lifecycle management"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Challenges to application lifecycle management&lt;/h2&gt;
 &lt;p&gt;ALM does come with some challenges, however. These can include the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Scalability.&lt;/b&gt; Managing multiple applications, teams and processes in an ALM framework can be complex and difficult to scale.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Visibility.&lt;/b&gt; Visibility can be challenging when workloads are spread across multiple clouds or in a hybrid cloud system.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Security.&lt;/b&gt; Integrating security into every step of the ALM process can be challenging.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Need for increased communication between teams.&lt;/b&gt; Coordinating communication efforts between teams such as developers, operations and security can be difficult.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Need for increased agility.&lt;/b&gt; Balancing governance, control and flexibility might become enough of a challenge that it becomes difficult to increase or maintain the agility needed for rapid deployments.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="Application lifecycle management tools"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Application lifecycle management tools&lt;/h2&gt;
 &lt;p&gt;Numerous ALM tools, which encompass a collection of project management tools that integrate people and processes, are available for tracking application changes. These tools range from dedicated ALM products that monitor an application from inception to completion, automatically sorting files into logical buckets, to simple &lt;a href="https://www.techtarget.com/whatis/definition/wiki"&gt;wikis&lt;/a&gt; requiring team members to manually record changes.&lt;/p&gt;
 &lt;p&gt;Organizations should look for several key features when choosing an ALM tool:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Version control.&lt;/li&gt; 
  &lt;li&gt;Team communication and planning in real time.&lt;/li&gt; 
  &lt;li&gt;Estimation and application development planning.&lt;/li&gt; 
  &lt;li&gt;Requirements management.&lt;/li&gt; 
  &lt;li&gt;Test management and QA.&lt;/li&gt; 
  &lt;li&gt;Source code management.&lt;/li&gt; 
  &lt;li&gt;Automated deployment.&lt;/li&gt; 
  &lt;li&gt;Application portfolio management.&lt;/li&gt; 
  &lt;li&gt;Maintenance and support.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;ALM tools enable users to define project requirements and develop &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/user-story"&gt;user stories&lt;/a&gt;, which can then be prioritized, scheduled and broken down into detailed tasks used for resource tracking. Resource tracking analyzes how well an organization uses its resources throughout the app's lifecycle. ALM tool users can also attach documents, screenshots and URLs to all &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/artifact-software-development"&gt;artifacts&lt;/a&gt; as well as customize all graphs and reports in various formats -- including Adobe Acrobat and HTML.&lt;/p&gt;
 &lt;p&gt;ALM tools enable users to create, modify and perform test cases; manage automated and manual tests; track issues, bugs, risks and enhancements related to the source code repository; and access a complete audit history of all changes made to the application.&lt;/p&gt;
 &lt;p&gt;ALM tool dashboards can be personalized, and the reporting that appears can be customized to benefit specific users.&lt;/p&gt;
 &lt;p&gt;Some popular examples of ALM tools include the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Jama Connect.&lt;/li&gt; 
  &lt;li&gt;MeisterTask.&lt;/li&gt; 
  &lt;li&gt;Codebeamer.&lt;/li&gt; 
  &lt;li&gt;Visure Requirements ALM Platform.&lt;/li&gt; 
  &lt;li&gt;Jira.&lt;/li&gt; 
  &lt;li&gt;Microsoft Azure DevOps.&lt;/li&gt; 
  &lt;li&gt;Tuleap.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;         
&lt;section class="section main-article-chapter" data-menu-title="How ALM affects DevOps"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How ALM affects DevOps&lt;/h2&gt;
 &lt;p&gt;As a software delivery approach, &lt;a href="https://www.techtarget.com/searchitoperations/definition/DevOps"&gt;DevOps&lt;/a&gt; is all about communication. The term is a portmanteau to describe the collaborative approach that development and operations teams are meant to take. This is an &lt;a href="https://www.forbes.com/councils/forbestechcouncil/2023/03/07/the-importance-of-devops-today-how-to-choose-the-right-platform-for-your-team/" target="_blank" rel="noopener"&gt;important practice&lt;/a&gt;, as it promotes better communication and collaboration between these teams to improve software quality and development outcomes.&lt;/p&gt;
 &lt;p&gt;Both ALM and DevOps practices are complementary. They share the goal of increasing software delivery speed and quality while also increasing collaboration and communication between teams.&lt;/p&gt;
 &lt;p&gt;The ALM tools used to automate software development and deployment processes also align with DevOps core principles. They help to promote communication, as they typically enable multiple teams to collaborate throughout the application lifecycle. For example, implementing ALM development and maintenance tools in a software's lifecycle can help further streamline DevOps teams.&lt;/p&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="Application lifecycle management vs. software development lifecycle"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Application lifecycle management vs. software development lifecycle&lt;/h2&gt;
 &lt;p&gt;The &lt;i&gt;software development lifecycle&lt;/i&gt; refers to the processes or procedures involved in creating a high-quality software product. Application lifecycle management is similar to the SDLC, but it incorporates a wider range of processes.&lt;/p&gt;
 &lt;p&gt;ALM covers the entire application lifecycle, incorporating the perspective of what the business needs from an application, while the SDLC focuses more narrowly on software development and maintenance. In other words, ALM includes all five stages of the app's lifecycle -- requirements, development, testing, deployment and maintenance -- but the &lt;a href="https://www.techtarget.com/searchsoftwarequality/answer/How-does-ALM-differ-from-SDLC"&gt;SDLC only focuses on a fraction of ALM&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="Application lifecycle management vs. product lifecycle management"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Application lifecycle management vs. product lifecycle management&lt;/h2&gt;
 &lt;p&gt;Product lifecycle management (PLM) is the process of managing a product throughout its entire lifecycle. It's a very similar idea to ALM, with similar principles, but some unique identifiers make the two processes different.&lt;/p&gt;
 &lt;p&gt;The biggest difference is that, while ALM applies to software, PLM applies to physical hardware. ALM focuses on the entire software development lifecycle, including development, testing, deployment and maintenance, while PLM focuses on the entire lifecycle of physical products, including product design, production, maintenance and disposal.&lt;/p&gt;
 &lt;p&gt;Manufacturers also commonly use PLM software that can track, store and update data related to a product.&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;ALM and PLM tools are very similar concepts. Learn more about the &lt;/i&gt;&lt;a href="https://www.techtarget.com/searcherp/tip/PLM-vs-ALM-Compare-the-differences"&gt;&lt;i&gt;differences between ALM and PLM&lt;/i&gt;&lt;/a&gt;&lt;i&gt;. &lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>Application lifecycle management (ALM) is the process of managing a software lifecycle from creation to its end of life.</description>
            <image>https://cdn.ttgtmedia.com/visuals/digdeeper/4.jpg</image>
            <link>https://www.techtarget.com/searchsoftwarequality/definition/application-lifecycle-management-ALM</link>
            <pubDate>Tue, 11 Feb 2025 11:45:00 GMT</pubDate>
            <title>What is application lifecycle management?</title>
        </item>
        <item>
            <body>&lt;p&gt;The spiral model is a systems development lifecycle (&lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/systems-development-life-cycle"&gt;SDLC&lt;/a&gt;) method used for &lt;a href="https://searchcompliance.techtarget.com/definition/risk-management"&gt;risk management&lt;/a&gt; that combines the iterative development process model with elements of the &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/waterfall-model"&gt;Waterfall model&lt;/a&gt;. The spiral model is used by software engineers and is favored for large, expensive and complicated projects.&lt;/p&gt; 
&lt;p&gt;When viewed as a diagram, the spiral model of software development looks like a coil with many loops. The &lt;a href="https://www.techtarget.com/searchcio/definition/project-management"&gt;project manager&lt;/a&gt; designates the number of loops, which varies based on the project. Each loop of the spiral is a phase in the software development process model.&lt;/p&gt; 
&lt;p&gt;The spiral model enables gradual releases and refinement of a software product through each phase of the spiral. This risk-driven approach also enables the ability to build prototypes at each phase. The most important feature of the model is its ability to manage potential risks after the project has commenced; creating a prototype makes this feasible.&lt;/p&gt; 
&lt;figure class="main-article-image half-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/whatis-spiral_model.png"&gt;
 &lt;img data-src="https://www.techtarget.com/rms/onlineimages/whatis-spiral_model_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/whatis-spiral_model_mobile.png 960w,https://www.techtarget.com/rms/onlineimages/whatis-spiral_model.png 1280w" alt="Diagram showing the four spiral model phases"&gt;
 &lt;figcaption&gt;
  &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The spiral model includes four distinct phases that are necessary to build, refine and release a product.
 &lt;/figcaption&gt;
 &lt;div class="main-article-image-enlarge"&gt;
  &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
 &lt;/div&gt;
&lt;/figure&gt; 
&lt;section class="section main-article-chapter" data-menu-title="Uses of the spiral model"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Uses of the spiral model&lt;/h2&gt;
 &lt;p&gt;The spiral model is best used in large projects. It compartmentalizes them into phases with different people involved in each phase. Larger issues are broken down into smaller problems to solve and departments or teams are assigned specific tasks that they're responsible for. Other uses include the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Projects in which frequent releases are necessary.&lt;/li&gt; 
  &lt;li&gt;Projects in which changes are required at any time.&lt;/li&gt; 
  &lt;li&gt;Long-term projects that aren't feasible because of altered economic priorities.&lt;/li&gt; 
  &lt;li&gt;Medium to high-risk projects, where iterative refinements are needed to ensure potential risks are mitigated.&lt;/li&gt; 
  &lt;li&gt;Projects in which cost and &lt;a href="https://www.techtarget.com/searchsecurity/definition/risk-analysis"&gt;risk analysis&lt;/a&gt; are important.&lt;/li&gt; 
  &lt;li&gt;Projects that would benefit from the creation of a prototype to demonstrate the functionalities to stakeholders.&lt;/li&gt; 
  &lt;li&gt;Projects with unclear or complex requirements.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="Real-world examples of spiral model projects"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Real-world examples of spiral model projects&lt;/h2&gt;
 &lt;p&gt;Various industries rely on the spiral model to iteratively improve projects. Examples include the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Software development. &lt;/b&gt;Developers iteratively test software projects while adhering to feedback to guide improvements. This is especially true of mobile apps, where functionality changes rapidly and requires debugging to adhere to user and stakeholder expectations.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Gaming. &lt;/b&gt;Game developers use this iterative model to test gameplay and improve graphics before a final product is released. Such refinements are based on customer feedback as well.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Retail. &lt;/b&gt;&lt;a href="https://www.techtarget.com/searchcio/definition/e-commerce"&gt;E-commerce&lt;/a&gt; website developers use spiral modeling to continuously evolve and add new features to improve the &lt;a href="https://www.techtarget.com/searchcustomerexperience/definition/customer-experience-CX"&gt;customer experience&lt;/a&gt; based on consumer preferences and market trends.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Healthcare. &lt;/b&gt;The spiral model is used to ensure &lt;a href="https://www.techtarget.com/searchhealthit/definition/electronic-health-record-EHR"&gt;electronic healthcare records&lt;/a&gt; systems meet industry standards and comply with existing regulations, such as the Health Insurance Portability and Accountability Act.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Space. &lt;/b&gt;Space exploration systems, such as satellites and rovers, start as prototypes and undergo simulations for testing before being used in space. The spiral model guides their development to ensure they aren't prone to issues.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="Phases of the spiral model"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Phases of the spiral model&lt;/h2&gt;
 &lt;p&gt;When looking at a diagram of a spiral model, the radius of the spiral represents the cost of the project, and the angular degree represents the progress made in the current phase. Each phase begins with a goal for the design and ends when the developer or client reviews the progress.&lt;/p&gt;
 &lt;p&gt;Every phase can be broken into four quadrants: identifying and understanding requirements, performing risk analysis, building the prototype and evaluating the software's performance.&lt;/p&gt;
 &lt;h3&gt;Identifying and understanding requirements&lt;/h3&gt;
 &lt;p&gt;Phases begin in the quadrant dedicated to the identification and understanding of requirements. The overall goal of the phase is determined, and all objectives are elaborated and analyzed. It's important to also identify alternative solutions in case the attempted version fails to perform.&lt;/p&gt;
 &lt;h3&gt;Risk analysis&lt;/h3&gt;
 &lt;p&gt;Risk analysis is performed on all possible solutions to find any faults or vulnerabilities -- such as running over budget or areas within the software open to &lt;a href="https://www.techtarget.com/searchsecurity/tip/6-common-types-of-cyber-attacks-and-how-to-prevent-them"&gt;different forms of cyberattacks&lt;/a&gt;. Each risk is resolved using the most efficient strategy.&lt;/p&gt;
 &lt;h3&gt;Building the prototype&lt;/h3&gt;
 &lt;p&gt;In the next quadrant, the prototype model is built and tested. This step includes architectural design, module design, physical product design and the final design. It takes the proposal that has been created in the first two quadrants and turns it into software that can be used.&lt;/p&gt;
 &lt;h3&gt;Performance evaluation&lt;/h3&gt;
 &lt;p&gt;In the fourth quadrant, the test results of the newest version are evaluated. This analysis lets programmers stop and understand what worked and didn't work before progressing with a new &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/build"&gt;build&lt;/a&gt;. At the end of this quadrant, planning for the next phase begins and the cycle repeats. At the end of the spiral, the software is deployed in its respective market.&lt;/p&gt;
&lt;/section&gt;           
&lt;section class="section main-article-chapter" data-menu-title="Steps of the spiral model"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Steps of the spiral model&lt;/h2&gt;
 &lt;p&gt;While the phases are broken down into quadrants, each quadrant is further broken down into steps. The steps in the spiral model are as follows:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;The new system requirements are defined in as much detail as possible. This usually involves interviewing several users representing all the external or internal interests and other aspects of the existing system.&lt;/li&gt; 
  &lt;li&gt;A preliminary design is created for the new system.&lt;/li&gt; 
  &lt;li&gt;The first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that represents an approximation of the characteristics of the final software product.&lt;/li&gt; 
  &lt;li&gt;A second prototype emerges from a fourfold procedure: (1) evaluating the first prototype's strengths, weaknesses, and risks; (2) defining the requirements of the second prototype; (3) planning and designing the second prototype; (4) constructing and testing the second prototype.&lt;/li&gt; 
  &lt;li&gt;The entire project is aborted if the risk is deemed too great. Risk factors might include development cost overruns, operating cost miscalculations and other factors that could result in a less-than-satisfactory final product.&lt;/li&gt; 
  &lt;li&gt;The existing prototype is evaluated in the same manner as the previous prototype and, if necessary, another prototype is developed from it according to the fourfold procedure outlined above.&lt;/li&gt; 
  &lt;li&gt;The preceding steps are iterated until the customer is satisfied that the refined prototype represents the desired final product.&lt;/li&gt; 
  &lt;li&gt;The final product is constructed, based on the refined prototype.&lt;/li&gt; 
  &lt;li&gt;The final product is thoroughly evaluated and tested. Routine maintenance is carried out on a continuous basis to prevent large-scale failures and &lt;a href="https://www.techtarget.com/searchdisasterrecovery/tip/Prepare-for-planned-and-unplanned-downtime"&gt;minimize downtime&lt;/a&gt;.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="Advantages of the spiral model"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Advantages of the spiral model&lt;/h2&gt;
 &lt;p&gt;The spiral model is a great option for large, complex projects. The progressive nature of the model lets developers break a big project into smaller ones and tackle one feature at a time, ensuring nothing is missed. The prototype building is done progressively, so the cost estimation of the whole project is sometimes easier.&lt;/p&gt;
 &lt;p&gt;Other benefits of the spiral model include the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Flexibility.&lt;/b&gt; Changes made to the requirements after development has started are easily adopted and incorporated.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Risk management.&lt;/b&gt; The spiral model involves risk analysis and handling in every phase, improving security and the chances of avoiding attacks and breakages. The iterative development process also facilitates &lt;a href="https://www.techtarget.com/searchdisasterrecovery/definition/risk-mitigation"&gt;risk mitigation&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Customer satisfaction.&lt;/b&gt; The spiral model facilitates customer feedback. If the software is being designed for a customer, then the customer will be able to see and evaluate their product in every phase. This lets them raise concerns and request changes before the product is fully built, saving the development team time and money.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="Disadvantages of the spiral model"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Disadvantages of the spiral model&lt;/h2&gt;
 &lt;p&gt;Limitations of the spiral model include the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;High cost.&lt;/b&gt; The spiral model is expensive and therefore not suitable for small projects.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Dependence on risk analysis.&lt;/b&gt; Successful completion of a project depends on effective risk management. Given that, it's necessary for those involved with the project to have expertise in risk assessment.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Complexity.&lt;/b&gt; The spiral model is more complex than other SDLC options. For it to operate efficiently, protocols must be followed closely. Furthermore, increased &lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/A-guide-to-software-design-documentation-and-specifications"&gt;documentation&lt;/a&gt; is required to keep track of the intermediate phases.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Time management challenges.&lt;/b&gt; Going into the project, the number of required phases is often unknown, making time management almost impossible. Therefore, there's always a risk of falling behind schedule or going over budget.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;&lt;i&gt;The spiral model exists alongside various &lt;/i&gt;&lt;a href="https://www.techtarget.com/searchsecurity/tip/The-top-secure-software-development-frameworks"&gt;&lt;i&gt;secure software development frameworks&lt;/i&gt;&lt;/a&gt;&lt;i&gt; and lifecycle models. Learn the basics of these frameworks.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>The spiral model is a systems development lifecycle (SDLC) method used for risk management that combines the iterative development process model with elements of the Waterfall model.</description>
            <image>https://cdn.ttgtmedia.com/visuals/digdeeper/3.jpg</image>
            <link>https://www.techtarget.com/searchsoftwarequality/definition/spiral-model</link>
            <pubDate>Mon, 27 Jan 2025 00:00:00 GMT</pubDate>
            <title>What is the spiral model and how is it used?</title>
        </item>
        <item>
            <body>&lt;p&gt;Six Sigma is a business methodology for quality improvement that measures how many defects there are in a current &lt;a href="https://www.techtarget.com/whatis/definition/process"&gt;process&lt;/a&gt; and seeks to systematically eliminate them.&lt;/p&gt; 
&lt;p&gt;In 1984, a Motorola engineer named Bill Smith developed the Six Sigma management system to reduce the variations in Motorola's electronic manufacturing processes that were causing product defects.&lt;/p&gt; 
&lt;p&gt;Since then, the strategies, tools and cultural norms that support the management system have been adopted by upper management and project teams in a wide variety of industries to increase operational excellence. Additionally, the meaning of the word &lt;i&gt;defect&lt;/i&gt; has broadened to include any deficiency in business processes that prevents a company from meeting its customers' needs.&lt;/p&gt; 
&lt;p&gt;Six Sigma's methodologies have become a cornerstone in industries such as manufacturing, healthcare and IT, helping organizations achieve consistency, efficiency and customer satisfaction.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="How does Six Sigma work?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How does Six Sigma work?&lt;/h2&gt;
 &lt;p&gt;In &lt;a href="https://www.techtarget.com/whatis/definition/statistical-analysis"&gt;statistical analysis&lt;/a&gt;, the Greek letter &lt;i&gt;sigma&lt;/i&gt; (Σ) is used to denote a standard deviation from the mean. In the 1920s, statistical process control pioneer Walter Shewhart proposed that in lean manufacturing, three sigma from the mean is the tipping point that indicates there are too many defects and that process improvement is required.&lt;/p&gt;
 &lt;p&gt;This was the accepted norm for many years until Smith proposed gathering and analyzing data at a more granular level and making six sigma the point at which a process has to be corrected.&lt;/p&gt;
 &lt;p&gt;Because it is almost impossible to achieve zero defects -- a concept known as infinity sigma -- six sigma allows for 3.4 defects per million opportunities for a defect to occur. In contrast, three sigma allows for 66,807 defects per million opportunities.&lt;/p&gt;
 &lt;p&gt;Once the necessary data has been gathered, a company that is implementing Six Sigma methodologies uses statistics to create a baseline sigma. The baseline illustrates how close -- or how far -- the company is from achieving Six Sigma and serves as a measuring stick for assessing future improvement.&lt;/p&gt;
 &lt;p&gt;Advanced Six Sigma tools, such as statistical software and &lt;a href="https://www.techtarget.com/searchbusinessanalytics/feature/AI-in-business-intelligence-Uses-benefits-and-challenges"&gt;AI-driven analytics&lt;/a&gt;, now enable organizations to streamline data collection and analysis, further enhancing accuracy and decision-making.&lt;/p&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="What is the importance of Six Sigma?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What is the importance of Six Sigma?&lt;/h2&gt;
 &lt;p&gt;Six Sigma proponents claim that its business strategy benefits include up to 50% process cost reduction, cycle time improvement, less waste of materials, a better understanding of customer requirements, increased customer satisfaction and value stream, and more reliable products and services.&lt;/p&gt;
 &lt;p&gt;Motorola holds the federal trademark for Six Sigma, and it is generally acknowledged that Six Sigma can be costly to implement and can take several years before a company begins to see bottom-line results.&lt;/p&gt;
 &lt;p&gt;In 1995, &lt;a href="https://www.techtarget.com/searcherp/feature/GE-Digitals-transformation-rocky-but-ongoing"&gt;General Electric&lt;/a&gt; CEO Jack Welch's public endorsement of Six Sigma helped businesses outside of manufacturing understand how Six Sigma methodologies can be used to improve customer satisfaction in any industry.&lt;/p&gt;
 &lt;p&gt;More recently, organizations have adopted Six Sigma alongside &lt;a href="https://www.techtarget.com/searchcio/definition/digital-transformation"&gt;digital transformation&lt;/a&gt; initiatives to optimize processes, increase agility and adapt to changing market demands.&lt;/p&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="What are the key principles of Six Sigma?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What are the key principles of Six Sigma?&lt;/h2&gt;
 &lt;p&gt;The key principles are the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Customer focus.&lt;/b&gt; Ensuring processes align with customer expectations.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Use data.&lt;/b&gt; Employing statistical analysis for decision-making.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Improve continuously.&lt;/b&gt; Encouraging a culture of ongoing refinement.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Involve people.&lt;/b&gt; Engaging teams at all levels.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Be thorough.&lt;/b&gt; Implementing detailed process analysis.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;These principles form the foundation of Six Sigma's methodologies and ensure consistent, measurable outcomes.&lt;/p&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="Benefits of Lean Six Sigma"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Benefits of Lean Six Sigma&lt;/h2&gt;
 &lt;p&gt;&lt;a href="https://www.techtarget.com/searchcio/definition/lean-Six-Sigma"&gt;Lean Six Sigma&lt;/a&gt; combines Six Sigma's focus on reducing defects with the Lean &lt;a href="https://www.techtarget.com/searchcio/definition/project-management"&gt;project management&lt;/a&gt; methodology's emphasis on eliminating waste. Together, they help organizations do the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Streamline workflows by removing inefficiencies.&lt;/li&gt; 
  &lt;li&gt;Reduce costs through better resource utilization.&lt;/li&gt; 
  &lt;li&gt;Improve product quality and customer satisfaction.&lt;/li&gt; 
  &lt;li&gt;Adapt processes quickly to meet evolving demands.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;This hybrid approach is particularly effective in industries such as healthcare, &lt;a href="https://www.techtarget.com/searcherp/definition/logistics"&gt;logistics&lt;/a&gt; and manufacturing.&lt;/p&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="Six Sigma methodologies"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Six Sigma methodologies&lt;/h2&gt;
 &lt;p&gt;The above principles can be applied with one of two improvement methodologies: Six Sigma DMAIC and Six Sigma DMADV. Each name is derived from the major steps in its process, but each has its own use.&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;DMAIC (define, measure, analyze, improve, control) is used to correct a process that already exists.&lt;/li&gt; 
  &lt;li&gt;DMADV (define, measure, analyze, design, validate) is used to create a new process.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;h3&gt;DMAIC&lt;/h3&gt;
 &lt;p&gt;Here is a step-by-step breakdown of Six Sigma DMAIC:&lt;/p&gt;
 &lt;ol class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Define.&lt;/b&gt; Identify the project goals and all customer deliverables.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Measure.&lt;/b&gt; Understand current performance.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Analyze.&lt;/b&gt; Determine root causes of any defects.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Improve.&lt;/b&gt; Establish ways to eliminate defects and correct the process.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Control.&lt;/b&gt; Manage future process performance.&lt;/li&gt; 
 &lt;/ol&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineImages/DMAIC.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineImages/DMAIC_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineImages/DMAIC_mobile.jpg 960w,https://www.techtarget.com/rms/onlineImages/DMAIC.jpg 1280w" alt="Six Sigma DMAIC process diagram." height="493" width="519"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;A step-by-step breakdown of the DMAIC process.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;h3&gt;DMADV&lt;/h3&gt;
 &lt;p&gt;Here is a step-by-step breakdown of Six Sigma DMADV:&lt;/p&gt;
 &lt;ol class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Define.&lt;/b&gt; Identify the &lt;a href="https://www.techtarget.com/searchcio/definition/project-scope"&gt;project scope&lt;/a&gt; and all customer deliverables.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Measure.&lt;/b&gt; Understand current performance.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Analyze.&lt;/b&gt; Determine root causes of any defects.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Design.&lt;/b&gt; Create a process that meets customer needs and expectations.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Verify.&lt;/b&gt; Ensure processes perform adequately and are designed to meet customer needs.&lt;/li&gt; 
 &lt;/ol&gt;
 &lt;p&gt;The first three steps of this methodology are identical to DMAIC. Because the two acronyms are so similar, some companies use the acronym DFSS (design for Six Sigma) in place of DMADV.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineImages/DMADV.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineImages/DMADV_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineImages/DMADV_mobile.jpg 960w,https://www.techtarget.com/rms/onlineImages/DMADV.jpg 1280w" alt="Six Sigma DMADV process diagram." height="158" width="519"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;A step-by-step breakdown of the Six Sigma DMADV process.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;When contemplating Six Sigma DMAIC versus DMADV, it is important to understand the circumstances in which each should be used. The DMAIC methodology should be used when an existing product or service is not meeting customer needs or performing to its highest standards. The DMADV methodology should be used when an organization is developing a new product or service, or when using DMAIC for a current project or process has failed.&lt;/p&gt;
&lt;/section&gt;             
&lt;section class="section main-article-chapter" data-menu-title="Six Sigma certification and resources"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Six Sigma certification and resources&lt;/h2&gt;
 &lt;p&gt;All Six Sigma processes are executed by the following, per the terms created by Motorola:&lt;/p&gt;
 &lt;ol class="default-list"&gt; 
  &lt;li&gt;Six Sigma White Belts are entry-level participants focused on basic principles.&lt;/li&gt; 
  &lt;li&gt;Six Sigma Yellow Belts are team members who understand specific projects.&lt;/li&gt; 
  &lt;li&gt;Six Sigma Green Belts are midlevel practitioners who lead projects under supervision.&lt;/li&gt; 
  &lt;li&gt;Six Sigma Black Belts are leaders of complex projects with extensive expertise.&lt;/li&gt; 
  &lt;li&gt;Six Sigma Master Black Belts are overseers of multiple projects and strategy alignment.&lt;/li&gt; 
 &lt;/ol&gt;
 &lt;p&gt;The International Association for Six Sigma Certification (IASSC) and other organizations &lt;a target="_blank" href="https://iassc.org/lean-six-sigma-certifications/" rel="noopener"&gt;provide certifications&lt;/a&gt; to validate expertise in Six Sigma methodologies.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineImages/sigma_belts.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineImages/sigma_belts_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineImages/sigma_belts_mobile.jpg 960w,https://www.techtarget.com/rms/onlineImages/sigma_belts.jpg 1280w" alt="Diagram of the hierarchy of roles for Six Sigma implementation." height="209" width="519"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Hierarchy for Six Sigma implementation, as dictated by Motorola.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;At IASSC, Yellow, Green and Black Belt exams are designed to measure a person's knowledge of topics contained within IASSC's Lean Six Sigma Body of Knowledge.&lt;/p&gt;
 &lt;p&gt;Another Six Sigma training organization &lt;a target="_blank" href="https://www.6sigma.us/training-classes/six-sigma/" rel="noopener"&gt;offering&lt;/a&gt; certification is 6Sigma.us.&lt;/p&gt;
&lt;/section&gt;       
&lt;section class="section main-article-chapter" data-menu-title="How to implement Six Sigma"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to implement Six Sigma&lt;/h2&gt;
 &lt;p&gt;To implement Six Sigma within an organization, the first step is to properly make the case for statistical tools like Six Sigma and its potential benefits to get &lt;a href="https://www.techtarget.com/searchcio/definition/stakeholder"&gt;stakeholder&lt;/a&gt; buy-in. Additionally, it's important to set the expectation that being entirely defect-free is not realistic. However, there are some best practices that can help to ensure as much improvement as possible.&lt;/p&gt;
 &lt;p&gt;Once management understands the potential behind the methodology, the following eight steps can help to implement a Six Sigma project and ensure a clean rollout:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Step 1. Motivate stakeholders by highlighting quality losses.&lt;/li&gt; 
  &lt;li&gt;Step 2. Implement project management and obtain the necessary resources.&lt;/li&gt; 
  &lt;li&gt;Step 3. Educate team members on the Six Sigma management method.&lt;/li&gt; 
  &lt;li&gt;Step 4. Create a quality control chart and identify priorities.&lt;/li&gt; 
  &lt;li&gt;Step 5. Assign ownership for all team members involved.&lt;/li&gt; 
  &lt;li&gt;Step 6. Ensure measurement of the right &lt;a href="https://www.techtarget.com/searchcustomerexperience/definition/business-metric"&gt;metrics&lt;/a&gt; and indicators.&lt;/li&gt; 
  &lt;li&gt;Step 7. Perform a &lt;a href="https://www.techtarget.com/searchitoperations/definition/root-cause-analysis"&gt;root cause analysis&lt;/a&gt; to understand the defect.&lt;/li&gt; 
  &lt;li&gt;Step 8. Govern the program to ensure proper implementation and continuous improvement.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;Please note that these steps can vary depending on whether you are using Six Sigma or Lean Six Sigma.&lt;/p&gt;
 &lt;div class="youtube-iframe-container"&gt;
  &lt;iframe id="ytplayer-0" src="https://www.youtube.com/embed/4eteSMuum6k?autoplay=0&amp;amp;modestbranding=1&amp;amp;rel=0&amp;amp;widget_referrer=null&amp;amp;enablejsapi=1&amp;amp;origin=https://www.techtarget.com" type="text/html" height="360" width="640" frameborder="0" loading="lazy"&gt;&lt;/iframe&gt;
 &lt;/div&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="Real-world applications of Six Sigma"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Real-world applications of Six Sigma&lt;/h2&gt;
 &lt;p&gt;Six Sigma is widely used in various industries to solve unique challenges, such as the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Healthcare.&lt;/b&gt; Reducing patient wait times and improving care delivery.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Manufacturing.&lt;/b&gt; Enhancing product quality and reducing defects.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Retail.&lt;/b&gt; Optimizing inventory management and streamlining supply chains.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;IT and software development.&lt;/b&gt; Identifying and resolving system inefficiencies.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;By tailoring Six Sigma tools to their specific needs, organizations can achieve significant improvements in efficiency and customer satisfaction.&lt;/p&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="What is the difference between Six Sigma vs. Lean Six Sigma?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What is the difference between Six Sigma vs. Lean Six Sigma?&lt;/h2&gt;
 &lt;p&gt;The purposes of Six Sigma and Lean Six Sigma are different. The Six Sigma method is focused on limiting fluctuation within business processes and quality management of process output by implementing problem-solving statistical methods.&lt;/p&gt;
 &lt;p&gt;Conversely, the primary focus of Lean Six Sigma is to eliminate waste and improve existing processes.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/how_does_lean_six_sigma_work-f.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/how_does_lean_six_sigma_work-f_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/how_does_lean_six_sigma_work-f_mobile.png 960w,https://www.techtarget.com/rms/onlineimages/how_does_lean_six_sigma_work-f.png 1280w" alt="Diagram of how Six Sigma and Lean methodologies combine in Lean Six Sigma." height="258" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Lean Six Sigma combines the best of both Six Sigma and the Lean manufacturing process.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;&lt;em&gt;Learn about the &lt;a href="https://www.techtarget.com/whatis/definition/5-Whys"&gt;Five Whys&lt;/a&gt;, which is used in the Analyze phase of the Six Sigma DMAIC methodology; &lt;a href="https://www.techtarget.com/searchcio/definition/SIPOC-diagram-suppliers-inputs-process-outputs-customers"&gt;SIPOC&lt;/a&gt;, which is often used during the Define phase; and &lt;a href="https://www.techtarget.com/whatis/definition/fishbone-diagram"&gt;fishbone diagrams&lt;/a&gt;, which are one of the basic quality tools used in the Analyze phase. Also, check out &lt;a href="https://www.techtarget.com/searchcio/feature/Top-5-digital-transformation-trends-of-2021"&gt;top digital transformation trends&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>Six Sigma is a business methodology for quality improvement that measures how many defects there are in a current process and seeks to systematically eliminate them.</description>
            <image>https://cdn.ttgtmedia.com/visuals/digdeeper/2.jpg</image>
            <link>https://www.techtarget.com/searchcio/definition/Six-Sigma</link>
            <pubDate>Fri, 27 Dec 2024 12:00:00 GMT</pubDate>
            <title>What is Six Sigma and how does it work?</title>
        </item>
        <item>
            <body>&lt;p&gt;Quality assurance (QA) is any systematic process of determining whether a product or service meets specified requirements. QA establishes and maintains set requirements for developing or manufacturing reliable products.&lt;/p&gt; 
&lt;p&gt;A quality assurance process is meant to increase customer confidence and a company's credibility while improving work processes and efficiency. It also helps a company compete in its market.&lt;/p&gt; 
&lt;p&gt;The International Organization for Standardization (&lt;a href="https://www.techtarget.com/searchdatacenter/definition/ISO"&gt;ISO&lt;/a&gt;) is a driving force behind QA practices and mapping the processes used to implement QA. QA is often paired with the &lt;a href="https://www.techtarget.com/searchdatacenter/definition/ISO-9000"&gt;ISO 9000&lt;/a&gt; international standard. Many companies use ISO 9000 to ensure their QA system is in place and effective.&lt;/p&gt; 
&lt;p&gt;The concept of QA as a formal practice started in the manufacturing industry. It has spread to most industries, including software engineering.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="Importance of quality assurance"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Importance of quality assurance&lt;/h2&gt;
 &lt;p&gt;There are three primary reasons why effective QA implementation is essential:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Customer satisfaction.&lt;/b&gt; QA helps a company create products and services that meet customers' needs, expectations and requirements.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Public trust. &lt;/b&gt;QA yields high-quality product offerings and services that build &lt;a href="https://www.techtarget.com/searchcustomerexperience/feature/How-to-efficiently-measure-customer-loyalty"&gt;trust and loyalty&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Product quality. &lt;/b&gt;QA programs define standards and procedures that proactively prevent product defects and other issues before they arise.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;figure class="main-article-image half-col" data-img-fullsize="https://www.techtarget.com/rms/onlineImages/software_quality-quality_assurance.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineImages/software_quality-quality_assurance_half_column_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineImages/software_quality-quality_assurance_half_column_mobile.png 960w,https://www.techtarget.com/rms/onlineImages/software_quality-quality_assurance.png 1280w" alt="List of seven steps in quality assurance" height="283" width="279"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;There are multiple steps to perform as part of a quality assurance process.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="Quality assurance methods"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Quality assurance methods&lt;/h2&gt;
 &lt;p&gt;QA processes are built using one of three methods:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;strong&gt;Failure testing.&lt;/strong&gt; This approach continually tests a product to determine if it breaks or fails. For physical products that need to withstand stress, this could involve testing the product under heat, pressure or vibration. For software products, failure testing might involve placing the software under high use or load conditions.&lt;/li&gt; 
  &lt;li&gt;&lt;strong&gt;Statistical process control.&lt;/strong&gt; SPC is a methodology based on objective data and analysis. It was developed by Walter Shewhart at Western Electric Company and Bell Telephone Laboratories in the 1920s and 1930s. This methodology uses statistical methods to manage and control the product production.&lt;/li&gt; 
  &lt;li&gt;&lt;strong&gt;Total &lt;/strong&gt;&lt;strong&gt;quality management system&lt;/strong&gt;&lt;strong&gt;. &lt;/strong&gt;&lt;a href="https://www.techtarget.com/searchcio/definition/Total-Quality-Management"&gt;TQM&lt;/a&gt; applies quantitative methods as the basis for &lt;a href="https://www.techtarget.com/searcherp/definition/kaizen-or-continuous-improvement"&gt;continuous improvement&lt;/a&gt;. It relies on facts, data and analysis to support product planning and performance reviews.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="Quality assurance vs. quality control"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Quality assurance vs. quality control&lt;/h2&gt;
 &lt;p&gt;Some people may confuse the term QA with quality control (&lt;a href="https://www.techtarget.com/whatis/definition/quality-control-QC"&gt;QC&lt;/a&gt;). The two concepts are similar, but there &lt;em&gt;are&lt;/em&gt; important distinctions between them.&lt;/p&gt;
 &lt;p&gt;QA provides guidelines that can be used anywhere. QC promotes a production-focused approach to processes. QA is any systematic process for ensuring a product meets specified requirements, whereas QC addresses other issues, such as individual inspections or defects.&lt;/p&gt;
 &lt;p&gt;In software development, QA practices seek to prevent malfunctioning code or products. QC implements testing and &lt;a href="https://www.techtarget.com/whatis/definition/troubleshooting"&gt;troubleshooting&lt;/a&gt; and fixes code.&lt;/p&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="QA standards"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;QA standards&lt;/h2&gt;
 &lt;p&gt;QA and ISO standards have changed and been updated over time to stay relevant to today's businesses.&lt;/p&gt;
 &lt;p&gt;ISO 9001:2015 is the latest standard in the ISO 9000 series. It provides a stronger customer focus, top management practices, and guidance on how management practices can change a company. ISO 9001:2015 also includes improvements to the standard's structure and more information for risk-based decision-making.&lt;/p&gt;
 &lt;p&gt;ISO 9001 helps organizations improve and optimize processes, efficiently resolve customer queries and complaints, and increase overall customer satisfaction. The standard encourages organizations to regularly review their QA processes to identify areas for improvement.&lt;/p&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="Quality assurance in software"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Quality assurance in software&lt;/h2&gt;
 &lt;p&gt;Software quality assurance (SQA) systematically identifies patterns and the actions needed to improve development cycles. However, finding and fixing coding errors can have unintended consequences; fixing one issue can cause problems with other features and functionality.&lt;/p&gt;
 &lt;p&gt;SQA has become an important way for developers to avoid errors before they occur, saving development time and expenses. But even with SQA processes in place, an update to software can break other features and cause defects -- known as &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/bug"&gt;bugs&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;There have been numerous SQA strategies. For example, the &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/Capability-Maturity-Model"&gt;Capability Maturity Model&lt;/a&gt; is a performance improvement-focused SQA model. CMM ranks maturity levels of areas within an organization and identifies optimizations that can be used for improvement. Rank levels range from being disorganized to being fully optimal.&lt;/p&gt;
 &lt;p&gt;Software development methodologies that rely on SQA include &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/waterfall-model"&gt;Waterfall&lt;/a&gt;, &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/agile-software-development"&gt;Agile&lt;/a&gt; and &lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/Scrum"&gt;Scrum&lt;/a&gt;. Each development process seeks to optimize work efficiency.&lt;/p&gt;
 &lt;h3&gt;&lt;strong&gt;Waterfall&lt;/strong&gt;&lt;/h3&gt;
 &lt;p&gt;This methodology takes a traditional linear approach to software development. It's a step-by-step process that typically involves gathering requirements, formalizing a design, implementing code, code testing, remediation and release. It's often seen as too slow, so alternative development methods were developed.&lt;/p&gt;
 &lt;h3&gt;Agile&lt;/h3&gt;
 &lt;p&gt;This approach is team-oriented, with each step in the work process treated as a sprint. Agile software development is highly adaptive but less predictive because the scope of the project can easily change.&lt;/p&gt;
 &lt;h3&gt;Scrum&lt;/h3&gt;
 &lt;p&gt;This method combines the Waterfall and Agile approaches. Developers are split into teams to handle specific tasks, and each task is separated into multiple sprints.&lt;/p&gt;
 &lt;p&gt;The first step in choosing a QA methodology is to set goals. Then, consider the advantages and tradeoffs of each approach, such as maximizing efficacy, reducing cost or minimizing errors. Management must be willing to implement process changes and work together to support the QA system and establish quality standards.&lt;/p&gt;
&lt;/section&gt;            
&lt;section class="section main-article-chapter" data-menu-title="QA team"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;QA team&lt;/h2&gt;
 &lt;p&gt;SQA career options include &lt;a href="https://www.techtarget.com/searchsoftwarequality/feature/Skills-and-responsibilities-in-a-QA-engineer-role"&gt;SQA engineer&lt;/a&gt;, SQA analyst, SQA manager and SQA test automation. Software quality engineers monitor and test software through development. An SQA analyst monitors the implications and practices of SQA over software development cycles. SQA test automation pros create programs to &lt;a href="https://www.techtarget.com/searchenterpriseai/feature/How-AI-changes-quality-assurance-in-tech"&gt;automate the SQA process&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;These programs compare predicted outcomes with actual outcomes. They ensure software quality standards are consistently met. An SQA manager oversees the entire process and examines outcomes to verify that the software is production-ready. Therefore, having a QA team in place means a comprehensive approach to quality assurance.&lt;/p&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="SQA tools"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;SQA tools&lt;/h2&gt;
 &lt;p&gt;Software testing is an integral part of software QA. Testing saves time, effort and cost, and it facilitates the production of a quality end product. Developers can use numerous software tools and platforms to automate and orchestrate testing to facilitate &lt;a href="https://www.techtarget.com/searchsoftwarequality/feature/Goal-1-for-the-QA-tester-Take-ownership"&gt;SQA goals&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;Selenium is an open source software testing program that runs tests in various popular software languages, such as C#, Java and Python.&lt;/p&gt;
 &lt;p&gt;&lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/Jenkins"&gt;Jenkins&lt;/a&gt; is another open source program that enables developers and QA staff to run and test code in real time. It's suited for a fast-paced environment because it automates tasks related to the building and testing of software.&lt;/p&gt;
 &lt;p&gt;For web apps or &lt;a href="https://www.techtarget.com/searchapparchitecture/definition/application-program-interface-API"&gt;application programming interfaces&lt;/a&gt;, Postman automates and runs tests. It's available for Mac, Windows and Linux and supports Swagger and RAML formatting.&lt;/p&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="QA uses by industry"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;QA uses by industry&lt;/h2&gt;
 &lt;p&gt;The following are examples of how QA is used in various industries:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;strong&gt;Manufacturing.&lt;/strong&gt; Manufacturing formalized the QA discipline. Manufacturers must ensure that final products have no defects and meet the defined specifications and requirements.&lt;/li&gt; 
  &lt;li&gt;&lt;strong&gt;Food production.&lt;/strong&gt; Food production uses X-ray systems, among other techniques, to detect physical contaminants in the food production process. The X-ray systems ensure that contaminants are removed and eliminated before products leave the factory.&lt;/li&gt; 
  &lt;li&gt;&lt;strong&gt;Pharmaceutical.&lt;/strong&gt; Healthcare and pharmaceutical companies use different QA approaches during each drug development stage. QA processes include reviewing documents, approving equipment calibration, examining training and manufacturing records, and investigating market returns.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="QA vs. testing"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;QA vs. testing&lt;/h2&gt;
 &lt;p&gt;Multiple aspects of QA are &lt;a target="_blank" href="https://www.forbes.com/sites/forbestechcouncil/2022/08/12/the-distinction-between-testing-and-quality-assurance-in-the-software-industry/?sh=3bb5e6cc391d" rel="noopener"&gt;different from testing&lt;/a&gt;. They include the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Purpose. &lt;/b&gt;QA is more focused on process improvement and procedures to ensure a product meets quality requirements, while testing is focused on the logistics of examining a product to find defects. QA is broader than testing; it encompasses testing as well as other processes, such as iteratively improving products. Meanwhile, testing is specific, revolving around the tactical process of validating a product's fundamental function and identifying issues.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Length of time required. &lt;/b&gt;Testing examines one version of a product and fixes immediate defects: it's a short-term process with a short-term focus. QA codifies procedures and processes to empower teams to prevent issues before they arise in the long term.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Teams involved. &lt;/b&gt;Specific employees and smaller teams are designated product testers. A larger &lt;a href="https://www.techtarget.com/searchcio/definition/product-development-or-new-product-development-NPD"&gt;product development&lt;/a&gt; team uses QA. It includes project managers and others who can provide unique perspectives.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Deliverables. &lt;/b&gt;Testing documentation is helpful in the short term as it reports and logs the results of examining one product version at a time. QA deliverables are transcribed procedures that all employees can use indefinitely to ensure the quality of current and future products.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="Pros and cons of QA"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Pros and cons of QA&lt;/h2&gt;
 &lt;p&gt;The quality of products and services is a critical competitive differentiator. QA ensures organizations create and ship products that are free of defects and meet customers' needs and expectations. High-quality products result in good customer experiences, which leads to customer loyalty, repeat purchases, upselling and advocacy.&lt;/p&gt;
 &lt;p&gt;QA also cuts the costs of remediating and replacing defective products and mollifying dissatisfied customers. Defective products mean higher &lt;a href="https://www.techtarget.com/searchcustomerexperience/definition/customer-service-and-support"&gt;customer support&lt;/a&gt; costs when receiving, handling, and troubleshooting problems. They also result in additional service and engineering costs to address the defect, test any fixes required and ship the replacement product to customers.&lt;/p&gt;
 &lt;p&gt;QA requires an investment in people and processes. QA team members must define a process &lt;a href="https://www.techtarget.com/searchcio/definition/workflow"&gt;workflow&lt;/a&gt; and oversee its implementation. This can be a time-consuming process that affects product delivery dates. With few exceptions, the disadvantage of QA is more of a requirement -- a necessary step that must be undertaken to ship a quality product. More serious issues arise without QA, such as product bugs and customer dissatisfaction.&lt;/p&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="History of ISO and QA"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;History of ISO and QA&lt;/h2&gt;
 &lt;p&gt;Although simple QA concepts can be traced back to the Middle Ages, these practices became important in the U.S. during World War II. High volumes of munitions had to be inspected before they could be sent to the battlefield.&lt;/p&gt;
 &lt;p&gt;After World War II ended, the ISO opened in Geneva in 1947 and published its first standard in 1951 on reference temperatures for industrial measurements. The ISO gradually grew and expanded its scope of standards. The ISO 9000 family of standards was published in 1987; each 9000 number offers different standards for different scenarios.&lt;/p&gt;
 &lt;p&gt;Computer hardware was inspected throughout the mid-20th century, but SQA standards began when the groundwork for Waterfall was laid in the 1970s. Although not called by that name, the approach of separating software development into distinct phases was established and followed for many years.&lt;/p&gt;
 &lt;p&gt;Agile was first used in 2000 as a different approach to more efficient software development and delivery. It ultimately led to modern DevOps practices that emerged in the late 2000s.&lt;/p&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="The future of QA"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;The future of QA&lt;/h2&gt;
 &lt;p&gt;AI, &lt;a href="https://www.techtarget.com/searchenterpriseai/definition/machine-learning-ML"&gt;machine learning&lt;/a&gt;, and low- and no-code tools have gained traction recently and are playing roles in QA and quality improvement. Whether in SQA or manufacturing processes, AI and machine learning are used to inspect products and machinery during performance monitoring or predictive maintenance. &lt;a href="https://www.techtarget.com/whatis/definition/algorithm"&gt;Algorithms&lt;/a&gt; are used to analyze real-time data and make predictions. This is helping developers and industrial workers identify quality issues before they arise.&lt;/p&gt;
 &lt;p&gt;Because testing is integral to QA, low- and no-code platforms are being increasingly used to automate and streamline what were once tedious testing processes. When the right tools are in place to simplify and automate as many QA processes as possible, employees with programming expertise can spend more time on meaningful tasks.&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;New technologies aren't typically easy to integrate into existing processes. Learn how to &lt;/i&gt;&lt;a href="https://www.techtarget.com/searchsoftwarequality/tip/How-to-gradually-incorporate-AI-in-software-testing"&gt;&lt;i&gt;gradually incorporate AI into software testing&lt;/i&gt;&lt;/a&gt;&lt;i&gt;.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>Quality assurance (QA) is any systematic process of determining whether a product or service meets specified requirements.</description>
            <image>https://cdn.ttgtmedia.com/visuals/digdeeper/2.jpg</image>
            <link>https://www.techtarget.com/searchsoftwarequality/definition/quality-assurance</link>
            <pubDate>Mon, 23 Dec 2024 00:00:00 GMT</pubDate>
            <title>What is quality assurance (QA)?</title>
        </item>
        <title>Search Software Quality Resources and Information from TechTarget</title>
        <ttl>60</ttl>
        <webMaster>webmaster@techtarget.com</webMaster>
    </channel>
</rss>
