20 DevOps Frameworks For Your Digital Business

DevOps Methodology

devops-methodology
A DevOps methodology is a suite of practices, tools, and philosophies that combines software development (Dev) and information technology operations (Ops).

Lean Methodology

lean-methodology
The lean methodology is a continuous process of product development to meet customers’ needs. It was in part borrowed by the auto industry and its roots are found in the Toyota Production System, which was heavily influenced by Henry Ford’s assembly line system. The lean methodology is, therefore, an evolution from lean manufacturing, based on continuous improvement.

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.

Buy-a-feature Prioritization Model

buy-a-feature-prioritization-model
The Buy-a-Feature Prioritization Model is a quantifiable exercise helping product teams to identify features that customers value most. The Buy-a-Feature Prioritization Model endeavors to answer some basic questions around product development – Which product feature will get customers excitedly telling their friends about it? – Which will cause them to rush to upgrade their model? – Which feature(s) will make the customer so happy that they ignore less desirable aspects of the product?

Dynamic Systems Development Method

dynamic-systems-development-method
During the 1990s, rapid application development (RAD) was becoming increasingly popular. The Dynamic Systems Development Method (DSDM) is an agile approach that focuses on the full project lifecycle while adding further discipline and structure. DSDM is founded on eight key principles. Each principle supports the DSDM philosophy that “best business value emerges when projects are aligned to clear business goals, deliver frequently and involve the collaboration of motivated and empowered people”.

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.

ICE Scoring Model

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.

Value vs. Complexity Framework

value-vs-complexity-framework
The Value vs. Complexity framework is a prioritization model. It allows product teams to evaluate ideas based on how much value they add and how difficult they are to implement. The Value vs. Complexity framework helps businesses prioritize product feature lists during development.

Impact Mapping

impact-mapping
Impact mapping is a product development technique based on user design, mind mapping, and outcome-driven planning. Impact mapping is an agile technique intended to help teams connect individual product features that can impact the user behaviors while connecting to the key, guiding metrics for the business.

Behavior-Driven Development

behavior-driven-development
Behavior-Driven Development (BDD) is a process that gives examples of how software should behave in various scenarios. This behavior is written in a format that is easily understood, tested, and integrated.

Acceptance Test-Driven Development

acceptance-test-driven-development
Acceptance Test-Driven Development (ATDD) is a part of the agile methodology where automated tests are written from the user’s perspective. Unlike test-driven development – where acceptance tests are created from the perspective of the developer – ATDD advocates the automation of tests from the various perspectives of the user.

Experiment-Driven Development

experiment-driven-development
Test-Driven Development (TDD) and Behavior-Driven Development (BDD) are popular agile development techniques. However, they don’t measure application usage or provide guidance on gaining feedback from customers. Experiment-Driven Development (EDD) is a scientific, fact-based approach to software development using agile principles.

Continuous Integration

continuous-integrationcontinuous-deployment
Continuous Integration/Continuous Deployment (CI/CD) introduces automation into the stages of app development to frequently deliver to customers. CI/CD introduces continuous automation and monitoring throughout the app lifecycle, from testing to delivery and then deployment.

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.

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.

DevSecOps

devsecops
DevSecOps is a set of disciplines combining development, security, and operations. It is a philosophy that helps software development businesses deliver innovative products quickly without sacrificing security. This allows potential security issues to be identified during the development process – and not after the product has been released in line with the emergence of continuous software development practices.

Starbursting

starbursting
Starbursting is a structured brainstorming technique with a focus on question generation. Starbursting is a structured form of brainstorming allowing product teams to cover all bases during the ideation process. It utilizes a series of questions to systematically work through various aspects of product development, forcing teams to evaluate ideas based on viability.

MVP

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

Waterfall Model

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. 

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.

Key Highlights

  • DevOps Methodology:
    • DevOps combines software development (Dev) and IT operations (Ops) practices.
    • Focuses on collaboration, automation, and efficiency in the software development lifecycle.
  • Lean Methodology:
    • Originates from lean manufacturing and the Toyota Production System.
    • Aims for continuous improvement and meeting customer needs efficiently.
    • Eliminates waste, optimizes processes, and enhances value.
  • Rapid Application Development (RAD):
    • Introduced by James Martin in 1991.
    • Emphasizes rapid development through continuous feedback and iterations.
  • Buy-a-feature Prioritization Model:
    • Quantifiable exercise to prioritize customer-valued features.
    • Helps identify features that enhance customer satisfaction and drive product adoption.
  • Dynamic Systems Development Method (DSDM):
    • Agile approach focusing on the project lifecycle with structure and discipline.
    • Based on principles that emphasize collaboration and clear business goals.
  • Test-Driven Development (TDD):
    • Approach based on writing tests before code to ensure high-quality software.
    • Relies on short development cycles and iterative improvements.
  • ICE Scoring Model:
    • Agile methodology that prioritizes features based on impact, confidence, and ease of implementation.
    • Helps prioritize projects, features, and initiatives, particularly in early-stage development.
  • Value vs. Complexity Framework:
    • Prioritization model evaluating ideas based on value and implementation complexity.
    • Assists product teams in making informed decisions during development.
  • Impact Mapping:
    • Technique combining user design, mind mapping, and outcome-driven planning.
    • Links product features to user behavior and key business metrics.
  • Behavior-Driven Development (BDD):
    • Process providing examples of software behavior in various scenarios.
    • Examples are written in an easily understood and tested format.
  • Acceptance Test-Driven Development (ATDD):
    • Agile approach advocating automated tests from the user’s perspective.
    • Focuses on user scenarios to ensure software meets user requirements.
  • Experiment-Driven Development (EDD):
    • Scientific, fact-based approach to software development using agile principles.
    • Emphasizes measurement, application usage, and customer feedback.
  • Continuous Integration/Continuous Deployment (CI/CD):
    • Automates app development stages to deliver frequently to customers.
    • Involves continuous automation, monitoring, and testing throughout the app lifecycle.
  • Scaled Agile Lean Development (ScALeD):
    • Helps businesses transition and scale agile practices.
    • Integrates lean and agile values through various frameworks.
  • Timeboxing:
    • Time-management technique to improve productivity.
    • Proactively schedules time blocks for tasks.
  • DevSecOps:
    • Integrates development, security, and operations to enhance software security.
    • Identifies security issues early in the development process.
  • Starbursting:
    • Structured brainstorming technique for question generation.
    • Systematically evaluates product development ideas based on viability.
  • MVP:
    • Minimum Viable Product; delivers core features to test market response.
    • Leaner MVP emphasizes validating market risk before further development.
  • Waterfall Model:
    • Linear, sequential project management framework.
    • Progresses through defined phases: requirements, design, implementation, testing, deployment.
  • Bimodal Portfolio Management (BimodalPfM):
    • Manages both agile and traditional portfolios concurrently.
    • Recognizes the need for flexibility in managing different project types.

Table Summary

Concept NameDescriptionWhen to UseAdvantagesDrawbacks
DevOps MethodologyDevOps is a methodology that combines software development (Dev) and IT operations (Ops) to streamline the software delivery process. It aims to reduce development cycles, increase automation, and improve collaboration between development and operations teams.When organizations want to accelerate software development, improve efficiency, and enhance collaboration between development and operations teams to deliver software more reliably and quickly.Accelerates software delivery, enhances automation, and fosters collaboration among teams.Requires a cultural shift and significant changes in processes and tools. Implementation challenges can arise in traditional organizational structures.
Lean MethodologyThe lean methodology, inspired by the Toyota Production System, focuses on continuous improvement and eliminating waste in product development. It aims to create value for customers efficiently and emphasizes customer-centricity.When organizations aim to optimize their product development processes, minimize waste, and enhance customer satisfaction by delivering products that precisely meet customer needs.Reduces waste, increases efficiency, and promotes a customer-centric approach.May require a cultural shift and changes in existing processes, which can be challenging to implement.
Rapid Application DevelopmentRapid Application Development (RAD) is a methodology that prioritizes delivering software quickly through continuous feedback and iterative development. It aims to reduce development time and increase adaptability to changing requirements.When organizations need to develop and deliver software rapidly, respond to changing requirements, and gather frequent feedback from stakeholders during the development process.Accelerates software development, encourages feedback, and adapts to changing requirements effectively.May not be suitable for all types of projects, and the rapid pace can require dedicated resources and careful management to maintain quality.
Buy-a-feature Prioritization ModelThe Buy-a-Feature Prioritization Model helps product teams identify the most valuable features by quantifying customer preferences. It focuses on understanding which features will excite customers and drive product adoption.When product teams need to prioritize feature development based on customer preferences and prioritize features that generate excitement and adoption, leading to more successful product launches.Quantifies customer preferences, prioritizes features effectively, and drives product success.Requires input and feedback from customers, which can be challenging to obtain and may not cover all aspects of product development.
Dynamic Systems Development MethodDynamic Systems Development Method (DSDM) is an agile approach that provides structure and discipline to the full project lifecycle. It focuses on aligning projects with clear business goals, frequent delivery, and collaboration among motivated teams.When organizations want to implement agile practices with a structured approach, emphasize business alignment, and foster collaboration among motivated teams for successful project delivery.Aligns projects with business goals, delivers frequently, and promotes collaboration among teams.Requires training and commitment to agile principles and may not be suitable for all project types.
Test-Driven DevelopmentTest-Driven Development (TDD) is an iterative software development approach where tests are written before code. It ensures that software meets requirements and maintains high quality by writing tests that validate expected behavior.When software development teams want to ensure high-quality code, meet requirements precisely, and maintain test coverage throughout the development process.Ensures high-quality code, meets requirements, and maintains test coverage from the early stages of development.May require additional time for test creation and a shift in development mindset to adopt TDD effectively.
ICE Scoring ModelThe ICE Scoring Model is an agile methodology for feature prioritization based on Impact, Confidence, and Ease of implementation. It quantifies these factors to help prioritize projects, features, and initiatives effectively.When product teams need a structured approach to prioritize projects, features, or initiatives based on quantifiable criteria like impact, confidence, and ease of implementation.Provides a systematic way to prioritize based on quantifiable criteria, improving resource allocation and decision-making.Relies on data and assumptions, and the accuracy of scoring may vary. It may not capture all relevant factors for prioritization.
Value vs. Complexity FrameworkThe Value vs. Complexity framework is a prioritization model that evaluates ideas based on their value and implementation complexity. It helps product teams prioritize features during development based on their potential impact and difficulty.When product teams want to prioritize features based on their potential value and complexity of implementation, making informed decisions about what to develop next.Facilitates informed feature prioritization by considering value and complexity, improving resource allocation and decision-making.Requires accurate assessment of value and complexity, and individual judgments may vary. Some factors may not be easily quantifiable.
Impact MappingImpact mapping is an agile product development technique that helps teams connect product features to user behaviors and business metrics. It aligns development efforts with desired outcomes and focuses on delivering value.When product development teams want to align their efforts with desired outcomes, connect features to user behaviors, and prioritize work that delivers the most value to the business.Aligns development with desired outcomes, connects features to user behavior, and prioritizes work based on business value and impact.Requires clear business goals and may require significant upfront planning to create impact maps effectively.
Behavior-Driven DevelopmentBehavior-Driven Development (BDD) is a process that defines software behavior through examples that are easily understood, tested, and integrated into development. It ensures that software behaves as expected in various scenarios.When development teams want to define software behavior clearly, create easily understood examples, and conduct tests based on expected behavior in different scenarios.Provides clear behavioral definitions, enhances testing, and ensures software behaves as expected across different scenarios.Requires writing and maintaining behavior specifications, which can be time-consuming. Successful implementation depends on collaboration among developers, testers, and business stakeholders.
Acceptance Test-Driven DevelopmentAcceptance Test-Driven Development (ATDD) is an agile methodology where automated tests are written from the user’s perspective. It ensures that software meets user requirements by automating tests from various user perspectives.When development teams want to validate software functionality from the user’s perspective, automate tests to ensure requirements are met, and improve collaboration between development and testing teams.Validates software from the user’s perspective, automates tests, and fosters collaboration between development and testing teams.Requires defining clear acceptance criteria and automated test scripts, which can involve additional effort upfront. Successful implementation depends on effective collaboration among teams.
Experiment-Driven DevelopmentExperiment-Driven Development (EDD) is an agile approach that applies scientific and fact-based methods to software development. It involves conducting experiments to gather data and insights for making informed decisions about product development.When organizations want to apply a scientific and data-driven approach to software development, conduct experiments to gather insights, and make informed decisions about product development.Utilizes data and experimentation to inform product development decisions, improving the likelihood of successful outcomes.Requires data collection and analysis, as well as a culture of experimentation and learning. Implementation may vary based on the organization’s readiness for data-driven decision-making.
Continuous IntegrationContinuous Integration/Continuous Deployment (CI/CD) introduces automation into the stages of app development to frequently deliver to customers. It automates testing, builds, and deployment, enabling rapid and reliable software delivery.When organizations aim to automate and streamline the software development and deployment processes, ensuring rapid and reliable delivery to customers with minimal manual intervention.Automates testing, builds, and deployment, reducing manual effort and enabling rapid, reliable software delivery.Requires infrastructure and tooling for automation, and may involve initial setup and configuration. Effective CI/CD practices require a commitment to automation and testing.
Scaled AgileScaled Agile Lean Development (ScALeD) helps businesses discover a balanced approach to agile transition and scaling questions. It provides a practitioner-based approach that can be adapted to various agile frameworks and practices.When organizations seek to scale agile practices effectively and adapt them to their specific needs, balancing agile principles with the demands of a larger organization and complex projects.Offers a flexible approach to scaling agile practices, allowing organizations to tailor their approach to suit their unique requirements and constraints.Requires thoughtful adaptation to the organization’s context and may involve cultural and structural changes to support scaled agile practices.
TimeboxingTimeboxing is a time management technique where specific blocks of time are scheduled for tasks or activities in advance. It helps improve productivity by providing a structured approach to managing time and tasks.When individuals or teams want to improve time management, increase productivity, and maintain focus on specific tasks or activities by allocating dedicated time blocks for each.Enhances time management, increases productivity, and provides a structured approach to task management and focus.Requires discipline to adhere to time schedules and may not work for all individuals or situations.
DevSecOpsDevSecOps combines development (Dev), security (Sec), and operations (Ops) to integrate security practices into the software development process. It focuses on identifying and addressing security issues early in the development lifecycle.When organizations aim to prioritize security in their software development process, identify and mitigate security vulnerabilities early, and ensure that security is integrated throughout the development lifecycle.Integrates security practices into development, identifies and addresses vulnerabilities early, and enhances the overall security posture of software products.Requires a cultural shift to prioritize security, collaboration among development, security, and operations teams, and the adoption of security tools and practices.
StarburstingStarbursting is a structured brainstorming technique that focuses on generating questions to thoroughly explore and evaluate ideas. It is a methodical approach to ideation that aims to address all aspects and considerations of a concept.When teams or individuals want to explore and evaluate ideas comprehensively by generating questions that cover various aspects, potential challenges, and opportunities associated with a concept.Provides a structured approach to ideation and ensures that all relevant aspects and considerations are thoroughly explored.Requires time and effort to generate and address a comprehensive set of questions, and success depends on the quality of questions generated and answered.
MVP (Minimum Viable Product)A leaner MVP approach focuses on validating market risk before extensive development efforts. It prioritizes creating a minimal product version to test assumptions and gather feedback early, reducing the risk of building the wrong product.When organizations want to validate market assumptions and gather early feedback before investing heavily in product development, reducing the risk of building a product that may not meet customer needs.Reduces the risk of building the wrong product by validating market assumptions and gathering early feedback, optimizing resource allocation and product development decisions.Requires a clear understanding of market assumptions and effective methods for gathering feedback. The scope of the MVP may need careful definition to ensure it provides valuable insights.
Waterfall ModelThe waterfall model is a traditional, linear, and sequential project management framework that divides the software development process into distinct phases, such as requirements, design, development, testing, and deployment.When organizations require a structured and well-defined approach to software development, with clear phase transitions, detailed documentation, and a focus on meeting specific requirements before moving to the next phase.Provides a structured and predictable development process with well-defined phases and requirements. Facilitates comprehensive documentation and traceability.May be less adaptable to changing requirements, and issues discovered late in the process can be costly to address. May not align well with agile or iterative development approaches.
Bimodal Portfolio ManagementBimodal Portfolio Management (BimodalPfM) allows organizations to manage both agile and traditional portfolios simultaneously. It recognizes that some aspects of operations may still require traditional delivery models while embracing agile practices in other areas.When organizations need to balance agile and traditional approaches to portfolio management, acknowledging that certain aspects of operations are better suited to traditional methods, while others benefit from agile practices.Provides flexibility to manage portfolios using both agile and traditional approaches, allowing organizations to adapt to their specific needs and context.Requires careful coordination and communication between agile and traditional teams and may introduce complexities in managing multiple portfolios concurrently.

Main Free Guides:

Discover more from FourWeekMBA

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

Continue reading

Scroll to Top
FourWeekMBA