20/09/2019 #AgileTourSophia (par @AgileTourSophia) 1
Clément DUFFAU
Agile Tour Sophia Antipolis
9ème édition – 20 septembre 2019
Quality Assurance ?
The devs nightmare ?
Really ... ?
20/09/2019 #AgileTourSophia (par @AgileTourSophia) 2
Merci aux Sponsors !
3
ABOUT STACK LABS
+20 passionate tech
experts
Cloud & Big data pure
player
We invest in R&D & tech
watch
We pitch & train on tech
topics
Our cloud partners :
+20 projects in cloud & massive
processing context
4
Clément DUFFAU
PhD., Lead DevOps
@clement0210
clement.duffau@stack-labs.com
Automation, verification & validation,
assurance quality, safety
About me !
5
Quality
Assurance
≠
Testing
6
Quality Assurance (QA)
7
QA : critical domains example
Standards
Internal practices
Regulatory
authority
Company’s
experts
3. produce
1. produces
4. reviews
2. contextualize
5. develop
Product
6. V&V
Deliverable product
7. audits
certified
QA
QA
QA
QA
8
QA process about testing
9
Summary
Relationships between QA, Testers and Devs
Methodologies, tools and mindset to overcome difficulties
Feedbacks based on my own experience
10
Devs want … code
Testers want … bugs
QA wants … documents
11
How to bring
value together ?
12
Devs and Testers relationship
13
QA and Devs relationship
14
Root cause analysis - Feedbacks from colleagues
“Testing/QA? Not part of my job description …” ⇒ Mindset issue
“No budget to test” ⇒ Short-term vision issue
“Specs are blurry, we don’t understand what we need to test/document!” ⇒ Process issue
“Testing is a bottomless pit” ⇒ Tools issue
15
Mindset
16
Agile development
17
DevOps
18
Specifications
19
Specifications need to be S.M.A.R.T !
20
● Integrate all the stakeholders
○ Not just a matter for Product/Business Owner
○ From Devs to Ops issue
○ Need to be understood by everyone before
● Studies show the importance to reduce to a specific dictionary the usable words to write requirements¹
○ Eliminate synonym (Fog)
○ Focus on business tag words
○ Reduce linking keywords
● Use semantic analysis tools (SEMIOS², …) to reduce redundancy and ambiguity in a set of requirements
1: Linguistique et Exigences, Anne Condamines, Maxime Warnier (2018)
2: Industrial Requirements Classification for Redundancy and Inconsistency Detection in SEMIOS, Manel Mezghani, Juyeon Kang, Florence Sèdes (2018)
Specifications : tips, tools and feedbacks
21
Specifications : tips, tools and feedbacks
● Use requirements as the baseline to refine in task development,
test case, requirement coverage, …
● Use an issue manager to trace requirements AND the refining link
to task development, test case, …
Application of Graph Theory to Requirements Traceability, Sam Brown
22
Design &
Development
23
Tooling the code !
● Code is the starting point for :
○ Testing ⇒ coverage of unit test
○ QA ⇒ Code review documents, code quality metrics
● Versioning is not just about storing code
○ Traceability
○ Trigger tools
○ Documentation
⇒ Use it to store what devs need and trace back what others need
● Long manual tasks executed twice ⇒ Automation
24
Architecture Decision Records (ADR)
https://blog.stack-labs.com/code/adr-to-rememb
er-past-archiectural-decisions/
25
Design/Development : tips, tools and feedbacks
● Write Architectural Decision Record linked to requirements and store it with the code
● Define a commit message convention ¹
● Annotate the unit tests with requirements
● Continuous Integration tools cans report KPI (code coverage by tests, code quality, …)
● Store code review minutes in Wiki pages
1 : https://blog.stack-labs.com/code/git_perfect_commit_message/
26
Testing
27
A blurry border in Verification & Validation
Verification ⇒ Develop A good product
Validation ⇒ Develop THE good product
Testing is not about doing all V&V activities , it is about functional ! Dev is part of the business with V&V !
28
Testing : tips, tools and feedbacks
● Integrate Testing unit in the daily meetings/iteration retrospective of the dev team(s)
● Mix the testing teams with functional background and technical background ¹
● Keep an automation engineer in the testing team
● Trace your activities in a dedicated tools (Jazz, XRay)
1: https://blog.stack-labs.com/code/why_writing_tests/
29
Testing : tips, tools and feedbacks
● Use testing framework to bridge the gap with the dev team(s) (Cucumber, …) or develop our own (Domain Specific
Languages)
● Use our own templates to report bugs
● Create synergy between dev teams
● Avoid global meetings when tools do the stuff
○ (ex : bug reviews to prioritize them → Priority in the dedicated field on the issue tracker + mails)
30
Quality
Assurance
31
QA tsunami
Standards
Internal practices
Regulatory
authority
Company’s
experts
3. produce
1. produces
4. reviews
2. contextualize
5. develop
Product
6. V&V
Deliverable product
7. audits
certified
DevOps
QA
QA
QA
QA
32
Justification Diagram
● From interlated textual QA documentation to graph
visualization ¹
● State of the art completeness mechanism ²
● Analysis of impact of changes
1. Validation, accreditation or certification: a new kind of diagram to
provide, Thomas Polacsek (2016)
2. Justification Factory: de l'élicitation d'exigences de justification
jusqu'à leur production en continu, Clément Duffau (2018)
33
QA : tips, tools and feedbacks
● Study different tools for Quality Management System (QMS) (Windchill, …)
● Do not use QMS as a day-to-day tool for testing and dev team
● Integrate others stakeholders in the definition of QA process
● Risk management must be iterative
● Propose documents template to testers and devs
● Automate retrieving artifacts from delivery process from testing and dev tools as much as possible
34
How is in charge ?
Need teams guru to lead these transversal topics to :
● Contextualize the good practices
● Set process and tools
● Automate a step further the state of the art
● Follow activities in daily basis these topics
● Interact with other gurus
35
No pain, no gain!
36
Application in a Medical Technologies company
37
Testing activities automation
38
Continuous Integration integrated QA
Towards embedded system agile development challenging
verification, validation and accreditation: Application in a
healthcare company, Clément Duffau, Bartosz Grabiec, Mireille
Blay-Fornarino (2017)
39
Feedbacks
● 4 years and 3 projects to migrate from V cycle to Agile with QA
● 20% of testing activities automation → 96%
● 40% of QA document not conformed → 10%
● A lot of issues around
○ Agile culture
○ Blurry border on V&V
○ QA tsunami
● Success comes from (my opinion)
○ Firing (not joking …)
○ Create tools and interactions between devs, testing and QA
○ Gamify the QA inside devs and testing team
40
Do not automate utopia !
41
THANKS!
Agile Tour Sophia 2019
Quality Assurance ?
The devs nightmare ?
Really ... ?

Quality Assurance? The devs nightmare? Really ...?

  • 1.
    20/09/2019 #AgileTourSophia (par@AgileTourSophia) 1 Clément DUFFAU Agile Tour Sophia Antipolis 9ème édition – 20 septembre 2019 Quality Assurance ? The devs nightmare ? Really ... ?
  • 2.
    20/09/2019 #AgileTourSophia (par@AgileTourSophia) 2 Merci aux Sponsors !
  • 3.
    3 ABOUT STACK LABS +20passionate tech experts Cloud & Big data pure player We invest in R&D & tech watch We pitch & train on tech topics Our cloud partners : +20 projects in cloud & massive processing context
  • 4.
    4 Clément DUFFAU PhD., LeadDevOps @clement0210 clement.duffau@stack-labs.com Automation, verification & validation, assurance quality, safety About me !
  • 5.
  • 6.
  • 7.
    7 QA : criticaldomains example Standards Internal practices Regulatory authority Company’s experts 3. produce 1. produces 4. reviews 2. contextualize 5. develop Product 6. V&V Deliverable product 7. audits certified QA QA QA QA
  • 8.
  • 9.
    9 Summary Relationships between QA,Testers and Devs Methodologies, tools and mindset to overcome difficulties Feedbacks based on my own experience
  • 10.
    10 Devs want …code Testers want … bugs QA wants … documents
  • 11.
  • 12.
    12 Devs and Testersrelationship
  • 13.
    13 QA and Devsrelationship
  • 14.
    14 Root cause analysis- Feedbacks from colleagues “Testing/QA? Not part of my job description …” ⇒ Mindset issue “No budget to test” ⇒ Short-term vision issue “Specs are blurry, we don’t understand what we need to test/document!” ⇒ Process issue “Testing is a bottomless pit” ⇒ Tools issue
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
    20 ● Integrate allthe stakeholders ○ Not just a matter for Product/Business Owner ○ From Devs to Ops issue ○ Need to be understood by everyone before ● Studies show the importance to reduce to a specific dictionary the usable words to write requirements¹ ○ Eliminate synonym (Fog) ○ Focus on business tag words ○ Reduce linking keywords ● Use semantic analysis tools (SEMIOS², …) to reduce redundancy and ambiguity in a set of requirements 1: Linguistique et Exigences, Anne Condamines, Maxime Warnier (2018) 2: Industrial Requirements Classification for Redundancy and Inconsistency Detection in SEMIOS, Manel Mezghani, Juyeon Kang, Florence Sèdes (2018) Specifications : tips, tools and feedbacks
  • 21.
    21 Specifications : tips,tools and feedbacks ● Use requirements as the baseline to refine in task development, test case, requirement coverage, … ● Use an issue manager to trace requirements AND the refining link to task development, test case, … Application of Graph Theory to Requirements Traceability, Sam Brown
  • 22.
  • 23.
    23 Tooling the code! ● Code is the starting point for : ○ Testing ⇒ coverage of unit test ○ QA ⇒ Code review documents, code quality metrics ● Versioning is not just about storing code ○ Traceability ○ Trigger tools ○ Documentation ⇒ Use it to store what devs need and trace back what others need ● Long manual tasks executed twice ⇒ Automation
  • 24.
    24 Architecture Decision Records(ADR) https://blog.stack-labs.com/code/adr-to-rememb er-past-archiectural-decisions/
  • 25.
    25 Design/Development : tips,tools and feedbacks ● Write Architectural Decision Record linked to requirements and store it with the code ● Define a commit message convention ¹ ● Annotate the unit tests with requirements ● Continuous Integration tools cans report KPI (code coverage by tests, code quality, …) ● Store code review minutes in Wiki pages 1 : https://blog.stack-labs.com/code/git_perfect_commit_message/
  • 26.
  • 27.
    27 A blurry borderin Verification & Validation Verification ⇒ Develop A good product Validation ⇒ Develop THE good product Testing is not about doing all V&V activities , it is about functional ! Dev is part of the business with V&V !
  • 28.
    28 Testing : tips,tools and feedbacks ● Integrate Testing unit in the daily meetings/iteration retrospective of the dev team(s) ● Mix the testing teams with functional background and technical background ¹ ● Keep an automation engineer in the testing team ● Trace your activities in a dedicated tools (Jazz, XRay) 1: https://blog.stack-labs.com/code/why_writing_tests/
  • 29.
    29 Testing : tips,tools and feedbacks ● Use testing framework to bridge the gap with the dev team(s) (Cucumber, …) or develop our own (Domain Specific Languages) ● Use our own templates to report bugs ● Create synergy between dev teams ● Avoid global meetings when tools do the stuff ○ (ex : bug reviews to prioritize them → Priority in the dedicated field on the issue tracker + mails)
  • 30.
  • 31.
    31 QA tsunami Standards Internal practices Regulatory authority Company’s experts 3.produce 1. produces 4. reviews 2. contextualize 5. develop Product 6. V&V Deliverable product 7. audits certified DevOps QA QA QA QA
  • 32.
    32 Justification Diagram ● Frominterlated textual QA documentation to graph visualization ¹ ● State of the art completeness mechanism ² ● Analysis of impact of changes 1. Validation, accreditation or certification: a new kind of diagram to provide, Thomas Polacsek (2016) 2. Justification Factory: de l'élicitation d'exigences de justification jusqu'à leur production en continu, Clément Duffau (2018)
  • 33.
    33 QA : tips,tools and feedbacks ● Study different tools for Quality Management System (QMS) (Windchill, …) ● Do not use QMS as a day-to-day tool for testing and dev team ● Integrate others stakeholders in the definition of QA process ● Risk management must be iterative ● Propose documents template to testers and devs ● Automate retrieving artifacts from delivery process from testing and dev tools as much as possible
  • 34.
    34 How is incharge ? Need teams guru to lead these transversal topics to : ● Contextualize the good practices ● Set process and tools ● Automate a step further the state of the art ● Follow activities in daily basis these topics ● Interact with other gurus
  • 35.
  • 36.
    36 Application in aMedical Technologies company
  • 37.
  • 38.
    38 Continuous Integration integratedQA Towards embedded system agile development challenging verification, validation and accreditation: Application in a healthcare company, Clément Duffau, Bartosz Grabiec, Mireille Blay-Fornarino (2017)
  • 39.
    39 Feedbacks ● 4 yearsand 3 projects to migrate from V cycle to Agile with QA ● 20% of testing activities automation → 96% ● 40% of QA document not conformed → 10% ● A lot of issues around ○ Agile culture ○ Blurry border on V&V ○ QA tsunami ● Success comes from (my opinion) ○ Firing (not joking …) ○ Create tools and interactions between devs, testing and QA ○ Gamify the QA inside devs and testing team
  • 40.
  • 41.
  • 42.
    Agile Tour Sophia2019 Quality Assurance ? The devs nightmare ? Really ... ?