Skip to content

Commit 8a63b7c

Browse files
authored
Merge pull request #24 from 403-html/docs/culture-foundation-update
docs: add points about education and leadership
2 parents 567e17f + 01e1831 commit 8a63b7c

File tree

4 files changed

+71
-49
lines changed

4 files changed

+71
-49
lines changed

docs/automations.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ Automations can be broadly categorized into two main types: process automations
4444
and test automations. Both types play a crucial role in ensuring the efficiency,
4545
reliability, and quality of the software development process.
4646

47-
### 3.2.1 Process automations
47+
### Process automations
4848

4949
Process automations focus on streamlining and optimizing the development process
5050
by automating repetitive tasks and workflows. These automations help teams save
@@ -77,7 +77,7 @@ in routine tasks. Key examples of process automations include:
7777
triaging, and test case generation, to improve productivity and reduce manual
7878
effort.
7979

80-
### 3.2.2 Test automations
80+
### Test automations
8181

8282
Test automations focus on automating the testing process to ensure that software
8383
meets the desired quality standards. Automated tests can cover a wide range of
@@ -102,7 +102,7 @@ automations include:
102102
application, covering multiple components and workflows to validate the
103103
end-to-end functionality.
104104

105-
#### 3.2.2.1 Choosing the right test automation strategy
105+
#### Choosing the right test automation strategy
106106

107107
When implementing test automations, it is essential to choose the right strategy
108108
that aligns with your goals, resources, and constraints. Some common test
@@ -125,7 +125,7 @@ automation strategies include:
125125
It's a valid strategy for MVPs where we need to ensure the critical paths are
126126
working as expected, but it should not be the long-term strategy.
127127

128-
### 3.2.3 Choosing the right tools
128+
### Choosing the right tools
129129

130130
Selecting the right tools for automations might seem like a daunting task, given
131131
the wide range of options available in the market. When choosing tools for
@@ -152,7 +152,7 @@ process and test automations, consider the following factors:
152152
reporting, analytics, collaboration, and extensibility. Choose tools that meet
153153
your specific requirements and enable you to achieve your automation goals.
154154

155-
#### 3.2.3.1 Popular tools for automations
155+
#### Popular tools for automations
156156

157157
Here are some popular tools for process and test automations that are widely
158158
used in the industry:

docs/core-infrastructure.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ The core infrastructure of a QA architecture supports a quality-first culture an
66

77
Many organizations use reactive monitoring, addressing issues only after they surface. This risks delayed responses, customer dissatisfaction, and security breaches. A quality-first culture requires a proactive approach, identifying issues early to prevent incidents and ensure system stability and security.
88

9-
**2.1.1 Integration and Collaboration:** Integrating monitoring and issue detection into development processes, along with fostering team collaboration, is essential. Aligning tools, practices, and workflows with the development lifecycle ensures early issue detection and resolution. This also facilitates knowledge sharing and best practice adoption for improved system reliability and security.
9+
**Integration and Collaboration:** Integrating monitoring and issue detection into development processes, along with fostering team collaboration, is essential. Aligning tools, practices, and workflows with the development lifecycle ensures early issue detection and resolution. This also facilitates knowledge sharing and best practice adoption for improved system reliability and security.
1010

1111
## 2.2 Key Practices and Tools
1212

1313
Here are the key practices and tools to establish a solid core infrastructure for monitoring and early issue detection:
1414

15-
**2.2.1 Continuous Deployments:** Enables frequent, reliable production changes, reducing human error and streamlining releases. Real-time monitoring allows for quick rollbacks if necessary.
15+
**Continuous Deployments:** Enables frequent, reliable production changes, reducing human error and streamlining releases. Real-time monitoring allows for quick rollbacks if necessary.
1616

1717
* **Quick Tips and Sample Tooling:**
1818
* **Automate your deployment pipeline:** Jenkins, GitLab CI/CD, CircleCI.
@@ -22,7 +22,7 @@ Here are the key practices and tools to establish a solid core infrastructure fo
2222
* **Automate rollbacks:** Revert changes quickly in case of failures.
2323
* **Changelog and release notes:** Document changes and updates for transparency and communication.
2424

25-
**2.2.2 Continuous Monitoring:** Tracks system performance, availability, and security in real-time, enabling proactive issue identification, troubleshooting, and anomaly detection.
25+
**Continuous Monitoring:** Tracks system performance, availability, and security in real-time, enabling proactive issue identification, troubleshooting, and anomaly detection.
2626

2727
* **Quick Tips and Sample Tooling:**
2828
* **Set up monitoring dashboards:** Grafana, Kibana, Splunk.
@@ -31,7 +31,7 @@ Here are the key practices and tools to establish a solid core infrastructure fo
3131
* **Use tracing and profiling tools:** Jaeger, Zipkin, OpenTelemetry; YourKit, VisualVM, JProfiler.
3232
* **Automate incident response:** PagerDuty, OpsGenie, VictorOps.
3333

34-
**2.2.3 Error Tracking and Alerting:** Identifies, prioritizes, and resolves issues quickly through real-time tracking and alerts. Provides insights into root causes, error trends, and areas for improvement.
34+
**Error Tracking and Alerting:** Identifies, prioritizes, and resolves issues quickly through real-time tracking and alerts. Provides insights into root causes, error trends, and areas for improvement.
3535

3636
* **Quick Tips and Sample Tooling:**
3737
* **Integrate error tracking tools:** Sentry, Rollbar, Raygun.
@@ -40,7 +40,7 @@ Here are the key practices and tools to establish a solid core infrastructure fo
4040
* **Analyze error trends:** Identify recurring issues and areas for improvement.
4141
* **Integrate error tracking with monitoring:** Correlate errors with performance metrics and logs.
4242

43-
**2.2.4 Static Code Analysis and Security Scanning:** Identifies vulnerabilities, code smells, and quality issues early in development. Enforces coding standards and improves code quality and security.
43+
**Static Code Analysis and Security Scanning:** Identifies vulnerabilities, code smells, and quality issues early in development. Enforces coding standards and improves code quality and security.
4444

4545
* **Quick Tips and Sample Tooling:**
4646
* **Run static code analysis:** SonarQube, CodeClimate, ESLint.
@@ -50,7 +50,7 @@ Here are the key practices and tools to establish a solid core infrastructure fo
5050
* **Monitor security alerts and advisories:** Stay updated on patches and vulnerabilities.
5151
* **Conduct security reviews and audits:** Penetration testing, threat modeling, security assessments.
5252

53-
**2.2.5 Environment Parity:** Maintaining consistency across development, testing, and production environments is crucial for minimizing environment-specific issues.
53+
**Environment Parity:** Maintaining consistency across development, testing, and production environments is crucial for minimizing environment-specific issues.
5454

5555
* **Key Considerations:**
5656
* **Development Environments:** Should closely mirror production to reduce integration issues.
@@ -59,30 +59,30 @@ Here are the key practices and tools to establish a solid core infrastructure fo
5959
* **Partner Integration Environments:** Dedicated environments for partners to integrate and test their systems with yours.
6060
* **Tooling:** Docker, Kubernetes, Terraform, Vagrant, CloudFormation.
6161

62-
**2.2.6 Chaos Engineering:** Introduce controlled disruptions into your systems to identify weaknesses and improve resilience.
62+
**Chaos Engineering:** Introduce controlled disruptions into your systems to identify weaknesses and improve resilience.
6363

6464
* **Key Considerations:**
6565
* **Planned Experiments:** Design experiments to target specific failure scenarios.
6666
* **Monitoring and Analysis:** Observe system behavior during experiments to identify vulnerabilities.
6767
* **Blast Radius Control:** Limit the impact of experiments to prevent widespread outages.
6868
* **Tooling:** Chaos Monkey, Gremlin, LitmusChaos.
6969

70-
**2.2.7 Ephemeral Test Environments:** Leverage containerization and automation to create and destroy test environments on demand. This ensures consistency and reduces environment maintenance overhead.
70+
**Ephemeral Test Environments:** Leverage containerization and automation to create and destroy test environments on demand. This ensures consistency and reduces environment maintenance overhead.
7171

7272
* **Key Considerations:**
7373
* **Containerization:** Docker, Kubernetes.
7474
* **Infrastructure as Code:** Terraform, Ansible, CloudFormation.
7575
* **Automated Provisioning:** Scripts and tools to automate environment creation and teardown.
7676

77-
**2.2.8 Test Data Management:** Efficiently manage test data in ephemeral environments.
77+
**Test Data Management:** Efficiently manage test data in ephemeral environments.
7878

7979
* **Key Considerations:**
8080
* **Data Generation:** Tools and techniques for generating realistic test data.
8181
* **Data Masking:** Protect sensitive data by masking or anonymizing it.
8282
* **Data Subsetting:** Create smaller, representative datasets for testing.
8383
* **Data Versioning:** Track changes to test data and revert to previous versions if needed.
8484

85-
**2.2.9 Disaster Recovery and Business Continuity:** Prepares for and responds to unexpected events, minimizing downtime and protecting critical data. Ensures system resilience and operational continuity.
85+
**Disaster Recovery and Business Continuity:** Prepares for and responds to unexpected events, minimizing downtime and protecting critical data. Ensures system resilience and operational continuity.
8686

8787
* **Quick Tips and Sample Tooling:**
8888
* **Define recovery objectives and priorities:** Identify critical systems and dependencies.

docs/culture-foundation.md

Lines changed: 50 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
# Section 1: Culture foundation - cultivating a quality culture
22

3-
The quality-oriented culture is foundation of a successful QA architecture. It
4-
is essential to establish a mindset that values quality, and creating processes
5-
that support this mindset. Build a strong foundation based on shared
6-
responsibility, open communication and a commitment to quality at all stages of
7-
development. This section will guide you through the key steps to cultivate a
8-
culture of quality in your organization.
3+
Quality-first culture isn't just a slogan; it's a fundamental way of operating where quality is integrated in every process, decision, and interaction in company. This section will guide you through the key steps to cultivate a culture of quality in your organization.
94

105
## 1.1 From "QA phase" to "Quality all the way"
116

@@ -16,7 +11,7 @@ costly reworks, bottlenecks, fixes, frustrated teams and not satisfied
1611
customers. To avoid these pitfalls, it is crucial to shift the focus from the
1712
“QA phase” to the “Quality all the way”.
1813

19-
### 1.1.1 To achieve this, consider the following
14+
### Key Points
2015

2116
- **Quality is everyone's responsibility**: All team members (developers,
2217
testers, QA, product managers, designers, etc.) should be responsible for
@@ -37,7 +32,7 @@ customers. To avoid these pitfalls, it is crucial to shift the focus from the
3732
that the product is of high quality, and you can grow confidence that you
3833
minimize the risk of defects and rework later on.
3934

40-
### 1.1.2 Practical steps
35+
### Practical Steps
4136

4237
- **Break down conventional silos** and encourage cross-functional collaboration
4338
and communication between teams.
@@ -56,7 +51,7 @@ feedback is the key to identifying problems, improving processes and supporting
5651
a culture of learning and development. Create an environment where feedback is
5752
welcomed, constructive and used to drive change.
5853

59-
### 1.2.1 To achieve this, consider the following
54+
### Key Points
6055

6156
- **Constructive feedback** should be given in constructive and respectful
6257
manner. Feedback should focus on behaviors, processes and results, not on
@@ -72,24 +67,24 @@ welcomed, constructive and used to drive change.
7267
feedback and identify areas for improvement. Regularly analyze feedback and
7368
act on it for continuous improvement.
7469

75-
### 1.2.2 Practical steps
70+
### Practical Steps
7671

7772
- **Establish clear communication channels and expectations**
7873
- Create specific ways for feedback to be given (regular meetings, online
79-
tools, dedicated time slots).
74+
tools, dedicated time slots).
8075
- Clearly communicate what kind of feedback is most valuable (actionable,
81-
specific, focused on improvement).
76+
specific, focused on improvement).
8277
- **Foster a culture of psychological safety**
8378
- Emphasize that feedback is about collective growth, not blame.
8479
- Encourage asking questions, admitting mistakes, and seeking help as positive
85-
behaviors.
80+
behaviors.
8681
- Leaders should model this by openly receiving and giving good feedback
87-
themselves.
82+
themselves.
8883
- **Close the feedback loop**
8984
- Don't let feedback disappear. Have mechanisms to track, discuss, and act on
90-
it.
85+
it.
9186
- Share outcomes with the team, so people see their input is valued and leads
92-
to change.
87+
to change.
9388

9489
## 1.3 From "Testing" to "Quality Engineering"
9590

@@ -114,7 +109,7 @@ progress and identify areas for improvement. Set clear goals, define key
114109
performance indicators (KPIs) and track metrics to monitor the health of
115110
processes and products.
116111

117-
### 1.4.1 To achieve this, consider the following
112+
### Key Points
118113

119114
- **Define clear goals**: Establish specific, measurable, achievable, relevant,
120115
and time-bound (SMART) goals for your team and projects. Ensure that everyone
@@ -150,14 +145,41 @@ processes and products.
150145
engagement, retention, and other key indicators to ensure that your products
151146
meet the needs and expectations of your users.
152147

153-
### 1.4.2 Examples of metrics
154-
155-
- **Defect density**: The number of defects found in a specific period or
156-
project.
157-
- **Test coverage**: The percentage of code covered by automated tests.
158-
- **Code churn**: The rate of change in code over time.
159-
- **Code complexity**: The complexity of the codebase, measured by cyclomatic
160-
complexity or other metrics.
161-
- **Performance metrics**: Response time, throughput, error rates and so on.
162-
- **User-centric metrics**: User satisfaction, Net Promoter Score (NPS),
163-
retention rate, and other user-focused indicators.
148+
### Examples of Metrics
149+
150+
- **Defect Density**: Number of defects found in a specific period or project.
151+
- **Test Coverage**: Percentage of code covered by automated tests.
152+
- **Code Churn**: Rate of change in code over time.
153+
- **Code Complexity**: Complexity of the codebase.
154+
- **Performance Metrics**: Response time, throughput, error rates, etc.
155+
- **User-Centric Metrics**: User satisfaction, Net Promoter Score (NPS), retention rate, etc.
156+
157+
## Leadership
158+
159+
Leadership plays a pivotal role in establishing and nurturing a quality-first culture. Leaders and QAs must not only advocate for quality, but actively embody it in their own actions. Executive sponsorship ensures that quality initiatives receive the necessary resources and prioritization to thrive.
160+
161+
### Key Points
162+
163+
- **Set the Tone from the Top**: Leaders and QAs must clearly and consistently communicate the importance of quality. This includes articulating the company's quality vision (or building it from the ground up), explaining how it connects to overall business goals, and emphasizing the impact of quality on customer satisfaction and the company's reputation.
164+
- **Provide Resources**: A commitment to quality requires investment. Allocate sufficient resources, including budget, time, tools, and personnel, to support quality initiatives. This demonstrates a tangible commitment and empowers teams to prioritize quality.
165+
- **Remove Barriers**: Identify and address any obstacles that hinder quality processes. These barriers could include bureaucratic processes, inadequate tools, lack of training, or conflicting priorities. Leaders should actively work to streamline workflows and empower teams to focus on quality.
166+
- **Lead by Example**: Actions speak louder than words. Leaders and QAs must demonstrate a personal commitment to quality in their own work and decisions. This sets a powerful example for others to follow and reinforces the importance of quality throughout the organization. Visibility in quality-related activities, such as participating in reviews, actively seeking feedback, and acknowledging mistakes, reinforces the message.
167+
168+
## Training and Education
169+
170+
A quality-first culture requires a skilled and knowledgeable workforce. Continuous learning and development are essential for equipping team members with the necessary skills and understanding to prioritize and deliver quality.
171+
172+
### Key Points
173+
174+
- **Targeted Workshops and Training Programs**: Offer regular training sessions on quality-related topics tailored to different roles and responsibilities. These could include training on quality management principles, specific quality tools and techniques (e.g., root cause analysis, statistical process control), and industry best practices.
175+
- **Professional Certifications**: Encourage and support team members in pursuing relevant industry-recognized certifications. This not only enhances their skills but also demonstrates the organization's commitment to professional development and quality excellence.
176+
- **Knowledge Sharing and Collaboration**: Foster a culture of knowledge sharing and collaboration. This can be achieved through internal presentations, mentorship programs, communities of practice, and online platforms where team members can share best practices, lessons learned, and quality-related information.
177+
178+
## Rewards and Recognition
179+
180+
Recognizing and rewarding quality-focused efforts is crucial for reinforcing desired behaviors and embedding quality into the company culture. Celebrate both individual and team accomplishments related to quality improvement.
181+
182+
### Key Points
183+
184+
- **Integrate Quality Metrics into Performance Evaluations**: Align individual and team performance evaluations with quality-related metrics. This ensures that quality is a key factor in performance assessment and reinforces its importance.
185+
- **Publicly Acknowledge and Celebrate Achievements**: Highlight quality achievements through shout-outs in company-wide communications. Public recognition not only celebrates success but also inspires others to strive for excellence. Sharing success stories and best practices can further amplify the impact.

0 commit comments

Comments
 (0)