SlideShare a Scribd company logo
1 of 31
Gabriel de Souza Pereira Moreira - ITA
Roberto Pepato Mellado – ITA
Robson Luis Monteiro Júnior - ITA
Prof. Adilson Marques da Cunha - ITA
Prof. Luiz Alberto Vieira Dias - ITA
 Introduction
 Case Study
 METACOM
 Results
 Limitations
 Conclusion
2ITA - Instituto Tecnológico da Aeronáutica
 On the last decade, a growing interest on
agile methods for software construction from
both industry and academy has arisen. [Dyba
et al. 2008][Hanssen et al. 2010]
 Extreme Programming (XP) is one of
established agile methods, has defined sets
of values, principles, and practices. [Beck
2009]
3ITA - Instituto Tecnológico da Aeronáutica
 Lehman defines the law of increasing
entropy. He explains that, by a number of
factors, a programming system undergoes
never-ending maintenance. [Lehman et al. 1985]
 Recent works have conducted studies of
quality evolution metrics in agile developed
systems. [Capiluppi 2007]
4ITA - Instituto Tecnológico da Aeronáutica
XP Practices Project A Project B Project C
Sit Together X X
Informative Workspace X
Energized Work X X
Pair Programming X
Stories X
Weekly Cycle
Quarterly Cycle X X X
Slack X
Ten-Minute Build X
Continuous Integration X
Test-First Programming X
Incremental Design X X
Refactoring X X
5ITA - Instituto Tecnológico da Aeronáutica
Radar Chart is a visual indicator of XP
practices adoption. It is composed of five
axes, representing the dimensions of an
XP implementation: programming,
planning, customer, pairing and team.
[Wake 2000]
6ITA - Instituto Tecnológico da Aeronáutica
 Metrics help software engineers to gain
perception in the construction of products
that they develop [Pressman 2009].
 Previous works had proposed metrics for
tracking aspects like size, complexity,
coupling, and cohesion within object oriented
(OO) systems. [Chidamber 1994] , [Martin 1994]
7ITA - Instituto Tecnológico da Aeronáutica
 Lines of Code (LoC) - Number of valid class lines of
code (excluding comments and blank lines);
 Afferent Coupling (AC) - Number of classes directly
dependent on the class under analysis;
 Efferent Coupling (EC) - Number of classes that the
class under analysis directly depends on;
 Association Between Classes (ABC) - Number of
members of others classes that the class under
analysis directly uses in the body of its methods;
 Cyclomatic Complexity (CC) - Number of execution
paths of a class; and
 Methods per Class (MPC) - Number of methods of a
class under analysis.
8ITA - Instituto Tecnológico da Aeronáutica
 Three Brazilian industry projects: Project A,
B, and Project C.
 Company process evolution: Ad-hoc, RUP,
Agile
 Common complaint: lack of quality built in
9ITA - Instituto Tecnológico da Aeronáutica
Project A B C
Platform Web Web Console
Programming Language C# 2.0 C# 2.0 C# 3.5
Development Start 08/2008 08/2009 07/2010
Number of Use Cases 103 93 N/A
Revision Count a 2997 1358 453
Distinct Developers 20 8 8
Defects, Errors and Failures detected by testers and end users 1387 313 N/A
Total LoC 97488 70735 36202
LoC without comments and blank lines 51017 33644 15523
Types (classes, interfaces, structs) 297 407 238
Assemblies b 23 10 6
10ITA - Instituto Tecnológico da Aeronáutica
a. Revision – Identifier of a change set in the source code, sent from the developers local copy to a Version Control System repository,
through a commit or check-in operation.
b. Assembly – Software binary component in .NET platform, generally an executable file or Dynamic Linked Library (DLL).
 It was used just one XP practice.The
requirements analysis, documentation, and
system design were conducted in the
beginning of the project, and were not
revised during the construction phase.
 The team had about 10 developers directly
engaged in the project. Because of the high
turnover rate, 20 different professionals have
participated in the system implementation
ITA - Instituto Tecnológico da Aeronáutica 11
 They worked distributed in two adjacent rooms,
led by a technical leader which gave directions
for the whole team.
 Developers were expected to implement code as
modeled by designers in UML case tools.
Usually, design models became out of date in
relation to source code.
 There were not any kind of automated tests, so
all regression tests were manually made by a
testing team. Refactoring was totally
discouraged, because of the risk of new defects
due to changes.
ITA - Instituto Tecnológico da Aeronáutica 12
 The requirements analysis and
documentation were performed at the
elaboration phase, the system design wasn’t
entirely ready at this phase.
 Therefore, few units and integration tests
were automated and, thus, refactoring
practices were not very much used.
ITA - Instituto Tecnológico da Aeronáutica 13
 Average of 4 developers.
 Team was placed in the same room.
 The software product of Project B was 34%
shorter than Project A, in terms of C# Lines of
Code (LoC), without comments and blank
lines.
 Project B had 78% less defects detected by
test team and by end users than Project A.
 In this project, a framework was produced
and successfully reused in other four projects.
ITA - Instituto Tecnológico da Aeronáutica 14
 A higher number of agile engineering
practices were applied in its development.
 The team was comprised of four developers
on average.
 In this project, some concepts of Scrum
[Schwaber 2009] and XP frameworks were
applied.
 Average of 4 developers.
 There was no Project Manager working with
the team.
ITA - Instituto Tecnológico da Aeronáutica 15
 The Scrum Master responsibilities were spread
on the team.
 The team felt that lack of a dedicated Scrum
Master allowed too much external interferences
on sprint objectives, which impacted the auto-
organization, productivity and motivation of the
team.
 All stories were organized in kanban, a
mechanism for pull systems that provides
updated process visibility [Poppendieck 2003].
ITA - Instituto Tecnológico da Aeronáutica 16
 Product quality was always the main focus of
the team, and effort was dedicated to
mitigate technical debts.
 The team applied extensively agile practices
likeTest Driven Development (TDD),
refactoring, incremental design, and
continuous integration.
 The project C used the principle of test-first
programming, which generated 315 unit tests
and 87% of code coverage.
ITA - Instituto Tecnológico da Aeronáutica 17
 Step 1 – Revisions
Checkout
 Step 2 – Build
 Step 3 – Static Analysis
 Step 4 – Data
Transformation and
Load
18ITA - Instituto Tecnológico da Aeronáutica
ITA - Instituto Tecnológico da Aeronáutica 19
From left to right, Project A, B and C
ITA - Instituto Tecnológico da Aeronáutica 20
ITA - Instituto Tecnológico da Aeronáutica 21
ITA - Instituto Tecnológico da Aeronáutica 22
From left to right, Project A, B and C
ITA - Instituto Tecnológico da Aeronáutica 23
From left to right, Project A, B and C
ITA - Instituto Tecnológico da Aeronáutica 24
From left to right, Project A, B and C
 The analysis conducted in this paper has used
historical measures fromVersion Control System
(VCS) revisions.
 As it was not guaranteed that each day a new
revision is committed, there weren’t measures
for all days during project development.This
could add bias on charts time series analysis.
 The software product quality metrics analyzed in
this work were observed in isolation.
25ITA - Instituto Tecnológico da Aeronáutica
 Other variables that could cause impact on
projects like schedule pressures, resources
availability, team and management turnover,
marketing moment, team engagement
among others, could not be controlled in this
investigation of past projects.
ITA - Instituto Tecnológico da Aeronáutica 26
 In this investigation it was conducted an
investigation of three different software
development projects history.
 Company has incorporated agile practices in
its projects, in special the ones proposed by
XP.
 A subjective analysis of XP practices usage in
projects was performed by the use of XP
Radar chart assessment [Ware 2000].
ITA - Instituto Tecnológico da Aeronáutica 27
 The major findings of this investigation pointed
out that the average class measures for:
 Size (LoC and MPC); complexity (CC); and coupling
(ABC) were reduced in projects which have been
applying more XP practices.
 Coupling metrics of AfferentCoupling (AC) and
EfferentCoupling (EC) were low affected by XP
practices usage in this investigation.
 Based on previous studies, experience, and consensus
of the involved development teams, authors believe
that XP practices lead to improved product quality in
the analyzed projects.
ITA - Instituto Tecnológico da Aeronáutica 28
 Analyse measures under other functions
(max,min,std. Dev.)
 Analyse measures in different levels
(packages, classes)
 Identify entropy increase
ITA - Instituto Tecnológico da Aeronáutica 29
ITA - Instituto Tecnológico da Aeronáutica 30
 Moreira, G. S. P., Mellado, R. P., Montini, D. A., Dias, L. A.V.,
Cunha, A. M. “Software Product Measurement and Analysis in a
Continuous Integration Environment”, ITNG, Abril 2010, Las
Vegas, NE, EUA
 Moreira, G. S. P., Mellado, R. P., Dias, L. A.V., Cunha, A. M.
“METACOM - Um Método para Análise de Correlação entre
Métricas de Produto de Software eVolume de
Manutenção”, SBQS 2011, Jun. 2011, Curitiba, PR
http://workingsweng.wordpress.com
19 e 20 de Agosto de 2011
http://www.agilevale.com.br/
@agilevale
#agilevale

More Related Content

What's hot

Software Product Measurement and Analysis in a Continuous Integration Environ...
Software Product Measurement and Analysis in a Continuous Integration Environ...Software Product Measurement and Analysis in a Continuous Integration Environ...
Software Product Measurement and Analysis in a Continuous Integration Environ...Gabriel Moreira
 
Software Engineering MCQs
Software Engineering MCQsSoftware Engineering MCQs
Software Engineering MCQsGurpreet singh
 
Software engineering mca
Software engineering mcaSoftware engineering mca
Software engineering mcaAman Adhikari
 
A controlled experiment in assessing and estimating software maintenance tasks
A controlled experiment in assessing and estimating software maintenance tasks A controlled experiment in assessing and estimating software maintenance tasks
A controlled experiment in assessing and estimating software maintenance tasks sadique_ghitm
 
Specification-based Verification of Incomplete Programs
Specification-based Verification of Incomplete ProgramsSpecification-based Verification of Incomplete Programs
Specification-based Verification of Incomplete ProgramsIDES Editor
 
Final thesis: Technological maturity of future energy systems
Final thesis: Technological maturity of future energy systemsFinal thesis: Technological maturity of future energy systems
Final thesis: Technological maturity of future energy systemsNina Kallio
 
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...IRJET Journal
 
A suite of tools for technology assessment
A suite of tools for technology assessmentA suite of tools for technology assessment
A suite of tools for technology assessmentNitish Mahajan
 
Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Gurpreet singh
 
Software project management
Software project managementSoftware project management
Software project managementSaumya Sahu
 
Cross-project defect prediction
Cross-project defect predictionCross-project defect prediction
Cross-project defect predictionThomas Zimmermann
 
Tammy Clark Resume - Final
Tammy Clark Resume - FinalTammy Clark Resume - Final
Tammy Clark Resume - FinalTammy Clark
 
SE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELSSE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELSAbrar ali
 
Open-Do - Initial concepts and idea
Open-Do - Initial concepts and ideaOpen-Do - Initial concepts and idea
Open-Do - Initial concepts and ideaAdaCore
 
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...Feng Zhang
 
Experiences in shift left test approach
Experiences in shift left test approachExperiences in shift left test approach
Experiences in shift left test approachJournal Papers
 

What's hot (20)

Software Product Measurement and Analysis in a Continuous Integration Environ...
Software Product Measurement and Analysis in a Continuous Integration Environ...Software Product Measurement and Analysis in a Continuous Integration Environ...
Software Product Measurement and Analysis in a Continuous Integration Environ...
 
Software Engineering MCQs
Software Engineering MCQsSoftware Engineering MCQs
Software Engineering MCQs
 
Software engineering mca
Software engineering mcaSoftware engineering mca
Software engineering mca
 
A controlled experiment in assessing and estimating software maintenance tasks
A controlled experiment in assessing and estimating software maintenance tasks A controlled experiment in assessing and estimating software maintenance tasks
A controlled experiment in assessing and estimating software maintenance tasks
 
Specification-based Verification of Incomplete Programs
Specification-based Verification of Incomplete ProgramsSpecification-based Verification of Incomplete Programs
Specification-based Verification of Incomplete Programs
 
Final thesis: Technological maturity of future energy systems
Final thesis: Technological maturity of future energy systemsFinal thesis: Technological maturity of future energy systems
Final thesis: Technological maturity of future energy systems
 
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...
 
A suite of tools for technology assessment
A suite of tools for technology assessmentA suite of tools for technology assessment
A suite of tools for technology assessment
 
Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3
 
Web Testing
Web TestingWeb Testing
Web Testing
 
Software project management
Software project managementSoftware project management
Software project management
 
Cross-project defect prediction
Cross-project defect predictionCross-project defect prediction
Cross-project defect prediction
 
Technology Readiness
Technology ReadinessTechnology Readiness
Technology Readiness
 
IWSM2014 COSMIC masterclass part 2 - Dealing with NFR (Chris Woodward)
IWSM2014   COSMIC masterclass part 2 - Dealing with NFR (Chris Woodward)IWSM2014   COSMIC masterclass part 2 - Dealing with NFR (Chris Woodward)
IWSM2014 COSMIC masterclass part 2 - Dealing with NFR (Chris Woodward)
 
Tammy Clark Resume - Final
Tammy Clark Resume - FinalTammy Clark Resume - Final
Tammy Clark Resume - Final
 
SE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELSSE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELS
 
Trl and value chain
Trl and value chainTrl and value chain
Trl and value chain
 
Open-Do - Initial concepts and idea
Open-Do - Initial concepts and ideaOpen-Do - Initial concepts and idea
Open-Do - Initial concepts and idea
 
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
 
Experiences in shift left test approach
Experiences in shift left test approachExperiences in shift left test approach
Experiences in shift left test approach
 

Similar to An investigation of extreme programming practices and its impact on software quality metrics

IRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation TechniquesIRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation TechniquesIRJET Journal
 
Software Project Planning 1
Software Project Planning 1Software Project Planning 1
Software Project Planning 1Gagan Deep
 
Software Process Models
 Software Process Models  Software Process Models
Software Process Models MohsinAli773
 
SPS IPC Drives 2015 - Itris Automation paper
SPS IPC Drives 2015 - Itris Automation paperSPS IPC Drives 2015 - Itris Automation paper
SPS IPC Drives 2015 - Itris Automation paperItris Automation Square
 
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINALJun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINALAlex Tarra
 
DevOps CI Automation Continuous Integration
DevOps CI Automation Continuous IntegrationDevOps CI Automation Continuous Integration
DevOps CI Automation Continuous IntegrationIRJET Journal
 
Cocomo ( cot constrictive model) and capability maturity model
Cocomo ( cot constrictive model) and capability maturity modelCocomo ( cot constrictive model) and capability maturity model
Cocomo ( cot constrictive model) and capability maturity modelPrakash Poudel
 
IRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous DeliveryIRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous DeliveryIRJET Journal
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710Nikhil Todkar
 
Michael_Joshua_Validation
Michael_Joshua_ValidationMichael_Joshua_Validation
Michael_Joshua_ValidationMichaelJoshua
 
COCOMO Model For Effort Estimation
COCOMO Model For Effort EstimationCOCOMO Model For Effort Estimation
COCOMO Model For Effort Estimationgrandhiprasuna
 
COCOMO methods for software size estimation
COCOMO methods for software size estimationCOCOMO methods for software size estimation
COCOMO methods for software size estimationPramod Parajuli
 
Wait for it: identifying “On-Hold” self-admitted technical debt
Wait for it: identifying “On-Hold” self-admitted technical debtWait for it: identifying “On-Hold” self-admitted technical debt
Wait for it: identifying “On-Hold” self-admitted technical debtRungrojMaipradit1
 
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISONSTATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISONijseajournal
 
Using formal methods in Industrial Software Development
Using formal methods in Industrial Software DevelopmentUsing formal methods in Industrial Software Development
Using formal methods in Industrial Software DevelopmentRobert van Lieshout
 

Similar to An investigation of extreme programming practices and its impact on software quality metrics (20)

IRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation TechniquesIRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation Techniques
 
Software Project Planning 1
Software Project Planning 1Software Project Planning 1
Software Project Planning 1
 
Software Process Models
 Software Process Models  Software Process Models
Software Process Models
 
SPS IPC Drives 2015 - Itris Automation paper
SPS IPC Drives 2015 - Itris Automation paperSPS IPC Drives 2015 - Itris Automation paper
SPS IPC Drives 2015 - Itris Automation paper
 
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINALJun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
 
DevOps CI Automation Continuous Integration
DevOps CI Automation Continuous IntegrationDevOps CI Automation Continuous Integration
DevOps CI Automation Continuous Integration
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Cocomo ( cot constrictive model) and capability maturity model
Cocomo ( cot constrictive model) and capability maturity modelCocomo ( cot constrictive model) and capability maturity model
Cocomo ( cot constrictive model) and capability maturity model
 
IRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous DeliveryIRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous Delivery
 
Costing ass4
Costing ass4Costing ass4
Costing ass4
 
COCOMO model
COCOMO modelCOCOMO model
COCOMO model
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
 
COCOMO Model By Dr. B. J. Mohite
COCOMO Model By Dr. B. J. MohiteCOCOMO Model By Dr. B. J. Mohite
COCOMO Model By Dr. B. J. Mohite
 
Spm unit1
Spm unit1Spm unit1
Spm unit1
 
Michael_Joshua_Validation
Michael_Joshua_ValidationMichael_Joshua_Validation
Michael_Joshua_Validation
 
COCOMO Model For Effort Estimation
COCOMO Model For Effort EstimationCOCOMO Model For Effort Estimation
COCOMO Model For Effort Estimation
 
COCOMO methods for software size estimation
COCOMO methods for software size estimationCOCOMO methods for software size estimation
COCOMO methods for software size estimation
 
Wait for it: identifying “On-Hold” self-admitted technical debt
Wait for it: identifying “On-Hold” self-admitted technical debtWait for it: identifying “On-Hold” self-admitted technical debt
Wait for it: identifying “On-Hold” self-admitted technical debt
 
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISONSTATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
 
Using formal methods in Industrial Software Development
Using formal methods in Industrial Software DevelopmentUsing formal methods in Industrial Software Development
Using formal methods in Industrial Software Development
 

More from Roberto Pepato

METACOM - Um Método para Análise de Correlação entre Métricas de Produto de S...
METACOM - Um Método para Análise de Correlação entre Métricas de Produto de S...METACOM - Um Método para Análise de Correlação entre Métricas de Produto de S...
METACOM - Um Método para Análise de Correlação entre Métricas de Produto de S...Roberto Pepato
 
Adding where to your ruby apps
Adding where to your ruby appsAdding where to your ruby apps
Adding where to your ruby appsRoberto Pepato
 
Adding where to your ruby apps lt - (q con)
Adding where to your ruby apps   lt -  (q con)Adding where to your ruby apps   lt -  (q con)
Adding where to your ruby apps lt - (q con)Roberto Pepato
 
Continuous Inspection - Uma abordagem efetiva para melhoria contínua da quali...
Continuous Inspection - Uma abordagem efetiva para melhoria contínua da quali...Continuous Inspection - Uma abordagem efetiva para melhoria contínua da quali...
Continuous Inspection - Uma abordagem efetiva para melhoria contínua da quali...Roberto Pepato
 

More from Roberto Pepato (6)

Haskell 101
Haskell 101Haskell 101
Haskell 101
 
Be Agile, Stay Agile
Be Agile, Stay AgileBe Agile, Stay Agile
Be Agile, Stay Agile
 
METACOM - Um Método para Análise de Correlação entre Métricas de Produto de S...
METACOM - Um Método para Análise de Correlação entre Métricas de Produto de S...METACOM - Um Método para Análise de Correlação entre Métricas de Produto de S...
METACOM - Um Método para Análise de Correlação entre Métricas de Produto de S...
 
Adding where to your ruby apps
Adding where to your ruby appsAdding where to your ruby apps
Adding where to your ruby apps
 
Adding where to your ruby apps lt - (q con)
Adding where to your ruby apps   lt -  (q con)Adding where to your ruby apps   lt -  (q con)
Adding where to your ruby apps lt - (q con)
 
Continuous Inspection - Uma abordagem efetiva para melhoria contínua da quali...
Continuous Inspection - Uma abordagem efetiva para melhoria contínua da quali...Continuous Inspection - Uma abordagem efetiva para melhoria contínua da quali...
Continuous Inspection - Uma abordagem efetiva para melhoria contínua da quali...
 

Recently uploaded

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 

Recently uploaded (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

An investigation of extreme programming practices and its impact on software quality metrics

  • 1. Gabriel de Souza Pereira Moreira - ITA Roberto Pepato Mellado – ITA Robson Luis Monteiro Júnior - ITA Prof. Adilson Marques da Cunha - ITA Prof. Luiz Alberto Vieira Dias - ITA
  • 2.  Introduction  Case Study  METACOM  Results  Limitations  Conclusion 2ITA - Instituto Tecnológico da Aeronáutica
  • 3.  On the last decade, a growing interest on agile methods for software construction from both industry and academy has arisen. [Dyba et al. 2008][Hanssen et al. 2010]  Extreme Programming (XP) is one of established agile methods, has defined sets of values, principles, and practices. [Beck 2009] 3ITA - Instituto Tecnológico da Aeronáutica
  • 4.  Lehman defines the law of increasing entropy. He explains that, by a number of factors, a programming system undergoes never-ending maintenance. [Lehman et al. 1985]  Recent works have conducted studies of quality evolution metrics in agile developed systems. [Capiluppi 2007] 4ITA - Instituto Tecnológico da Aeronáutica
  • 5. XP Practices Project A Project B Project C Sit Together X X Informative Workspace X Energized Work X X Pair Programming X Stories X Weekly Cycle Quarterly Cycle X X X Slack X Ten-Minute Build X Continuous Integration X Test-First Programming X Incremental Design X X Refactoring X X 5ITA - Instituto Tecnológico da Aeronáutica
  • 6. Radar Chart is a visual indicator of XP practices adoption. It is composed of five axes, representing the dimensions of an XP implementation: programming, planning, customer, pairing and team. [Wake 2000] 6ITA - Instituto Tecnológico da Aeronáutica
  • 7.  Metrics help software engineers to gain perception in the construction of products that they develop [Pressman 2009].  Previous works had proposed metrics for tracking aspects like size, complexity, coupling, and cohesion within object oriented (OO) systems. [Chidamber 1994] , [Martin 1994] 7ITA - Instituto Tecnológico da Aeronáutica
  • 8.  Lines of Code (LoC) - Number of valid class lines of code (excluding comments and blank lines);  Afferent Coupling (AC) - Number of classes directly dependent on the class under analysis;  Efferent Coupling (EC) - Number of classes that the class under analysis directly depends on;  Association Between Classes (ABC) - Number of members of others classes that the class under analysis directly uses in the body of its methods;  Cyclomatic Complexity (CC) - Number of execution paths of a class; and  Methods per Class (MPC) - Number of methods of a class under analysis. 8ITA - Instituto Tecnológico da Aeronáutica
  • 9.  Three Brazilian industry projects: Project A, B, and Project C.  Company process evolution: Ad-hoc, RUP, Agile  Common complaint: lack of quality built in 9ITA - Instituto Tecnológico da Aeronáutica
  • 10. Project A B C Platform Web Web Console Programming Language C# 2.0 C# 2.0 C# 3.5 Development Start 08/2008 08/2009 07/2010 Number of Use Cases 103 93 N/A Revision Count a 2997 1358 453 Distinct Developers 20 8 8 Defects, Errors and Failures detected by testers and end users 1387 313 N/A Total LoC 97488 70735 36202 LoC without comments and blank lines 51017 33644 15523 Types (classes, interfaces, structs) 297 407 238 Assemblies b 23 10 6 10ITA - Instituto Tecnológico da Aeronáutica a. Revision – Identifier of a change set in the source code, sent from the developers local copy to a Version Control System repository, through a commit or check-in operation. b. Assembly – Software binary component in .NET platform, generally an executable file or Dynamic Linked Library (DLL).
  • 11.  It was used just one XP practice.The requirements analysis, documentation, and system design were conducted in the beginning of the project, and were not revised during the construction phase.  The team had about 10 developers directly engaged in the project. Because of the high turnover rate, 20 different professionals have participated in the system implementation ITA - Instituto Tecnológico da Aeronáutica 11
  • 12.  They worked distributed in two adjacent rooms, led by a technical leader which gave directions for the whole team.  Developers were expected to implement code as modeled by designers in UML case tools. Usually, design models became out of date in relation to source code.  There were not any kind of automated tests, so all regression tests were manually made by a testing team. Refactoring was totally discouraged, because of the risk of new defects due to changes. ITA - Instituto Tecnológico da Aeronáutica 12
  • 13.  The requirements analysis and documentation were performed at the elaboration phase, the system design wasn’t entirely ready at this phase.  Therefore, few units and integration tests were automated and, thus, refactoring practices were not very much used. ITA - Instituto Tecnológico da Aeronáutica 13
  • 14.  Average of 4 developers.  Team was placed in the same room.  The software product of Project B was 34% shorter than Project A, in terms of C# Lines of Code (LoC), without comments and blank lines.  Project B had 78% less defects detected by test team and by end users than Project A.  In this project, a framework was produced and successfully reused in other four projects. ITA - Instituto Tecnológico da Aeronáutica 14
  • 15.  A higher number of agile engineering practices were applied in its development.  The team was comprised of four developers on average.  In this project, some concepts of Scrum [Schwaber 2009] and XP frameworks were applied.  Average of 4 developers.  There was no Project Manager working with the team. ITA - Instituto Tecnológico da Aeronáutica 15
  • 16.  The Scrum Master responsibilities were spread on the team.  The team felt that lack of a dedicated Scrum Master allowed too much external interferences on sprint objectives, which impacted the auto- organization, productivity and motivation of the team.  All stories were organized in kanban, a mechanism for pull systems that provides updated process visibility [Poppendieck 2003]. ITA - Instituto Tecnológico da Aeronáutica 16
  • 17.  Product quality was always the main focus of the team, and effort was dedicated to mitigate technical debts.  The team applied extensively agile practices likeTest Driven Development (TDD), refactoring, incremental design, and continuous integration.  The project C used the principle of test-first programming, which generated 315 unit tests and 87% of code coverage. ITA - Instituto Tecnológico da Aeronáutica 17
  • 18.  Step 1 – Revisions Checkout  Step 2 – Build  Step 3 – Static Analysis  Step 4 – Data Transformation and Load 18ITA - Instituto Tecnológico da Aeronáutica
  • 19. ITA - Instituto Tecnológico da Aeronáutica 19 From left to right, Project A, B and C
  • 20. ITA - Instituto Tecnológico da Aeronáutica 20
  • 21. ITA - Instituto Tecnológico da Aeronáutica 21
  • 22. ITA - Instituto Tecnológico da Aeronáutica 22 From left to right, Project A, B and C
  • 23. ITA - Instituto Tecnológico da Aeronáutica 23 From left to right, Project A, B and C
  • 24. ITA - Instituto Tecnológico da Aeronáutica 24 From left to right, Project A, B and C
  • 25.  The analysis conducted in this paper has used historical measures fromVersion Control System (VCS) revisions.  As it was not guaranteed that each day a new revision is committed, there weren’t measures for all days during project development.This could add bias on charts time series analysis.  The software product quality metrics analyzed in this work were observed in isolation. 25ITA - Instituto Tecnológico da Aeronáutica
  • 26.  Other variables that could cause impact on projects like schedule pressures, resources availability, team and management turnover, marketing moment, team engagement among others, could not be controlled in this investigation of past projects. ITA - Instituto Tecnológico da Aeronáutica 26
  • 27.  In this investigation it was conducted an investigation of three different software development projects history.  Company has incorporated agile practices in its projects, in special the ones proposed by XP.  A subjective analysis of XP practices usage in projects was performed by the use of XP Radar chart assessment [Ware 2000]. ITA - Instituto Tecnológico da Aeronáutica 27
  • 28.  The major findings of this investigation pointed out that the average class measures for:  Size (LoC and MPC); complexity (CC); and coupling (ABC) were reduced in projects which have been applying more XP practices.  Coupling metrics of AfferentCoupling (AC) and EfferentCoupling (EC) were low affected by XP practices usage in this investigation.  Based on previous studies, experience, and consensus of the involved development teams, authors believe that XP practices lead to improved product quality in the analyzed projects. ITA - Instituto Tecnológico da Aeronáutica 28
  • 29.  Analyse measures under other functions (max,min,std. Dev.)  Analyse measures in different levels (packages, classes)  Identify entropy increase ITA - Instituto Tecnológico da Aeronáutica 29
  • 30. ITA - Instituto Tecnológico da Aeronáutica 30  Moreira, G. S. P., Mellado, R. P., Montini, D. A., Dias, L. A.V., Cunha, A. M. “Software Product Measurement and Analysis in a Continuous Integration Environment”, ITNG, Abril 2010, Las Vegas, NE, EUA  Moreira, G. S. P., Mellado, R. P., Dias, L. A.V., Cunha, A. M. “METACOM - Um Método para Análise de Correlação entre Métricas de Produto de Software eVolume de Manutenção”, SBQS 2011, Jun. 2011, Curitiba, PR http://workingsweng.wordpress.com
  • 31. 19 e 20 de Agosto de 2011 http://www.agilevale.com.br/ @agilevale #agilevale