The software development lifecycle describes the various phases that software projects go through, from planning to development and maintenance.
A concrete method to identify, assess and prioritize stakeholders with regard to influence, interests and communication needs.
A structured method for describing functional requirements from the user perspective. Captures actors, goals and interaction steps in concrete scenarios to support analysis, prioritization and testable derivation.
Structured process to elicit, prioritize, and specify requirements as the foundation for design and validation.
Blue-Green Deployment is a technique to minimize downtime during software deployment.
Canary Releases are a specific type of software deployment where new features are gradually rolled out to a small group of users.
Concept for planning and executing software rollouts including rollout patterns, automation and rollback mechanisms.
A method for structured design of software systems, focusing on components, interfaces, and quality requirements.
Standardized method for visualizing and documenting software architectures and designs using diagrammatic notations.
High-level principles and patterns for structuring software systems that translate requirements into modular, maintainable, and extensible designs.
Clean Code is an approach to software development that focuses on the readability, maintainability, and quality of code.
A powerful, lightweight code editor from Microsoft.
Java is a widely used, object-oriented programming language known for its platform independence.
A systematic approach to identifying and resolving incidents in IT environments.
Structured, blameless process to analyze incidents, identify causes, and derive concrete actions to prevent recurrence.
Operational and organizational principles for running applications in production with focus on stability, scalability and observability.
A method for structured maintenance and prioritization of product or team backlogs to manage work by value and risk.
Planning and coordinating releases to deliver software features on schedule and with reduced risk.
Concrete conditions a user story or increment must satisfy to be accepted by stakeholders. Supports testability, shared expectations and objective acceptance decisions.
A technique for visualizing and analyzing user needs.
Systematic process for eliciting, analyzing and managing requirements for systems and products. Aims to ensure traceability, prioritization and to reduce misaligned development.
Regression testing checks after code changes whether previously working features were unintentionally broken. It focuses on repeatability, prioritization and automation of existing test suites.
Systematic verification of software using manual and automated tests to find defects and ensure quality.
Classification of test types by purpose and scope (unit, integration, system, acceptance) to structure test strategies and responsibilities.