-
Notifications
You must be signed in to change notification settings - Fork 54
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Created method intros and icons for each method
- Loading branch information
Showing
63 changed files
with
605 additions
and
1,445 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,84 @@ | ||
--- | ||
tags: | ||
title: DevOps | ||
description: A set of practices that combines software development (Dev) and IT operations (Ops) to shorten the development lifecycle and provide continuous delivery with high software quality. | ||
tags: | ||
- Method | ||
- Agile | ||
- DevOps | ||
featured: | ||
class: c | ||
element: '<image-artifact imgsrc="/public/templates/risk-first/posts/devops.svg">DevOps</image-artifact>' | ||
method: | ||
practices: | ||
- tag: Configuration Management | ||
reason: "DevOps uses Infrastructure as Code (IaC) to manage and provision computing infrastructure through machine-readable scripts." | ||
use: | ||
- Security as Code | ||
- Infrastructure As Code (IaC) | ||
- Configuration Management | ||
- tag: Design | ||
reason: "DevOps emphasizes microservices architecture and service discovery to improve scalability and reliability." | ||
use: | ||
- Microservices Architecture | ||
- Service Discovery | ||
- tag: Integration Testing | ||
reason: "Continuous Integration (CI) regularly integrates code changes into a shared repository to detect and fix problems early." | ||
use: | ||
- Continuous Integration (CI) | ||
- tag: Monitoring | ||
reason: "Monitoring and logging, along with observability, are critical for identifying issues and opportunities for improvement in DevOps." | ||
use: | ||
- Monitoring and Logging | ||
- Observability | ||
- tag: Prototyping | ||
reason: "Canary releases and blue-green deployments are used to test new features in a controlled manner." | ||
use: | ||
- Canary Releases | ||
- Blue-Green Deployment | ||
- tag: Redundancy | ||
reason: "Load balancing and redundancy are crucial for maintaining uptime in a DevOps environment." | ||
use: | ||
- Load Balancing | ||
- Redundancy | ||
- tag: Release Delivery | ||
reason: "Continuous Delivery (CD), Continuous Deployment, and Blue-Green Deployment ensure smooth and frequent releases." | ||
use: | ||
- Continuous Delivery (CD) | ||
- Continuous Deployment | ||
- Blue-Green Deployment | ||
- tag: Security Testing | ||
reason: "Security as Code and Automated Security Testing integrate security practices into the DevOps pipeline." | ||
use: | ||
- Automated Security Testing | ||
- tag: Unit Testing | ||
reason: "Automated Testing and Test Driven Development (TDD) validate code changes to ensure they work as expected." | ||
use: | ||
- Automated Testing | ||
- Test Driven Development (TDD) | ||
- tag: Version Control | ||
reason: "Version Control and Artifact Management are essential for managing code and builds in DevOps." | ||
use: | ||
- Version Control | ||
- Artifact Management | ||
--- | ||
|
||
![Draft](/img/state/draft.png) | ||
<MethodIntro details={frontMatter} /> | ||
|
||
## Description | ||
|
||
> "DevOps is a methodology in the software development and IT industry. Used as a set of practices and tools, DevOps integrates and automates the work of software development (Dev) and IT operations (Ops) as a means for improving and shortening the systems development life cycle." - [DevOps, _Wikipedia_](https://en.wikipedia.org/wiki/DevOps) | ||
DevOps emphasizes collaboration between development and operations teams to improve efficiency, reliability, and scalability. Key practices in DevOps include continuous integration, continuous delivery, infrastructure as code, monitoring and logging, automated testing, and configuration management. DevOps focuses on automating and streamlining the software development and deployment process. | ||
|
||
## See Also | ||
|
||
<TagList tag="DevOps" /> | ||
|
||
### Additional DevOps Practices | ||
|
||
- **Microservices Architecture**: Designing applications as a collection of loosely coupled, independently deployable services. | ||
- **Service Discovery**: Automatically detecting and connecting to services in a microservices architecture. | ||
- **Security as Code**: Integrating security practices into the DevOps pipeline. | ||
- **Automated Security Testing**: Using automated tools to perform security checks throughout the development and deployment process. | ||
|
||
These practices highlight the core elements of DevOps and how they align with your provided list. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,102 @@ | ||
--- | ||
tags: | ||
title: Lean Software Development | ||
description: An Agile software development methodology that emphasizes eliminating waste, building quality in, creating knowledge, deferring commitment, delivering fast, respecting people, and optimizing the whole. | ||
tags: | ||
- Method | ||
- Agile | ||
featured: | ||
class: c | ||
element: '<image-artifact imgsrc="/public/templates/risk-first/posts/lean.svg">Lean Software Development</image-artifact>' | ||
method: | ||
practices: | ||
- tag: Analysis | ||
reason: "Lean uses value stream mapping to analyze the flow of materials and information, identifying areas of waste." | ||
use: | ||
- Value Stream Mapping | ||
- tag: Automation | ||
reason: "Lean uses automation to eliminate waste and improve efficiency, especially in testing and deployment processes." | ||
use: | ||
- Pull Systems | ||
- Automation | ||
- tag: Change Management | ||
reason: "Lean emphasizes managing changes effectively to ensure continuous improvement and adaptability." | ||
- tag: Coding | ||
reason: "Lean practices emphasize building quality in throughout the coding process to prevent defects." | ||
use: | ||
- Build Quality In | ||
- tag: Configuration Management | ||
reason: "Lean ensures consistency and quality across different environments through configuration management." | ||
- tag: Debugging | ||
reason: "Lean uses techniques like the 'Five Whys' to identify the root cause of defects and address them effectively." | ||
use: | ||
- Root Cause Analysis | ||
- tag: Design | ||
reason: "Lean uses set-based concurrent engineering to explore multiple design options and narrow down to the best solution." | ||
use: | ||
- Set-Based Concurrent Engineering | ||
- tag: Estimation | ||
reason: "Lean focuses on working in small, manageable batches to reduce cycle time and increase feedback, aiding in more accurate estimation." | ||
use: | ||
- Small Batch Sizes | ||
- tag: Integration Testing | ||
reason: "Lean builds quality in, and integration testing is part of ensuring quality from the beginning." | ||
use: | ||
- Build Quality In | ||
- tag: Measurement | ||
reason: "Lean uses empirical data to understand and improve the development process." | ||
use: | ||
- Empirical Process Control | ||
- tag: Monitoring | ||
reason: "Lean implements pull systems where work is pulled based on demand, ensuring that no work is done until it is needed." | ||
use: | ||
- Pull Systems | ||
- tag: Pair Programming | ||
reason: "Lean encourages collaboration through cross-functional teams." | ||
use: | ||
- Cross-Functional Teams | ||
- tag: Performance Testing | ||
reason: "Lean ensures that performance is built into the product from the beginning." | ||
use: | ||
- Build Quality In | ||
- tag: Prioritising | ||
reason: "Lean uses Kanban to prioritize and manage work." | ||
use: | ||
- Kanban | ||
- tag: Prototyping | ||
reason: "Lean uses set-based concurrent engineering to explore multiple options and narrow down to the best solution." | ||
use: | ||
- Set-Based Concurrent Engineering | ||
- tag: Release Delivery | ||
reason: "Lean focuses on delivering value to the customer as quickly as possible." | ||
use: | ||
- Deliver Fast | ||
- tag: Retrospectives | ||
reason: "Lean regularly reflects on and improves the development process through continuous improvement and Kaizen." | ||
use: | ||
- Continuous Improvement | ||
- Kaizen | ||
- tag: Security Testing | ||
reason: "Lean ensures that security is built into the product from the beginning." | ||
use: | ||
- Build Quality In | ||
- tag: Stakeholder Management | ||
reason: "Lean emphasizes respecting people and engaging stakeholders." | ||
use: | ||
- Respect People | ||
- tag: Unit Testing | ||
reason: "Lean ensures that quality is built into the product from the beginning." | ||
use: | ||
- Build Quality In | ||
--- | ||
![Draft](/img/state/draft.png) | ||
|
||
<MethodIntro details={frontMatter} /> | ||
|
||
## Description | ||
|
||
> "Lean software development is a translation of lean manufacturing principles and practices to the software development domain. Adapted from the Toyota Production System,[1] it is emerging with the support of a pro-lean subculture within the agile community. Lean offers a solid conceptual framework, values and principles, as well as good practices, derived from experience, that support agile organizations." - [Lean software development, _Wikipedia_](https://en.wikipedia.org/wiki/Lean_software_development) | ||
Lean Software Development emphasizes eliminating waste, building quality in, creating knowledge, deferring commitment, delivering fast, respecting people, and optimizing the whole. Key practices in Lean include value stream mapping, pull systems, Kanban, small batch sizes, continuous improvement, root cause analysis, and respecting people. Lean focuses on improving efficiency and quality through these principles and practices. | ||
|
||
## See Also | ||
|
||
<TagList tag="Lean Software Development" /> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
--- | ||
title: Scrum | ||
description: An Agile framework for managing and completing complex projects. | ||
tags: | ||
- Method | ||
- Agile | ||
featured: | ||
class: c | ||
element: '<image-artifact imgsrc="/public/templates/risk-first/posts/scrum.svg">Scrum</image-artifact>' | ||
method: | ||
practices: | ||
- tag: Approvals | ||
reason: "Scrum requires approval during sprint reviews and at the end of each sprint." | ||
use: | ||
- Sprint Review | ||
- tag: Automation | ||
reason: "Automation of tests and integration (CI/CD) is common in Scrum practices." | ||
- tag: Change Management | ||
reason: "Changes are managed through the product backlog and sprint planning." | ||
- tag: Coding | ||
reason: "Coding is a core activity in Scrum as it is in any software development framework." | ||
- tag: Configuration Management | ||
reason: "Configuration management helps maintain the consistency of the product's performance." | ||
- tag: Debugging | ||
reason: "Debugging is an essential part of the development process in Scrum." | ||
- tag: Demo | ||
reason: "Scrum includes sprint reviews which act as demos for stakeholders." | ||
- tag: Documentation | ||
reason: "Documentation is produced, but Scrum values working software over comprehensive documentation." | ||
- tag: Estimation | ||
reason: "Estimation is performed during sprint planning using techniques like story points." | ||
use: | ||
- Planning Poker | ||
- Sprint Planning | ||
- tag: Integration Testing | ||
reason: "Integration testing is part of the Definition of Done in Scrum." | ||
- tag: Issue Management | ||
reason: "Issues are logged and tracked through tools like JIRA to ensure they are resolved promptly." | ||
use: | ||
- Sprint Backlog | ||
- tag: Measurement | ||
reason: "Scrum uses various metrics like burndown charts to measure progress." | ||
use: | ||
- Burndown Chart | ||
- Definition of Done | ||
- tag: Monitoring | ||
reason: "Monitoring progress through daily stand-ups and sprint reviews is integral to Scrum." | ||
use: | ||
- Daily Stand-ups | ||
- tag: Prioritising | ||
reason: "Scrum prioritizes work during sprint planning and focuses on delivering a potentially shippable product increment." | ||
use: | ||
- Sprint Planning | ||
- Sprint Goal | ||
- Product Backlog Refinement | ||
- tag: Refactoring | ||
reason: "Refactoring is encouraged to maintain code quality within Scrum." | ||
- tag: Regression Testing | ||
reason: "Regression testing is part of the Definition of Done to ensure changes don't break existing functionality." | ||
- tag: Requirements Capture | ||
reason: "Capturing requirements is done through user stories and the product backlog in Scrum." | ||
use: | ||
- User Stories | ||
- tag: Retrospectives | ||
reason: "Retrospectives are a key part of Scrum for continuous improvement." | ||
use: | ||
- Sprint Retrospective | ||
- tag: Review | ||
reason: "Scrum includes regular reviews in the form of sprint reviews and retrospectives." | ||
- tag: Release Delivery | ||
reason: "Scrum focuses on frequent releases, with potentially shippable increments delivered at the end of each sprint." | ||
- tag: Unit Testing | ||
reason: "Unit testing is part of the Definition of Done in Scrum." | ||
- tag: Code Reviews | ||
reason: "Code reviews can be part of the development practices within Scrum." | ||
- tag: Stakeholder Management | ||
reason: "Stakeholder engagement is critical in Scrum, especially through the role of the Product Owner." | ||
- tag: Version Control | ||
reason: "Version control is a best practice in software development, including in Scrum." | ||
--- | ||
|
||
<MethodIntro details={frontMatter} /> | ||
|
||
## Description | ||
|
||
> "Scrum prescribes for teams to break work into goals to be completed within time-boxed iterations, called sprints. Each sprint is no longer than one month and commonly lasts two weeks. The scrum team assesses progress in time-boxed, stand-up meetings of up to 15 minutes, called daily scrums. At the end of the sprint, the team holds two further meetings: one sprint review to demonstrate the work for stakeholders and solicit feedback, and one internal sprint retrospective. A person in charge of a scrum team is typically called a scrum master." - [Scrum (software development), _Wikipedia_](https://en.wikipedia.org/wiki/Scrum_(software_development)) | ||
Scrum is an Agile framework that focuses on iterative progress through small, cross-functional teams. Key practices in Scrum include sprint planning, daily stand-ups, sprint reviews, and retrospectives. Scrum emphasizes collaboration, flexibility, and continuous improvement, making it a popular choice for managing complex projects. | ||
|
||
## See Also | ||
|
||
<TagList tag="Scrum" /> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,57 @@ | ||
--- | ||
tags: | ||
title: Waterfall Development | ||
description: A traditional linear and sequential development methodology where each phase must be completed before moving on to the next. | ||
tags: | ||
- Method | ||
- Traditional | ||
featured: | ||
class: c | ||
element: '<image-artifact imgsrc="/public/templates/risk-first/posts/waterfall.svg">Waterfall Development</image-artifact>' | ||
method: | ||
practices: | ||
- tag: Approvals | ||
reason: "Waterfall emphasizes formal reviews and sign-offs at the end of each phase to ensure that all stakeholders agree on the work completed and the plans for the next phase." | ||
use: | ||
- Review and Sign Off | ||
- tag: Coding | ||
reason: "The implementation phase in Waterfall involves converting design documents into functional software through coding." | ||
use: | ||
- Implementation | ||
- tag: Design | ||
reason: "The system design phase in Waterfall includes both high-level and low-level design to create a blueprint for the implementation phase." | ||
use: | ||
- System Design | ||
- tag: Documentation | ||
reason: "Detailed documentation is created and maintained throughout each phase in Waterfall to ensure clarity and traceability." | ||
- tag: Issue Management | ||
reason: "The maintenance phase in Waterfall involves managing issues and bugs that arise post-deployment and making necessary updates and improvements." | ||
use: | ||
- Maintenance | ||
- tag: Prioritising | ||
reason: "Waterfall involves detailed project planning and management, which includes prioritizing tasks to ensure the project progresses according to schedule and within budget." | ||
use: | ||
- Project Management and Planning | ||
- tag: Release Delivery | ||
reason: "The deployment phase in Waterfall involves releasing the completed software product to the production environment for end-users." | ||
use: | ||
- Deployment | ||
- tag: Requirements Capture | ||
reason: "The requirements gathering and analysis phase in Waterfall involves collecting and documenting all possible requirements of the system to be developed." | ||
- tag: User Acceptance Testing | ||
reason: "The integration and testing phase in Waterfall includes system and acceptance testing to ensure the product meets the specified requirements and the needs of the users." | ||
use: | ||
- Integration and Testing | ||
- User Acceptance Testing | ||
--- | ||
![Draft](/img/state/draft.png) | ||
|
||
<MethodIntro details={frontMatter} /> | ||
|
||
## Description | ||
|
||
> "The waterfall model is a breakdown of development activities into linear sequential phases, meaning they are passed down onto each other, where each phase depends on the deliverables of the previous one and corresponds to a specialization of tasks... The waterfall model is the earliest SDLC approach that was used in software development." - [Waterfall model, _Wikipedia_](https://en.wikipedia.org/wiki/Waterfall_model) | ||
Waterfall Development is a traditional project management methodology that follows a linear and sequential approach. Key phases in Waterfall include requirements gathering and analysis, system design, implementation, integration and testing, deployment, and maintenance. Each phase must be completed before the next phase begins, ensuring a structured and disciplined approach to software development. | ||
|
||
## See Also | ||
|
||
<TagList tag="Waterfall" /> |
Oops, something went wrong.