Top Banner
The 3C Approach for Agile Quality Assurance Continuous Integration, Continuous Measurement, Continuous Improvement André Janus André Janus – IT Consulting Karlsruhe; University of Magdeburg Reiner R. Dumke University of Magdeburg Andreas Schmietendorf Berlin School of Economics and Law (HWR Berlin) Jens Jäger Jens Jäger Consulting Sindelfingen ICSE 2012, Zürich 3rd International Workshop on Emerging Trends in Software Metrics (WETSoM 2012)
26

The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

Apr 02, 2018

Download

Documents

doanhanh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

The 3C Approach for Agile Quality AssuranceContinuous Integration, Continuous Measurement, Continuous Improvement

André JanusAndré Janus – IT Consulting Karlsruhe; University of Magdeburg

Reiner R. DumkeUniversity of Magdeburg

Andreas SchmietendorfBerlin School of Economics and Law (HWR Berlin)

Jens JägerJens Jäger Consulting Sindelfingen

ICSE 2012, Zürich3rd International Workshop on Emerging Trends in Software Metrics (WETSoM 2012)

Page 2: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

2

About me

● Jens Jäger

● Freelance IT Consultant

● Java, Ruby, Javascript, Web,...

● Agile methods

Page 3: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

3

Agenda

● Motivation & Goal

● Project Context● Traditional and Agile Measurement & Metrics

● Continous Integration● Continous Measurement● Continous Improvement

● Conclusion & Outlook

Page 4: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

4

Motivation

Contradiction?Traditional Measurement

Independent from Process Model!

Integration of Metrics in Agile Processes?

Page 5: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

5

Goal

● looking for: Agile Quality Assurance● Metrics-based● Embedded in Agile Process

● Solution: 3C-Approach● Agile Practice: Continous Integration

● Enhanced with Continous Measurement● Enhanced with Continous Improvement

Page 6: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

6

Project Context

● Project „IBIS“ (within project cluster I2)

● T-Systems, Systems Integration

● Agile Process Model I2 (based on XP)

● Industrial Context: Automotive

● Technology Context:● Web-Technology● Distributed Systems (EAI)

● Project-/Product-State● Evolution (new features)● Maintenance (bugfixing)● so-called „Brownfield-Project“

Page 7: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

7

Project Context

● Internal Software Quality?● partly in need for improvement!

● Causes● Missing Quality Rules● Time & Budget Pressure● Missing QA-KnowHow● Missing QA-Tools● „out-dated“ Source Code

(based on Java 1.3)

Qualität

Resourcequality

Process quality

Product

quality

ISO 25000

Page 8: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

8

Traditonal and Agile Measurement & Metrics

● Traditional Metrics● LOC● CK-Metrics● Comments Density● Duplicated Code● Code-Style-Violations ● Design-Rule-Violations

● Agile Metrics● Number of Broken Builds/Number-Of-Failed-Integrations

● Process-Metric/Quality-Constraint● Broken Build = found bug● Dysfunctional effects: use as KPI● Problem: Infrastructur

Checkstyle PMD

Page 9: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

9

Number-of-Broken-Builds

Page 10: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

10

Agile Metrics

● Number of Tests

● Test Growth Ratio● Better than number of Tests for Brownfield-Projects● testGrowthRatio = ΔsourceCode / Δ#Testswith (usually)ΔsourceCode ≥0Δ#tests ≥ 0

● Test-Coverage● C0-Line-Coverage● C1-Branch-Coverage● testCoverage = codeCoveredByTests / completeCode with 0 ≤ testCoverage ≤ 1

Cobertura

Page 11: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

11

Test-Coverage

Page 12: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

12

Cultural Break

● Germany's autobahn network has a total length of about 12,800 km (7,953 Miles)

● Which ranks as the fifth-longest in the world

● There is no speed limit on german autobahn

Page 13: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

13

Stuttgart – Boarder: 150Km - 1hour

Page 14: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

14

Border – Zürich: 50Km - 1hour

Page 15: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

15

Continous Integration

● Continuous Integration of Source Code in Code-Base● Continuous Integration → Automatization → CI Engines● Code-Base → VCS (Version Control System)● Successfull Integration =

● No Compile Errors● No Test Failures (Regression Tests)

● Procedure in case of Broken Build: Fixing is highest priority for the team

● Quality Aspects● Tests → external Quality● (Metrics → internal Quality)

Page 16: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

16

Continous Integration

Reviews

Pair Programming

IDE

Coding Standards

Refactorings

Continous Integration

Q-Gate

Version Control System

Q-Gate

Q-Gate

Testing

Dynamic Code-Checks

Page 17: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

17

Continous Measurement

● Generation of Reports through CI-Engine● Total Lines (Java)● Effective Lines (Java)● Total Lines (JSP)● JUnit Tests● Checkstyle error/warning/info● Findbugs Prio 1/2/3● PMD Prio 1/2/3

Page 18: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

18

Continous Measurement

Page 19: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

19

Continous Measurement

Reviews

Pair Programming

IDE

Coding Standards

Refactorings

Continous Integration

ReportsQ-Gate

Version Control SystemQ-Gate

Q-Gate

Findbugs

Checkstyle

PMD

Testing

Static Code-ChecksDynamic Code-ChecksReports

Compile- and Build Results

LOC and other Metrics

Test Coverage

Continous Measurement

Page 20: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

20

Continous Improvement

● Manual Interpretation of the Reports● Deduction of Improvement Steps

● Changes to Coding Standards / Coding Style Guide● Plan Refactorings● Set new thresholds (Tools)→ Break-off criteria for CI

● Completion through Quality-Manager● Plan under consideration of functional evolution and

budget● Use of the GQM (Goal-Question-Metric)-Approach

Page 21: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

21

Continous Improvement

Which bugs may be dectetec before going to Production?

Reduction of Bugs in ProductionBugs found by Findbugs

Findbugs Priority 1 Bugs

CI-Engine (Cont. Measurement)

CI-Engine (Cont. Improvement)

Page 22: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

22

Continous Improvement

Reviews

Pair Programming

IDE

Coding Standards

Refactorings

Continous Integration

ReportsQ-Gate

Quality Manager

Version Control SystemQ-Gate

Q-Gate

Q-Gate

Findbugs

Checkstyle

PMD

Testing

Static Code-Checks Dynamic Code-Checks Reports

Compile- and Build Results

LOC and other Metrics

Test Coverage

Continous Measurement

Continous Improvement

manualautomated

Page 23: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

23

Conclusion

● Advantages of the Measurement Process● Changes to the Metrics / Code Quality over time

● Advantages of the Improvement Process ● Not only selective improvements...● ...but preservation through automated Q-Gates

● Combination of agile and (traditional) Metrics● Agile Practice Continous Integration as Base

● Infrastructur for Continous Measurement● Starting Point for Continous Improvement

Page 24: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

24

Outlook

● Challenges● Analyzation of Metrics● Deduction of Improvement Steps● Setting of thresholds

● Further consideration of context● Evolution and Maintenance

● in Agile Processes● in Measurement Process

● New Agile Practices?● New Agile Metrics?● Adjustment of existing Agile Practices?

Page 25: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

25

Extreme Feedback Device

Quality-Manager: Batman-Shirt!

Shows off if Continous Integration is broken

Page 26: The 3C Approach for Agile Quality Assurance - … 3C Approach for Agile Quality Assurance ... Missing QA-Tools ... Combination of agile and (traditional) MetricsAuthors: Andre Janus

26

Questions/Feedback?

● Contact me● Email: [email protected]● Blog: jensjaeger.com

● Build our own Batman lamp: http://www.jensjaeger.com/2010/04/extreme-feedback-device-the-batman-lamp/