Model-Based Testing

Model-Based Testing (MBT) is a software testing approach that utilizes models to automate the generation of test cases, thereby enhancing the efficiency and effectiveness of testing processes. By representing system behavior, requirements, and test scenarios in formal or semi-formal models, MBT enables systematic test case generation, coverage analysis, and fault detection. This approach helps identify defects early in the software development lifecycle, reduces testing costs, and improves overall software quality. With its ability to handle complex systems and diverse testing scenarios, Model-Based Testing is increasingly adopted across various industries to streamline testing activities and ensure robust and reliable software systems.

Key Components of Model-Based Testing

Model Representation

Model-Based Testing begins with the representation of system behavior, requirements, and test scenarios in formal or semi-formal models. These models capture the structure, functionality, and interactions of the system under test, providing a basis for test case generation and analysis.

Test Case Generation

Model-Based Testing automates the generation of test cases from models, leveraging techniques such as model exploration, model checking, and constraint solving. It systematically explores the model space to derive test scenarios that cover various paths, states, and transitions of the system.

Coverage Analysis

Model-Based Testing performs coverage analysis to assess the adequacy of test cases in exercising the system under test. It measures coverage criteria such as statement coverage, branch coverage, and path coverage to identify gaps in testing and ensure thorough validation of system behavior.

Fault Detection

Model-Based Testing facilitates fault detection by executing generated test cases against the system under test and analyzing the results for deviations from expected behavior. It detects defects, errors, and inconsistencies early in the software development lifecycle, enabling timely resolution and mitigation.

Strategies for Implementing Model-Based Testing

Modeling Techniques

Implementing Model-Based Testing requires selecting appropriate modeling techniques that represent system behavior and requirements effectively. This may include finite state machines, statecharts, control flow graphs, data flow diagrams, or domain-specific modeling languages, depending on the nature of the system.

Tool Selection and Integration

Implementing Model-Based Testing involves selecting and integrating tools that support model creation, test case generation, and coverage analysis. Businesses must evaluate available tools based on their features, compatibility, scalability, and support for industry standards and practices.

Test Case Design and Execution

Implementing Model-Based Testing requires designing and executing test cases derived from models to validate system functionality and behavior. Businesses must define test objectives, scenarios, and success criteria, and execute tests systematically to achieve comprehensive coverage and accurate fault detection.

Feedback and Iteration

Implementing Model-Based Testing involves collecting feedback from test execution results and iteratively refining models and test cases. Businesses must analyze test outcomes, identify areas for improvement, and update models to enhance test coverage, effectiveness, and efficiency over time.

Benefits of Model-Based Testing

Early Defect Detection

Model-Based Testing facilitates early defect detection by systematically generating test cases and executing them against the system under test. By identifying defects at an early stage of the development lifecycle, businesses can reduce rework, minimize project delays, and improve software quality.

Improved Test Coverage

Model-Based Testing improves test coverage by systematically exploring the model space and generating test cases that cover various paths, states, and transitions of the system. By achieving comprehensive coverage, businesses can validate system behavior more thoroughly and mitigate risks of undiscovered defects.

Reduced Testing Costs

Model-Based Testing reduces testing costs by automating test case generation and execution processes. By leveraging models to drive testing activities, businesses can achieve higher levels of automation, scalability, and repeatability, resulting in significant savings in time, effort, and resources.

Enhanced Software Quality

Model-Based Testing enhances software quality by enabling systematic validation of system functionality, behavior, and performance. By detecting defects early, achieving comprehensive coverage, and minimizing testing costs, businesses can deliver robust and reliable software systems that meet or exceed customer expectations.

Challenges of Model-Based Testing

Model Complexity and Maintenance

Model-Based Testing may face challenges related to model complexity and maintenance overhead. Businesses must manage and update models as system requirements evolve, ensuring their accuracy, consistency, and relevance throughout the software development lifecycle.

Tool Limitations and Compatibility

Model-Based Testing may encounter challenges related to tool limitations and compatibility issues. Businesses must evaluate tools carefully and ensure their compatibility with existing development environments, technologies, and workflows to avoid disruptions and inefficiencies.

Skill and Expertise Requirements

Model-Based Testing requires specialized skills and expertise in modeling, testing, and tool usage. Businesses must invest in training, education, and professional development to build and maintain a competent workforce capable of effectively implementing and managing Model-Based Testing practices.

Integration with Existing Processes

Model-Based Testing may require integration with existing development, testing, and quality assurance processes. Businesses must align Model-Based Testing practices with established workflows, methodologies, and standards to ensure smooth adoption and integration into the organization.

Implications of Model-Based Testing

Quality-Driven Development

Model-Based Testing promotes quality-driven development, prioritizing systematic validation of system behavior and performance throughout the software development lifecycle. It fosters a culture of quality, accountability, and continuous improvement, driving excellence in software engineering practices.

Efficiency and Automation

Model-Based Testing enhances efficiency and automation in testing processes by leveraging models to drive test case generation and execution. It reduces manual effort, accelerates testing cycles, and improves productivity, enabling businesses to deliver high-quality software systems more rapidly and cost-effectively.

Risk Mitigation and Compliance

Model-Based Testing mitigates risks and ensures compliance with regulatory requirements by systematically validating system functionality, behavior, and performance. It helps businesses identify and address potential issues early, minimize project risks, and demonstrate adherence to industry standards and best practices.

Competitive Advantage and Innovation

Model-Based Testing provides a competitive advantage by enabling businesses to deliver innovative, high-quality software systems that meet or exceed customer expectations. It fosters agility, flexibility, and responsiveness to changing market demands, positioning businesses for success in dynamic and competitive environments.

Conclusion

  • Model-Based Testing (MBT) is a software testing approach that utilizes models to automate the generation of test cases, enhancing the efficiency and effectiveness of testing processes.
  • Key components of Model-Based Testing include model representation, test case generation, coverage analysis, and fault detection.
  • Strategies for implementing Model-Based Testing include selecting modeling techniques, tools, test case design and execution, and feedback and iteration.
  • Model-Based Testing offers benefits such as early defect detection, improved test coverage, reduced testing costs, and enhanced software quality.
  • However, it also presents challenges such as model complexity and maintenance, tool limitations and compatibility, skill and expertise requirements, and integration with existing processes that require careful navigation and management.
  • Implementing Model-Based Testing has implications for quality-driven development, efficiency and automation, risk mitigation and compliance, and competitive advantage and innovation, shaping efforts to improve software quality and ensure robust and reliable software systems.
Related Frameworks, Models, or ConceptsDescriptionWhen to Apply
Acceptance Test-Driven Development (ATDD)– Acceptance Test-Driven Development (ATDD) is a collaborative approach to software development that involves defining acceptance criteria upfront, before writing code. – It emphasizes communication between stakeholders, including customers, developers, and testers, to ensure shared understanding of requirements. – ATDD involves writing automated acceptance tests based on these criteria to validate that the software meets the desired behavior.– When developing software applications with clear and well-defined requirements. – To foster collaboration and shared understanding among stakeholders. – To ensure that software meets customer expectations and delivers business value.
Test-Driven Development (TDD)– Test-Driven Development (TDD) is a software development process where tests are written before the code is implemented. – It follows a cycle of writing a failing test, writing the minimum code to pass the test, and then refactoring the code to improve design and maintainability. – TDD helps ensure that code meets specified requirements, improves code quality, and supports code evolution.– When developing software with clear and testable requirements. – To improve code quality, reduce defects, and facilitate code maintenance. – To support an iterative and incremental development approach.
Behavior-Driven Development (BDD)– Behavior-Driven Development (BDD) is a software development approach that emphasizes collaboration among stakeholders to define, implement, and validate behavior using natural language specifications. – BDD focuses on the behavior of the system from the perspective of end-users or business stakeholders. – It uses techniques such as executable specifications, automated acceptance tests, and domain-specific languages to ensure alignment between business requirements and technical implementation.– When developing software with a focus on business value and user behavior. – To improve communication and collaboration among stakeholders. – To ensure that software meets business objectives and user needs.
Continuous Integration (CI)– Continuous Integration (CI) is a software development practice where developers regularly integrate their code changes into a shared repository, often multiple times a day. – Each integration is verified by automated builds and tests to detect integration errors and ensure code quality. – CI helps teams detect and fix integration issues early, streamline development workflows, and deliver software more frequently and reliably.– When developing software in a collaborative team environment. – To detect integration errors early and ensure code quality. – To support frequent and automated builds, tests, and deployments.
Agile Software Development– Agile Software Development is an iterative and incremental approach to software development that prioritizes customer collaboration, adaptive planning, and delivering working software frequently. – It emphasizes flexibility, responsiveness to change, and continuous improvement. – Agile methodologies, such as Scrum, Kanban, and Extreme Programming (XP), provide frameworks and practices to support Agile principles.– When developing software in dynamic and uncertain environments. – To prioritize customer needs, respond to change, and deliver value incrementally. – To foster collaboration, transparency, and continuous learning within development teams.
Specification by Example– Specification by Example is a collaborative approach to defining requirements and acceptance criteria through concrete examples. – It involves capturing requirements in the form of executable specifications or acceptance tests that demonstrate desired behavior. – Specification by Example helps ensure shared understanding, validate requirements, and drive development through examples.– When defining requirements for software projects. – To ensure clarity and consensus among stakeholders on desired behavior. – To create executable specifications or acceptance tests for validating software functionality.
User Story Mapping– User Story Mapping is a technique for visualizing and organizing user stories to support iterative development and release planning. – It involves arranging user stories along two dimensions: user activities (horizontal axis) and user tasks or features (vertical axis). – User Story Mapping helps teams understand user needs, prioritize work, and plan releases based on user value and dependencies.– When organizing and prioritizing user stories for development. – To visualize the user journey and identify gaps or opportunities for improvement. – To facilitate release planning and backlog prioritization based on user value and dependencies.
Domain-Driven Design (DDD)– Domain-Driven Design (DDD) is an approach to software development that focuses on modeling complex business domains and translating domain concepts into software artifacts. – It emphasizes collaboration between domain experts and developers to capture domain knowledge and design software that reflects real-world business needs. – DDD provides patterns and techniques for modeling domains, defining bounded contexts, and aligning software architecture with domain concepts.– When developing software for complex business domains with rich and evolving requirements. – To capture and model domain knowledge effectively. – To design software architectures that are closely aligned with business needs and domain concepts.
Pair Programming– Pair Programming is a software development practice where two developers work together at the same workstation, collaboratively writing code, reviewing each other’s work, and discussing design decisions. – It promotes knowledge sharing, code quality, and problem-solving skills. – Pair Programming can improve code readability, reduce defects, and accelerate learning and skill development.– When developing software with high code quality and maintainability requirements. – To facilitate knowledge sharing and collaboration among team members. – To improve code review, problem-solving, and learning within development teams.
Model-Based Testing– Model-Based Testing is an approach to software testing where test cases are derived from models of the system under test. – It involves creating formal models of system behavior, such as finite state machines or state-transition diagrams, and generating test cases automatically from these models. – Model-Based Testing helps improve test coverage, reduce redundancy, and increase efficiency in test case creation and maintenance.– When testing complex systems with well-defined behavior models. – To improve test coverage and efficiency in test case generation. – To automate testing and reduce manual effort in test case creation and maintenance.

Who are the "three amigos" in the acceptance test-driven development?

The three amigos in the acceptance test-driven development are:

  1. The customer – what problem is the organization trying to solve?
  2. The developer – how might the problem be solved?
  3. The tester – who considers and verifies potential solutions.

What is the difference between test driven development and acceptance test driven development?

TDD is a test-driven technique for delivering high-quality software rapidly and sustainably, and it’s based on the test unit to the test suite, whereas acceptance test-driven development uses acceptance tests as the foundation for the testing framework.

Connected Agile & Lean Frameworks

AIOps

aiops
AIOps is the application of artificial intelligence to IT operations. It has become particularly useful for modern IT management in hybridized, distributed, and dynamic environments. AIOps has become a key operational component of modern digital-based organizations, built around software and algorithms.

AgileSHIFT

AgileSHIFT
AgileSHIFT is a framework that prepares individuals for transformational change by creating a culture of agility.

Agile Methodology

agile-methodology
Agile started as a lightweight development method compared to heavyweight software development, which is the core paradigm of the previous decades of software development. By 2001 the Manifesto for Agile Software Development was born as a set of principles that defined the new paradigm for software development as a continuous iteration. This would also influence the way of doing business.

Agile Program Management

agile-program-management
Agile Program Management is a means of managing, planning, and coordinating interrelated work in such a way that value delivery is emphasized for all key stakeholders. Agile Program Management (AgilePgM) is a disciplined yet flexible agile approach to managing transformational change within an organization.

Agile Project Management

agile-project-management
Agile project management (APM) is a strategy that breaks large projects into smaller, more manageable tasks. In the APM methodology, each project is completed in small sections – often referred to as iterations. Each iteration is completed according to its project life cycle, beginning with the initial design and progressing to testing and then quality assurance.

Agile Modeling

agile-modeling
Agile Modeling (AM) is a methodology for modeling and documenting software-based systems. Agile Modeling is critical to the rapid and continuous delivery of software. It is a collection of values, principles, and practices that guide effective, lightweight software modeling.

Agile Business Analysis

agile-business-analysis
Agile Business Analysis (AgileBA) is certification in the form of guidance and training for business analysts seeking to work in agile environments. To support this shift, AgileBA also helps the business analyst relate Agile projects to a wider organizational mission or strategy. To ensure that analysts have the necessary skills and expertise, AgileBA certification was developed.

Agile Leadership

agile-leadership
Agile leadership is the embodiment of agile manifesto principles by a manager or management team. Agile leadership impacts two important levels of a business. The structural level defines the roles, responsibilities, and key performance indicators. The behavioral level describes the actions leaders exhibit to others based on agile principles. 

Andon System

andon-system
The andon system alerts managerial, maintenance, or other staff of a production process problem. The alert itself can be activated manually with a button or pull cord, but it can also be activated automatically by production equipment. Most Andon boards utilize three colored lights similar to a traffic signal: green (no errors), yellow or amber (problem identified, or quality check needed), and red (production stopped due to unidentified issue).

Bimodal Portfolio Management

bimodal-portfolio-management
Bimodal Portfolio Management (BimodalPfM) helps an organization manage both agile and traditional portfolios concurrently. Bimodal Portfolio Management – sometimes referred to as bimodal development – was coined by research and advisory company Gartner. The firm argued that many agile organizations still needed to run some aspects of their operations using traditional delivery models.

Business Innovation Matrix

business-innovation
Business innovation is about creating new opportunities for an organization to reinvent its core offerings, revenue streams, and enhance the value proposition for existing or new customers, thus renewing its whole business model. Business innovation springs by understanding the structure of the market, thus adapting or anticipating those changes.

Business Model Innovation

business-model-innovation
Business model innovation is about increasing the success of an organization with existing products and technologies by crafting a compelling value proposition able to propel a new business model to scale up customers and create a lasting competitive advantage. And it all starts by mastering the key customers.

Constructive Disruption

constructive-disruption
A consumer brand company like Procter & Gamble (P&G) defines “Constructive Disruption” as: a willingness to change, adapt, and create new trends and technologies that will shape our industry for the future. According to P&G, it moves around four pillars: lean innovation, brand building, supply chain, and digitalization & data analytics.

Continuous Innovation

continuous-innovation
That is a process that requires a continuous feedback loop to develop a valuable product and build a viable business model. Continuous innovation is a mindset where products and services are designed and delivered to tune them around the customers’ problem and not the technical solution of its founders.

Design Sprint

design-sprint
A design sprint is a proven five-day process where critical business questions are answered through speedy design and prototyping, focusing on the end-user. A design sprint starts with a weekly challenge that should finish with a prototype, test at the end, and therefore a lesson learned to be iterated.

Design Thinking

design-thinking
Tim Brown, Executive Chair of IDEO, defined design thinking as “a human-centered approach to innovation that draws from the designer’s toolkit to integrate the needs of people, the possibilities of technology, and the requirements for business success.” Therefore, desirability, feasibility, and viability are balanced to solve critical problems.

DevOps

devops-engineering
DevOps refers to a series of practices performed to perform automated software development processes. It is a conjugation of the term “development” and “operations” to emphasize how functions integrate across IT teams. DevOps strategies promote seamless building, testing, and deployment of products. It aims to bridge a gap between development and operations teams to streamline the development altogether.

Dual Track Agile

dual-track-agile
Product discovery is a critical part of agile methodologies, as its aim is to ensure that products customers love are built. Product discovery involves learning through a raft of methods, including design thinking, lean start-up, and A/B testing to name a few. Dual Track Agile is an agile methodology containing two separate tracks: the “discovery” track and the “delivery” track.

eXtreme Programming

extreme-programming
eXtreme Programming was developed in the late 1990s by Ken Beck, Ron Jeffries, and Ward Cunningham. During this time, the trio was working on the Chrysler Comprehensive Compensation System (C3) to help manage the company payroll system. eXtreme Programming (XP) is a software development methodology. It is designed to improve software quality and the ability of software to adapt to changing customer needs.

Feature-Driven Development

feature-driven-development
Feature-Driven Development is a pragmatic software process that is client and architecture-centric. Feature-Driven Development (FDD) is an agile software development model that organizes workflow according to which features need to be developed next.

Gemba Walk

gemba-walk
A Gemba Walk is a fundamental component of lean management. It describes the personal observation of work to learn more about it. Gemba is a Japanese word that loosely translates as “the real place”, or in business, “the place where value is created”. The Gemba Walk as a concept was created by Taiichi Ohno, the father of the Toyota Production System of lean manufacturing. Ohno wanted to encourage management executives to leave their offices and see where the real work happened. This, he hoped, would build relationships between employees with vastly different skillsets and build trust.

GIST Planning

gist-planning
GIST Planning is a relatively easy and lightweight agile approach to product planning that favors autonomous working. GIST Planning is a lean and agile methodology that was created by former Google product manager Itamar Gilad. GIST Planning seeks to address this situation by creating lightweight plans that are responsive and adaptable to change. GIST Planning also improves team velocity, autonomy, and alignment by reducing the pervasive influence of management. It consists of four blocks: goals, ideas, step-projects, and tasks.

ICE Scoring

ice-scoring-model
The ICE Scoring Model is an agile methodology that prioritizes features using data according to three components: impact, confidence, and ease of implementation. The ICE Scoring Model was initially created by author and growth expert Sean Ellis to help companies expand. Today, the model is broadly used to prioritize projects, features, initiatives, and rollouts. It is ideally suited for early-stage product development where there is a continuous flow of ideas and momentum must be maintained.

Innovation Funnel

innovation-funnel
An innovation funnel is a tool or process ensuring only the best ideas are executed. In a metaphorical sense, the funnel screens innovative ideas for viability so that only the best products, processes, or business models are launched to the market. An innovation funnel provides a framework for the screening and testing of innovative ideas for viability.

Innovation Matrix

types-of-innovation
According to how well defined is the problem and how well defined the domain, we have four main types of innovations: basic research (problem and domain or not well defined); breakthrough innovation (domain is not well defined, the problem is well defined); sustaining innovation (both problem and domain are well defined); and disruptive innovation (domain is well defined, the problem is not well defined).

Innovation Theory

innovation-theory
The innovation loop is a methodology/framework derived from the Bell Labs, which produced innovation at scale throughout the 20th century. They learned how to leverage a hybrid innovation management model based on science, invention, engineering, and manufacturing at scale. By leveraging individual genius, creativity, and small/large groups.

Lean vs. Agile

lean-methodology-vs-agile
The Agile methodology has been primarily thought of for software development (and other business disciplines have also adopted it). Lean thinking is a process improvement technique where teams prioritize the value streams to improve it continuously. Both methodologies look at the customer as the key driver to improvement and waste reduction. Both methodologies look at improvement as something continuous.

Lean Startup

startup-company
A startup company is a high-tech business that tries to build a scalable business model in tech-driven industries. A startup company usually follows a lean methodology, where continuous innovation, driven by built-in viral loops is the rule. Thus, driving growth and building network effects as a consequence of this strategy.

Minimum Viable Product

minimum-viable-product
As pointed out by Eric Ries, a minimum viable product is that version of a new product which allows a team to collect the maximum amount of validated learning about customers with the least effort through a cycle of build, measure, learn; that is the foundation of the lean startup methodology.

Leaner MVP

leaner-mvp
A leaner MVP is the evolution of the MPV approach. Where the market risk is validated before anything else

Kanban

kanban
Kanban is a lean manufacturing framework first developed by Toyota in the late 1940s. The Kanban framework is a means of visualizing work as it moves through identifying potential bottlenecks. It does that through a process called just-in-time (JIT) manufacturing to optimize engineering processes, speed up manufacturing products, and improve the go-to-market strategy.

Jidoka

jidoka
Jidoka was first used in 1896 by Sakichi Toyoda, who invented a textile loom that would stop automatically when it encountered a defective thread. Jidoka is a Japanese term used in lean manufacturing. The term describes a scenario where machines cease operating without human intervention when a problem or defect is discovered.

PDCA Cycle

pdca-cycle
The PDCA (Plan-Do-Check-Act) cycle was first proposed by American physicist and engineer Walter A. Shewhart in the 1920s. The PDCA cycle is a continuous process and product improvement method and an essential component of the lean manufacturing philosophy.

Rational Unified Process

rational-unified-process
Rational unified process (RUP) is an agile software development methodology that breaks the project life cycle down into four distinct phases.

Rapid Application Development

rapid-application-development
RAD was first introduced by author and consultant James Martin in 1991. Martin recognized and then took advantage of the endless malleability of software in designing development models. Rapid Application Development (RAD) is a methodology focusing on delivering rapidly through continuous feedback and frequent iterations.

Retrospective Analysis

retrospective-analysis
Retrospective analyses are held after a project to determine what worked well and what did not. They are also conducted at the end of an iteration in Agile project management. Agile practitioners call these meetings retrospectives or retros. They are an effective way to check the pulse of a project team, reflect on the work performed to date, and reach a consensus on how to tackle the next sprint cycle. These are the five stages of a retrospective analysis for effective Agile project management: set the stage, gather the data, generate insights, decide on the next steps, and close the retrospective.

Scaled Agile

scaled-agile-lean-development
Scaled Agile Lean Development (ScALeD) helps businesses discover a balanced approach to agile transition and scaling questions. The ScALed approach helps businesses successfully respond to change. Inspired by a combination of lean and agile values, ScALed is practitioner-based and can be completed through various agile frameworks and practices.

SMED

smed
The SMED (single minute exchange of die) method is a lean production framework to reduce waste and increase production efficiency. The SMED method is a framework for reducing the time associated with completing an equipment changeover.

Spotify Model

spotify-model
The Spotify Model is an autonomous approach to scaling agile, focusing on culture communication, accountability, and quality. The Spotify model was first recognized in 2012 after Henrik Kniberg, and Anders Ivarsson released a white paper detailing how streaming company Spotify approached agility. Therefore, the Spotify model represents an evolution of agile.

Test-Driven Development

test-driven-development
As the name suggests, TDD is a test-driven technique for delivering high-quality software rapidly and sustainably. It is an iterative approach based on the idea that a failing test should be written before any code for a feature or function is written. Test-Driven Development (TDD) is an approach to software development that relies on very short development cycles.

Timeboxing

timeboxing
Timeboxing is a simple yet powerful time-management technique for improving productivity. Timeboxing describes the process of proactively scheduling a block of time to spend on a task in the future. It was first described by author James Martin in a book about agile software development.

Scrum

what-is-scrum
Scrum is a methodology co-created by Ken Schwaber and Jeff Sutherland for effective team collaboration on complex products. Scrum was primarily thought for software development projects to deliver new software capability every 2-4 weeks. It is a sub-group of agile also used in project management to improve startups’ productivity.

Scrumban

scrumban
Scrumban is a project management framework that is a hybrid of two popular agile methodologies: Scrum and Kanban. Scrumban is a popular approach to helping businesses focus on the right strategic tasks while simultaneously strengthening their processes.

Scrum Anti-Patterns

scrum-anti-patterns
Scrum anti-patterns describe any attractive, easy-to-implement solution that ultimately makes a problem worse. Therefore, these are the practice not to follow to prevent issues from emerging. Some classic examples of scrum anti-patterns comprise absent product owners, pre-assigned tickets (making individuals work in isolation), and discounting retrospectives (where review meetings are not useful to really make improvements).

Scrum At Scale

scrum-at-scale
Scrum at Scale (Scrum@Scale) is a framework that Scrum teams use to address complex problems and deliver high-value products. Scrum at Scale was created through a joint venture between the Scrum Alliance and Scrum Inc. The joint venture was overseen by Jeff Sutherland, a co-creator of Scrum and one of the principal authors of the Agile Manifesto.

Six Sigma

six-sigma
Six Sigma is a data-driven approach and methodology for eliminating errors or defects in a product, service, or process. Six Sigma was developed by Motorola as a management approach based on quality fundamentals in the early 1980s. A decade later, it was popularized by General Electric who estimated that the methodology saved them $12 billion in the first five years of operation.

Stretch Objectives

stretch-objectives
Stretch objectives describe any task an agile team plans to complete without expressly committing to do so. Teams incorporate stretch objectives during a Sprint or Program Increment (PI) as part of Scaled Agile. They are used when the agile team is unsure of its capacity to attain an objective. Therefore, stretch objectives are instead outcomes that, while extremely desirable, are not the difference between the success or failure of each sprint.

Toyota Production System

toyota-production-system
The Toyota Production System (TPS) is an early form of lean manufacturing created by auto-manufacturer Toyota. Created by the Toyota Motor Corporation in the 1940s and 50s, the Toyota Production System seeks to manufacture vehicles ordered by customers most quickly and efficiently possible.

Total Quality Management

total-quality-management
The Total Quality Management (TQM) framework is a technique based on the premise that employees continuously work on their ability to provide value to customers. Importantly, the word “total” means that all employees are involved in the process – regardless of whether they work in development, production, or fulfillment.

Waterfall

waterfall-model
The waterfall model was first described by Herbert D. Benington in 1956 during a presentation about the software used in radar imaging during the Cold War. Since there were no knowledge-based, creative software development strategies at the time, the waterfall method became standard practice. The waterfall model is a linear and sequential project management framework. 

Read Also: Continuous InnovationAgile MethodologyLean StartupBusiness Model InnovationProject Management.

Read Next: Agile Methodology, Lean Methodology, Agile Project Management, Scrum, Kanban, Six Sigma.

Main Guides:

Main Case Studies:

Scroll to Top

Discover more from FourWeekMBA

Subscribe now to keep reading and get access to the full archive.

Continue reading

FourWeekMBA