SlideShare a Scribd company logo
Micro Patterns
in Agile Software

Presented by
Joshi, Ujjwal Kumar
11/27/13

Special Methods and Tools for IT Projects

1
Agenda
•
•
•
•

Introduction to Agile Software
Evolution of Micro Patterns in Agile Software Development
Introduction to Micro Patterns
Gil and Maman Approach
–
–
–
–
–

Methodology
Bug-linking Methodology
Survey: Collaborations
Main phases of Development
Conclusion

• References
11/27/13

Special Methods and Tools for IT Projects

2
Introduction to Agile Software
Agile Software development is a
group of software development
methods based on iterative and
incremental development, where
requirements and solutions evolve
through collaboration between selforganizing, cross-functional teams.
It promotes adaptive planning,
evolutionary development and
delivery and encourages rapid and
flexible responses to change.
Source: http://en.wikipedia.org/wiki/Agile_software_development#Agile_methods

11/27/13

Special Methods and Tools for IT Projects

3
Evolution of Micro Pattern in Agile
Software Development

11/27/13

Special Methods and Tools for IT Projects

4
Introduction to Micro Pattern
• Micro Pattern are similar to design pattern
but are at a lower level of abstraction with
respect to design pattern, their characteristics
is that they can be identified automatically.
• Gil and Maman defined the micro pattern
catalogue that consists of 27 micro pattern.
pattern

11/27/13

Special Methods and Tools for IT Projects

5
Introduction to Micro Pattern
• Gil and Maman stated that
75% of classes belong to at
least one micro pattern.
• Even though the Micro
patterns are correlated to each
others,
they
can
be
categorized.
• Anti-micro
pattern
are
associated
to
poor
programming and thus, they
are proved to be more fault
prone.
11/27/13

Fig. Micro Patterns in JAVA Code

Source: http://www.google.de/imgres

Special Methods and Tools for IT Projects

6
Fig. Global Map of the catalog, showing 8 catalogue and placement of 27 Micro Patterns
11/27/13

Special Methods and Tools for IT Projects

7
Non-Micro Pattern
(NMP)

Anti-Micro
Patterns
(AMP)

Class

Fault-prone Micro
Pattern
(FMP)

Other Micro
Pattern
(MP)
Fig. class Categorization using Micro Pattern
11/27/13

Special Methods and Tools for IT Projects

8
Micro Pattern Examples
• Implementor
– A concrete class, where all the methods override
inherited abstract methods.

• Function Pointer
– A class with a single public instance method, but
with no fields.

11/27/13

Special Methods and Tools for IT Projects

9
Gil and Maman Approach
Gil and Maman conducted their study of
Micro Patterns in following two basis:
• Floss-AR
– Web application
management.

for

research

publications

• jAPS
– Java framework for enterprise portal building
11/27/13

Special Methods and Tools for IT Projects

10
Methodology
• At first, they developed a tool to detect the micro
pattern present in the class using Arcelli and Maggioni
principle.
• They proposed a survey to the software development
team to discover which agile methodologies were
adopted.
• They belonged source code repository to link classes to
the bugs in order to find the relationship between
number of faults and anti-micro patterns.
• Then, they asses micro pattern fault proneness by the
means of faulty classes.
11/27/13

Special Methods and Tools for IT Projects

11
Methodology: Bug-Class linking
Source Code and the bug fixes are linked using
the Bachmann and Bernstein’s heuristics:
 Scan through the change logs for the bug reports in a
given format (e.g. fix bug, fix issue and so on).
 Exclude all false positive bug numbers (e.g. 2009-0607 10:47:39-0400 and so on).
 Check if there are other potential bug number
formats or false positive number formats, add the
new formats and scan the change iteratively.
 Check if potential bug numbers exist in the bugtracking database with their status marked as fixed.
11/27/13

Special Methods and Tools for IT Projects

12
Survey: Collaborations
Survey Question on Collaboration
Question

Very
Good

Good

Discrete

Adequate

Not
Adequate

How would you
describe the
collaboration of
the team?

4

1

0

0

0

Table 1. floss-AR Developers Survey (5 developers)

11/27/13

Special Methods and Tools for IT Projects

13
Survey Question on Collaboration
Question

Yes

No

The collaboration inside the team increased
the productivity?

5

0

Did you take part in developing the whole
system?

3

2

Do you have favorite programming styles?

2

3

Have the project decision been discussed
together with the team?

5

0

Did you interact directly with the customer?

4

1

Did you use refactoring?

5

0

Table 2. floss-AR Developers Survey (5 developers)

11/27/13

Special Methods and Tools for IT Projects

14
Survey Question to the Project Manager
Question

Answer

Which Agile methodologies did you use during software
development?

Pair Programming
Stand up Meeting
Refactoring
On Site Customer

How often did you interact with the customer?

1-2 times per month

How often did you use refactoring?

2-3 times per month

Table 3. floss-AR Project Manager

11/27/13

Special Methods and Tools for IT Projects

15
Main phases of development

11/27/13

Special Methods and Tools for IT Projects

16
Source Code Analysis for jAPS
Micro Pattern

1.0

1.2

1.4

1.6

1.6.2

1.8

1.8.2

2.0

Joiner

0

0

0

0

0

0

0

0

Function
Pointer

27.1

23.3

27.5

18.7

19.5

18.1

16.7

7.18

Sink

15.3

3.9

15.6

4.14

3.5

2.7

2.78

2.45

Extender

25

27.9

27.5

36.1

35.9

37.2

34.6

23.1

6.1

0

2.2

2.7

1.89

2.02

1.22

Functionobject 0.71
…..
Taxonomy

0

0

0

0

0

0

0

0

Pool

0

0

0

0.55

0.54

0.27

0

0.35

Sampler

0

0

0

0

0

0

0

0

Record

0

0

0

0

0

0

0

0

Overrider

0

0

0.3

0.82

0.82

0.54

0.5

0.87

Total

84

73

85.7

77

76.6

76.4

74.4

72.1

Table showing source code analysis for jAPS
11/27/13

Special Methods and Tools for IT Projects

17
Source Code Analysis for floss-AR
Micro Pattern

CA

SAR

SS

OS

2.1.1

Designator

1.5

1.5

1.6

1.38

0.9

Taxonomy

0

0

0

0

0

Pool

0.2

0.2

0.36

0.3

0.76

Joiner

0

0

0

0

0

Extender

28.4

28.8

27.7

28.4

16.58

Function Pointer

20.2

19.7

22.8

17.8

13.31

Functionobject

2.5

2.4

2

4.45

1.53

Overrider

0.33

0.34

0.29

1.07

0.2

Total

85.1

84.8

85.8

75.5

81.6

…..

Table showing source code analysis for floss-AR
11/27/13

Special Methods and Tools for IT Projects

18
Conclusion
OS(%)
Distribution
of faulty
classes

CA(%)

SAR(%)

SS(%)

2.1.1(%)

NMP

63.12

62.41

71.63

70.92

23.4

MP

36.87

37.58

28.36

29.07

76.59

Percentage of MP Faults
Fault % of AMP

12.76

12.05

7.8

7.8

23.4

Fault % of fault-prone MP
faults

18.43

14.89

11.34

13.47

23.4

Fault % of other MP

5.67

10.63

9.21

7.8

20.56

Non Micro Pattern are the most faulty Micro Pattern
Both systems respect the Gill and Maman statement. This means the Micro Patterns are good descriptors
for the software development.
Micro Patterns such as Function Pointer, Sink and Extender are common to all the releases of Floss-AR and
jAPS. So, they have highest value in the distribution. Whereas, Taxonomy, Pool, Sampler and Record are
almost absent so, they have minimal value.
11/27/13

Special Methods and Tools for IT Projects

19
References





http://www.japsportal.org ; JAPS: Java Agile Portal System
Gil and Maman case study
http://veprints.unica.it/859/1/DeStefanis_PHD_Thesis.pdf
http://www.cs.technion.ac.il/~imaman/stuff/ip-oopsla05-c.pdf

11/27/13

Special Methods and Tools for IT Projects

20
There are no significant bugs in our released software
that any significant number of users want fixed.
--- Bill Gates

11/27/13

Special Methods and Tools for IT Projects

21

More Related Content

What's hot

Software development methodologies
Software development methodologiesSoftware development methodologies
Software development methodologies
Ankita Lachhwani
 
Software Engineering - Lecture 02
Software Engineering - Lecture 02Software Engineering - Lecture 02
Software Engineering - Lecture 02
Asifuzzaman Hridoy
 
Software Engineering- Engineering Practice
Software Engineering- Engineering PracticeSoftware Engineering- Engineering Practice
Software Engineering- Engineering Practice
Trinity Dwarka
 
Software Development Life Cycle: Traditional and Agile- A Comparative Study
Software Development Life Cycle: Traditional and Agile- A Comparative StudySoftware Development Life Cycle: Traditional and Agile- A Comparative Study
Software Development Life Cycle: Traditional and Agile- A Comparative Study
ijsrd.com
 
Software Engineering Practice
Software Engineering PracticeSoftware Engineering Practice
Software Engineering Practice
Research & Development LAB QUEST Nawabshah
 
Unified process Model
Unified process ModelUnified process Model
Unified process Model
University of Haripur
 
Integrated Analysis of Traditional Requirements Engineering Process with Agil...
Integrated Analysis of Traditional Requirements Engineering Process with Agil...Integrated Analysis of Traditional Requirements Engineering Process with Agil...
Integrated Analysis of Traditional Requirements Engineering Process with Agil...
zillesubhan
 
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
A Study of the Quality-Impacting Practices of Modern Code Review at Sony MobileA Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
SAIL_QU
 
Making Effective, Useful Software Development Tools
Making Effective, Useful Software Development ToolsMaking Effective, Useful Software Development Tools
Making Effective, Useful Software Development Tools
Gail Murphy
 
Software engineering note
Software engineering noteSoftware engineering note
Software engineering note
Neelamani Samal
 
Process and Project Metrics-1
Process and Project Metrics-1Process and Project Metrics-1
Process and Project Metrics-1
Saqib Raza
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
Carlos Gavidia-Calderon
 
Software Engineering - Ch4
Software Engineering - Ch4Software Engineering - Ch4
Software Engineering - Ch4Siddharth Ayer
 
Software engineering
Software engineeringSoftware engineering
Software engineeringfaisalwajid
 
OO Development 2 - Software Development Methodologies
OO Development 2 - Software Development MethodologiesOO Development 2 - Software Development Methodologies
OO Development 2 - Software Development Methodologies
Randy Connolly
 
Software Development Techniques
Software Development TechniquesSoftware Development Techniques
MODELS USED IN SOFTWARE DEVELOPMENT
MODELS USED IN SOFTWARE DEVELOPMENTMODELS USED IN SOFTWARE DEVELOPMENT
MODELS USED IN SOFTWARE DEVELOPMENT
PaYal Umraliya
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
NancyBeaulah_R
 

What's hot (20)

Software development methodologies
Software development methodologiesSoftware development methodologies
Software development methodologies
 
Software Engineering - Lecture 02
Software Engineering - Lecture 02Software Engineering - Lecture 02
Software Engineering - Lecture 02
 
Software Engineering- Engineering Practice
Software Engineering- Engineering PracticeSoftware Engineering- Engineering Practice
Software Engineering- Engineering Practice
 
Software Development Life Cycle: Traditional and Agile- A Comparative Study
Software Development Life Cycle: Traditional and Agile- A Comparative StudySoftware Development Life Cycle: Traditional and Agile- A Comparative Study
Software Development Life Cycle: Traditional and Agile- A Comparative Study
 
Software Engineering Practice
Software Engineering PracticeSoftware Engineering Practice
Software Engineering Practice
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Unified process Model
Unified process ModelUnified process Model
Unified process Model
 
Integrated Analysis of Traditional Requirements Engineering Process with Agil...
Integrated Analysis of Traditional Requirements Engineering Process with Agil...Integrated Analysis of Traditional Requirements Engineering Process with Agil...
Integrated Analysis of Traditional Requirements Engineering Process with Agil...
 
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
A Study of the Quality-Impacting Practices of Modern Code Review at Sony MobileA Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
 
Making Effective, Useful Software Development Tools
Making Effective, Useful Software Development ToolsMaking Effective, Useful Software Development Tools
Making Effective, Useful Software Development Tools
 
Software engineering note
Software engineering noteSoftware engineering note
Software engineering note
 
Process and Project Metrics-1
Process and Project Metrics-1Process and Project Metrics-1
Process and Project Metrics-1
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
 
Software Engineering - Ch4
Software Engineering - Ch4Software Engineering - Ch4
Software Engineering - Ch4
 
Unit1
Unit1Unit1
Unit1
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
OO Development 2 - Software Development Methodologies
OO Development 2 - Software Development MethodologiesOO Development 2 - Software Development Methodologies
OO Development 2 - Software Development Methodologies
 
Software Development Techniques
Software Development TechniquesSoftware Development Techniques
Software Development Techniques
 
MODELS USED IN SOFTWARE DEVELOPMENT
MODELS USED IN SOFTWARE DEVELOPMENTMODELS USED IN SOFTWARE DEVELOPMENT
MODELS USED IN SOFTWARE DEVELOPMENT
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
 

Similar to Micro patterns in agile software

Managing Agile Software Development Projects
Managing Agile Software Development ProjectsManaging Agile Software Development Projects
Managing Agile Software Development Projects
Martina Šimičić
 
software engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semestersoftware engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semesterrajesh199155
 
Evolvea Frameworkfor SelectingPrime Software DevelopmentProcess
Evolvea Frameworkfor SelectingPrime Software DevelopmentProcessEvolvea Frameworkfor SelectingPrime Software DevelopmentProcess
Evolvea Frameworkfor SelectingPrime Software DevelopmentProcess
IJMER
 
Unit 1.ppt
Unit 1.pptUnit 1.ppt
Unit 1.ppt
MsRAMYACSE
 
Software Engineering Process in Web Application Development
Software Engineering Process in Web Application DevelopmentSoftware Engineering Process in Web Application Development
Software Engineering Process in Web Application Development
IOSR Journals
 
D017152832
D017152832D017152832
D017152832
IOSR Journals
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
Afrasiyab Haider
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineeringArun Nair
 
Unit 1 OOSE
Unit 1 OOSEUnit 1 OOSE
Unit 1 OOSE
saranive23
 
SE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdfSE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdf
Dr. Radhey Shyam
 
Software model
Software modelSoftware model
Software model
Delowar hossain
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software development
bizpresenter
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
ijceronline
 
San se unit
San se unitSan se unit
San se unit
SandhyaTatekalva
 
Hybrid model for software development
Hybrid model for software developmentHybrid model for software development
Hybrid model for software development
eSAT Journals
 
A PROPOSED HYBRID AGILE FRAMEWORK MODEL FOR MOBILE APPLICATIONS DEVELOPMENT
A PROPOSED HYBRID AGILE FRAMEWORK MODEL FOR MOBILE APPLICATIONS DEVELOPMENT A PROPOSED HYBRID AGILE FRAMEWORK MODEL FOR MOBILE APPLICATIONS DEVELOPMENT
A PROPOSED HYBRID AGILE FRAMEWORK MODEL FOR MOBILE APPLICATIONS DEVELOPMENT
ijseajournal
 
chapter 1.ppt
chapter 1.pptchapter 1.ppt
chapter 1.ppt
MaddalaSeshu
 
4 mohammad naderuzzaman_finalpaper--35-40
4 mohammad naderuzzaman_finalpaper--35-404 mohammad naderuzzaman_finalpaper--35-40
4 mohammad naderuzzaman_finalpaper--35-40
Alexander Decker
 

Similar to Micro patterns in agile software (20)

Managing Agile Software Development Projects
Managing Agile Software Development ProjectsManaging Agile Software Development Projects
Managing Agile Software Development Projects
 
software engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semestersoftware engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semester
 
Evolvea Frameworkfor SelectingPrime Software DevelopmentProcess
Evolvea Frameworkfor SelectingPrime Software DevelopmentProcessEvolvea Frameworkfor SelectingPrime Software DevelopmentProcess
Evolvea Frameworkfor SelectingPrime Software DevelopmentProcess
 
Unit 1.ppt
Unit 1.pptUnit 1.ppt
Unit 1.ppt
 
DOC
DOCDOC
DOC
 
Software Engineering Process in Web Application Development
Software Engineering Process in Web Application DevelopmentSoftware Engineering Process in Web Application Development
Software Engineering Process in Web Application Development
 
D017152832
D017152832D017152832
D017152832
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineering
 
Unit 1 OOSE
Unit 1 OOSEUnit 1 OOSE
Unit 1 OOSE
 
SE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdfSE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdf
 
7 5-94-101
7 5-94-1017 5-94-101
7 5-94-101
 
Software model
Software modelSoftware model
Software model
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software development
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
San se unit
San se unitSan se unit
San se unit
 
Hybrid model for software development
Hybrid model for software developmentHybrid model for software development
Hybrid model for software development
 
A PROPOSED HYBRID AGILE FRAMEWORK MODEL FOR MOBILE APPLICATIONS DEVELOPMENT
A PROPOSED HYBRID AGILE FRAMEWORK MODEL FOR MOBILE APPLICATIONS DEVELOPMENT A PROPOSED HYBRID AGILE FRAMEWORK MODEL FOR MOBILE APPLICATIONS DEVELOPMENT
A PROPOSED HYBRID AGILE FRAMEWORK MODEL FOR MOBILE APPLICATIONS DEVELOPMENT
 
chapter 1.ppt
chapter 1.pptchapter 1.ppt
chapter 1.ppt
 
4 mohammad naderuzzaman_finalpaper--35-40
4 mohammad naderuzzaman_finalpaper--35-404 mohammad naderuzzaman_finalpaper--35-40
4 mohammad naderuzzaman_finalpaper--35-40
 

More from Ujjwal Joshi

Client Service Executive - Junior Event Manager
Client Service Executive - Junior Event ManagerClient Service Executive - Junior Event Manager
Client Service Executive - Junior Event ManagerUjjwal Joshi
 
Understanding france- Brief overview of Marseille
Understanding france- Brief overview of MarseilleUnderstanding france- Brief overview of Marseille
Understanding france- Brief overview of Marseille
Ujjwal Joshi
 
Npv and IRR, a link to Project Management
Npv and IRR, a link to Project ManagementNpv and IRR, a link to Project Management
Npv and IRR, a link to Project Management
Ujjwal Joshi
 
Melamchi Drinking Water Project
Melamchi Drinking Water ProjectMelamchi Drinking Water Project
Melamchi Drinking Water Project
Ujjwal Joshi
 
Namibia- Project Hope
Namibia- Project HopeNamibia- Project Hope
Namibia- Project Hope
Ujjwal Joshi
 
Supply chain
Supply chainSupply chain
Supply chain
Ujjwal Joshi
 
Implementation of SAP BI in Coca Cola
Implementation of SAP BI in Coca ColaImplementation of SAP BI in Coca Cola
Implementation of SAP BI in Coca Cola
Ujjwal Joshi
 
KANBAN
KANBANKANBAN
KANBAN
Ujjwal Joshi
 
Project Types and their importance
Project Types and their importanceProject Types and their importance
Project Types and their importance
Ujjwal Joshi
 
ICB Competence, Project Standards
ICB Competence, Project StandardsICB Competence, Project Standards
ICB Competence, Project Standards
Ujjwal Joshi
 
Biogas project report
Biogas project reportBiogas project report
Biogas project reportUjjwal Joshi
 
PMBOK Risk Management and Safety Health and Environment
PMBOK Risk Management and Safety Health and EnvironmentPMBOK Risk Management and Safety Health and Environment
PMBOK Risk Management and Safety Health and EnvironmentUjjwal Joshi
 
Report on Kotter's Change Model
Report on Kotter's Change ModelReport on Kotter's Change Model
Report on Kotter's Change Model
Ujjwal Joshi
 
Chad cameroon pipeline project
Chad cameroon pipeline projectChad cameroon pipeline project
Chad cameroon pipeline project
Ujjwal Joshi
 
Kotter’s 8 step change model
Kotter’s 8 step change modelKotter’s 8 step change model
Kotter’s 8 step change model
Ujjwal Joshi
 
Knowledge Management- Ernst & Young
Knowledge Management- Ernst & YoungKnowledge Management- Ernst & Young
Knowledge Management- Ernst & Young
Ujjwal Joshi
 
Code of conduct_2011
Code of conduct_2011Code of conduct_2011
Code of conduct_2011
Ujjwal Joshi
 
Niccolo machiavelli
Niccolo machiavelliNiccolo machiavelli
Niccolo machiavelli
Ujjwal Joshi
 
Knowledge Management in NASA
Knowledge Management in NASAKnowledge Management in NASA
Knowledge Management in NASA
Ujjwal Joshi
 

More from Ujjwal Joshi (20)

Client Service Executive - Junior Event Manager
Client Service Executive - Junior Event ManagerClient Service Executive - Junior Event Manager
Client Service Executive - Junior Event Manager
 
Understanding france- Brief overview of Marseille
Understanding france- Brief overview of MarseilleUnderstanding france- Brief overview of Marseille
Understanding france- Brief overview of Marseille
 
Npv and IRR, a link to Project Management
Npv and IRR, a link to Project ManagementNpv and IRR, a link to Project Management
Npv and IRR, a link to Project Management
 
Melamchi Drinking Water Project
Melamchi Drinking Water ProjectMelamchi Drinking Water Project
Melamchi Drinking Water Project
 
Namibia- Project Hope
Namibia- Project HopeNamibia- Project Hope
Namibia- Project Hope
 
Supply chain
Supply chainSupply chain
Supply chain
 
Implementation of SAP BI in Coca Cola
Implementation of SAP BI in Coca ColaImplementation of SAP BI in Coca Cola
Implementation of SAP BI in Coca Cola
 
KANBAN
KANBANKANBAN
KANBAN
 
Project Types and their importance
Project Types and their importanceProject Types and their importance
Project Types and their importance
 
ICB Competence, Project Standards
ICB Competence, Project StandardsICB Competence, Project Standards
ICB Competence, Project Standards
 
Biogas project report
Biogas project reportBiogas project report
Biogas project report
 
PMBOK Risk Management and Safety Health and Environment
PMBOK Risk Management and Safety Health and EnvironmentPMBOK Risk Management and Safety Health and Environment
PMBOK Risk Management and Safety Health and Environment
 
Report on Kotter's Change Model
Report on Kotter's Change ModelReport on Kotter's Change Model
Report on Kotter's Change Model
 
Chad cameroon pipeline project
Chad cameroon pipeline projectChad cameroon pipeline project
Chad cameroon pipeline project
 
Kotter’s 8 step change model
Kotter’s 8 step change modelKotter’s 8 step change model
Kotter’s 8 step change model
 
Knowledge Management- Ernst & Young
Knowledge Management- Ernst & YoungKnowledge Management- Ernst & Young
Knowledge Management- Ernst & Young
 
Communication 1
Communication 1Communication 1
Communication 1
 
Code of conduct_2011
Code of conduct_2011Code of conduct_2011
Code of conduct_2011
 
Niccolo machiavelli
Niccolo machiavelliNiccolo machiavelli
Niccolo machiavelli
 
Knowledge Management in NASA
Knowledge Management in NASAKnowledge Management in NASA
Knowledge Management in NASA
 

Recently uploaded

Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative Thoughts
Col Mukteshwar Prasad
 
Fish and Chips - have they had their chips
Fish and Chips - have they had their chipsFish and Chips - have they had their chips
Fish and Chips - have they had their chips
GeoBlogs
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
kaushalkr1407
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 
ESC Beyond Borders _From EU to You_ InfoPack general.pdf
ESC Beyond Borders _From EU to You_ InfoPack general.pdfESC Beyond Borders _From EU to You_ InfoPack general.pdf
ESC Beyond Borders _From EU to You_ InfoPack general.pdf
Fundacja Rozwoju Społeczeństwa Przedsiębiorczego
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
Atul Kumar Singh
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 
Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)
rosedainty
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
AzmatAli747758
 
How to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS ModuleHow to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS Module
Celine George
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
Vivekanand Anglo Vedic Academy
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
Anna Sz.
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
RaedMohamed3
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
TechSoup
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
Balvir Singh
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 

Recently uploaded (20)

Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative Thoughts
 
Fish and Chips - have they had their chips
Fish and Chips - have they had their chipsFish and Chips - have they had their chips
Fish and Chips - have they had their chips
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
ESC Beyond Borders _From EU to You_ InfoPack general.pdf
ESC Beyond Borders _From EU to You_ InfoPack general.pdfESC Beyond Borders _From EU to You_ InfoPack general.pdf
ESC Beyond Borders _From EU to You_ InfoPack general.pdf
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
 
How to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS ModuleHow to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS Module
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 

Micro patterns in agile software

  • 1. Micro Patterns in Agile Software Presented by Joshi, Ujjwal Kumar 11/27/13 Special Methods and Tools for IT Projects 1
  • 2. Agenda • • • • Introduction to Agile Software Evolution of Micro Patterns in Agile Software Development Introduction to Micro Patterns Gil and Maman Approach – – – – – Methodology Bug-linking Methodology Survey: Collaborations Main phases of Development Conclusion • References 11/27/13 Special Methods and Tools for IT Projects 2
  • 3. Introduction to Agile Software Agile Software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between selforganizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery and encourages rapid and flexible responses to change. Source: http://en.wikipedia.org/wiki/Agile_software_development#Agile_methods 11/27/13 Special Methods and Tools for IT Projects 3
  • 4. Evolution of Micro Pattern in Agile Software Development 11/27/13 Special Methods and Tools for IT Projects 4
  • 5. Introduction to Micro Pattern • Micro Pattern are similar to design pattern but are at a lower level of abstraction with respect to design pattern, their characteristics is that they can be identified automatically. • Gil and Maman defined the micro pattern catalogue that consists of 27 micro pattern. pattern 11/27/13 Special Methods and Tools for IT Projects 5
  • 6. Introduction to Micro Pattern • Gil and Maman stated that 75% of classes belong to at least one micro pattern. • Even though the Micro patterns are correlated to each others, they can be categorized. • Anti-micro pattern are associated to poor programming and thus, they are proved to be more fault prone. 11/27/13 Fig. Micro Patterns in JAVA Code Source: http://www.google.de/imgres Special Methods and Tools for IT Projects 6
  • 7. Fig. Global Map of the catalog, showing 8 catalogue and placement of 27 Micro Patterns 11/27/13 Special Methods and Tools for IT Projects 7
  • 8. Non-Micro Pattern (NMP) Anti-Micro Patterns (AMP) Class Fault-prone Micro Pattern (FMP) Other Micro Pattern (MP) Fig. class Categorization using Micro Pattern 11/27/13 Special Methods and Tools for IT Projects 8
  • 9. Micro Pattern Examples • Implementor – A concrete class, where all the methods override inherited abstract methods. • Function Pointer – A class with a single public instance method, but with no fields. 11/27/13 Special Methods and Tools for IT Projects 9
  • 10. Gil and Maman Approach Gil and Maman conducted their study of Micro Patterns in following two basis: • Floss-AR – Web application management. for research publications • jAPS – Java framework for enterprise portal building 11/27/13 Special Methods and Tools for IT Projects 10
  • 11. Methodology • At first, they developed a tool to detect the micro pattern present in the class using Arcelli and Maggioni principle. • They proposed a survey to the software development team to discover which agile methodologies were adopted. • They belonged source code repository to link classes to the bugs in order to find the relationship between number of faults and anti-micro patterns. • Then, they asses micro pattern fault proneness by the means of faulty classes. 11/27/13 Special Methods and Tools for IT Projects 11
  • 12. Methodology: Bug-Class linking Source Code and the bug fixes are linked using the Bachmann and Bernstein’s heuristics:  Scan through the change logs for the bug reports in a given format (e.g. fix bug, fix issue and so on).  Exclude all false positive bug numbers (e.g. 2009-0607 10:47:39-0400 and so on).  Check if there are other potential bug number formats or false positive number formats, add the new formats and scan the change iteratively.  Check if potential bug numbers exist in the bugtracking database with their status marked as fixed. 11/27/13 Special Methods and Tools for IT Projects 12
  • 13. Survey: Collaborations Survey Question on Collaboration Question Very Good Good Discrete Adequate Not Adequate How would you describe the collaboration of the team? 4 1 0 0 0 Table 1. floss-AR Developers Survey (5 developers) 11/27/13 Special Methods and Tools for IT Projects 13
  • 14. Survey Question on Collaboration Question Yes No The collaboration inside the team increased the productivity? 5 0 Did you take part in developing the whole system? 3 2 Do you have favorite programming styles? 2 3 Have the project decision been discussed together with the team? 5 0 Did you interact directly with the customer? 4 1 Did you use refactoring? 5 0 Table 2. floss-AR Developers Survey (5 developers) 11/27/13 Special Methods and Tools for IT Projects 14
  • 15. Survey Question to the Project Manager Question Answer Which Agile methodologies did you use during software development? Pair Programming Stand up Meeting Refactoring On Site Customer How often did you interact with the customer? 1-2 times per month How often did you use refactoring? 2-3 times per month Table 3. floss-AR Project Manager 11/27/13 Special Methods and Tools for IT Projects 15
  • 16. Main phases of development 11/27/13 Special Methods and Tools for IT Projects 16
  • 17. Source Code Analysis for jAPS Micro Pattern 1.0 1.2 1.4 1.6 1.6.2 1.8 1.8.2 2.0 Joiner 0 0 0 0 0 0 0 0 Function Pointer 27.1 23.3 27.5 18.7 19.5 18.1 16.7 7.18 Sink 15.3 3.9 15.6 4.14 3.5 2.7 2.78 2.45 Extender 25 27.9 27.5 36.1 35.9 37.2 34.6 23.1 6.1 0 2.2 2.7 1.89 2.02 1.22 Functionobject 0.71 ….. Taxonomy 0 0 0 0 0 0 0 0 Pool 0 0 0 0.55 0.54 0.27 0 0.35 Sampler 0 0 0 0 0 0 0 0 Record 0 0 0 0 0 0 0 0 Overrider 0 0 0.3 0.82 0.82 0.54 0.5 0.87 Total 84 73 85.7 77 76.6 76.4 74.4 72.1 Table showing source code analysis for jAPS 11/27/13 Special Methods and Tools for IT Projects 17
  • 18. Source Code Analysis for floss-AR Micro Pattern CA SAR SS OS 2.1.1 Designator 1.5 1.5 1.6 1.38 0.9 Taxonomy 0 0 0 0 0 Pool 0.2 0.2 0.36 0.3 0.76 Joiner 0 0 0 0 0 Extender 28.4 28.8 27.7 28.4 16.58 Function Pointer 20.2 19.7 22.8 17.8 13.31 Functionobject 2.5 2.4 2 4.45 1.53 Overrider 0.33 0.34 0.29 1.07 0.2 Total 85.1 84.8 85.8 75.5 81.6 ….. Table showing source code analysis for floss-AR 11/27/13 Special Methods and Tools for IT Projects 18
  • 19. Conclusion OS(%) Distribution of faulty classes CA(%) SAR(%) SS(%) 2.1.1(%) NMP 63.12 62.41 71.63 70.92 23.4 MP 36.87 37.58 28.36 29.07 76.59 Percentage of MP Faults Fault % of AMP 12.76 12.05 7.8 7.8 23.4 Fault % of fault-prone MP faults 18.43 14.89 11.34 13.47 23.4 Fault % of other MP 5.67 10.63 9.21 7.8 20.56 Non Micro Pattern are the most faulty Micro Pattern Both systems respect the Gill and Maman statement. This means the Micro Patterns are good descriptors for the software development. Micro Patterns such as Function Pointer, Sink and Extender are common to all the releases of Floss-AR and jAPS. So, they have highest value in the distribution. Whereas, Taxonomy, Pool, Sampler and Record are almost absent so, they have minimal value. 11/27/13 Special Methods and Tools for IT Projects 19
  • 20. References     http://www.japsportal.org ; JAPS: Java Agile Portal System Gil and Maman case study http://veprints.unica.it/859/1/DeStefanis_PHD_Thesis.pdf http://www.cs.technion.ac.il/~imaman/stuff/ip-oopsla05-c.pdf 11/27/13 Special Methods and Tools for IT Projects 20
  • 21. There are no significant bugs in our released software that any significant number of users want fixed. --- Bill Gates 11/27/13 Special Methods and Tools for IT Projects 21

Editor's Notes

  1. shows a global map of the catalog, including the 8 categories, and the placement of the 27 micro patterns into these. The X dimension corresponds to class behavior. The Y dimension of the figure correspond to class state: categories at the upper portion of the map are of patterns restricting the class state more than patterns which belong to categories at the bottom of the map.
  2. They investigated if the agile methodologies influence the distribution of micro pattern during software evolution by studying two industrial cases:
  3. Arcelli and Maggioni suggested an operative definition to automate micro pattern detection. On that basis, they developed a tool to detect the micro pattern present in the class.
  4. Based on these heuristics, they connected the source code in order to fix a bug by taking into account the associated Micro pattern and the times a class have been debugged and then, they evaluated the fault proneness of the micro patterns.
  5. Refactoring is the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure. In simple way, Refactoring means making code simple, clear and elegant.
  6. This suggest that the constant application of the Agile methodologies during the software development across different releases may impact positively the software quality, carrying as side effect the reduction in the use of bad programming practices.