SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
Development of Complex Software
with Agile Method
Alan Braz, Cec´ılia M. F. Rubira, Marco Vieira
<alanbraz@br.ibm.com>,
<cmrubira@ic.unicamp.br>, <mvieira@dei.uc.pt>
Agile 2015 - Short Research paper
@alanbraz Agile2015
August 5, 2015
Development of Complex Software with Agile Method
Agenda
1 Introduction and Motivation
2 Proposed solution
3 Controlled Experiment
4 Conclusion
2 / 23
Development of Complex Software with Agile Method
Introduction and Motivation
Agenda
1 Introduction and Motivation
2 Proposed solution
3 Controlled Experiment
4 Conclusion
3 / 23
Development of Complex Software with Agile Method
Introduction and Motivation
Introduction
Dependability is no longer a mere nonfunctional
requirement just inherent to critical systems
Known applied solutions:
Component-Based Development (CBD) [1]
Architecture-Centric Development [2]
4 / 23
Development of Complex Software with Agile Method
Introduction and Motivation
Related work
Related work
2001 - Gisele R M Ferreira [3]
Created the Methodology for the Definition of
Exceptional Behavior (MDCE)
Methodology to build fault-tolerant systems using
techniques of exception handling
Extends the UML with new stereotypes
Case study appling it to Catalysis development process
2005 - Patrick Henrique da Silva Brito [4]
Extended MDCE defining MDCE+ by systematizing the
modeling and implementation of exceptional behavior
Focus on antecipate exceptional behavior at the
Architecture level
Adapted the UML Components process
5 / 23
Development of Complex Software with Agile Method
Proposed solution
Agenda
1 Introduction and Motivation
2 Proposed solution
3 Controlled Experiment
4 Conclusion
6 / 23
Development of Complex Software with Agile Method
Proposed solution
Proposed solution
Adapted agile development process based
on Scrum [5] process that adds some
MDCE+ practices and techniques to
increase the robustness
Scrum+CE
(CE comes from Exceptional Behavior in Portuguese)
Validation hypotheses: (i) less Story Points, and
(ii) better quality of the final software in terms of less defects.
7 / 23
Development of Complex Software with Agile Method
Proposed solution
Scrum+CE
Scrum+CE phases
Exception identification and definition
of the exceptional behavior in the form
of exceptional stories
Components implementation and wrap
creation for the reused components
Separation of concerns
between normal and
exceptional components Analysis of the exceptional
flow and catchers refinement
Connectors implementation
Pregame
- Planning
- System architecture/
high level design
Postgame
- Integration tests
- Final wrap
- Closure
Game
Sprints
D
evelop*
W
rap
Review
A
djust
* includes analysis,
design and coding
Description of
exceptional assertive
MDCE+ practices affecting Scrum phases.
Extended from Schwaber:95 [5] 8 / 23
Development of Complex Software with Agile Method
Proposed solution
Scrum+CE
Relation between phases
Table : Relation between MDCE+ and Scrum phases.
Scrum Phases Scrum Events MDCE+ Phases
Pregame
Planning
1. Requirements specification and analysis
2. Management aspects definition
System architecture /
high level design
3. Architecture design
Game
Sprint Planning
1. Requirements specification and analysis
3. Architecture design
4. System analysis
5. System design
Sprint
6. Components implementation
7. Components integration
Sprint Review
1. Requirements specification and analysis
8. User-acceptance release
Postgame
Integration tests 7. Components integration
Wrapping
8. Production Release deploy
Closure
9 / 23
Development of Complex Software with Agile Method
Proposed solution
Phases affected
Pregame
Planning
Identify the exceptions and define the exceptional
behavior in the form of Exceptional Stories
Describe the exceptional assertive in the form of
Acceptance Tests either at the normal behavior User
Stories [6] or at the introduced Exceptional Stories
Definition of “Done”
“. . . and all exceptions were properly handled. . . ”
System architecture / high level design
New role: Architecture Owner
New mandatory artifact: High Level Architecture
document
Architecture-Centric Development to expose exceptional
components
“The best architectures, requirements, and designs
emerge from self-organizing teams” [7]
10 / 23
Development of Complex Software with Agile Method
Proposed solution
Phases affected
Game
Exceptional Stories will be prioritized and
selected from the Product Backlog just like the
User Stories
Tasks dedicated to the implementation of
exceptional behavior should be created during
the Sprint Planning meeting and added to the
Sprint Backlog
Architecture should be reviewed and updated
when new exceptions are discovered
11 / 23
Development of Complex Software with Agile Method
Controlled Experiment
Agenda
1 Introduction and Motivation
2 Proposed solution
3 Controlled Experiment
4 Conclusion
12 / 23
Development of Complex Software with Agile Method
Controlled Experiment
Methodology
Methodology
Designed a controlled experiment in which a
information-based software system, with
dependability requirements relating to data
consistency, were implemented
Followed a controlled method called Synthetic
Environment Experiments [8] (reduced version)
Format of “Scrum in Practice” training lasting
2 weeks, composed by 3 teams of 4 participants
each.
13 / 23
Development of Complex Software with Agile Method
Controlled Experiment
Methodology
Architecture
DB2
OpenJPARestlet
Browser
Mobile
Entities
Exceptional
Presentation
Exceptional
Persistence
User Interface User Session /
System Services
Business Services Database
JSON
HTTP
14 / 23
Development of Complex Software with Agile Method
Controlled Experiment
Methodology
Agenda
Table : Schedule of Sprint 1.
Day Activity Duration
1
Reception and organization 2 hours
Planning Meeting 2 hours
2
Daily Scrum 3 minutes
Implementation day 1 2 hours
Daily Scrum 3 minutes
Implementation day 2 2 hours
3
Daily Scrum 3 minutes
Implementation day 3 2 hours
Daily Scrum 3 minutes
Implementation day 4 2 hours
4
Daily Scrum 3 minutes
Implementation day 5 2 hours
Daily Scrum 3 minutes
Implementation day 6 2 hours
5
Daily Scrum 3 minutes
Implementation day 7 2 hours
Review Meeting 2 hours
Table : Schedule of Sprint 2.
Day Activity Duration
1
Planning Meeting 2 hours
Daily Scrum 3 minutes
Implementation day 1 2 hours
2
Daily Scrum 3 minutes
Implementation day 2 2 hours
Daily Scrum 3 minutes
Implementation day 3 2 hours
3
Daily Scrum 3 minutes
Implementation day 4 2 hours
Daily Scrum 3 minutes
Implementation day 5 2 hours
4
Daily Scrum 3 minutes
Implementation day 6 2 hours
Daily Scrum 3 minutes
Implementation day 7 2 hours
5
Collective Sprint Review Meeting 3 hours
Collective Sprint Retrospective 1 hour
15 / 23
Development of Complex Software with Agile Method
Controlled Experiment
Results
Stories delivered
Product Backlog G1 G2 G3
0
10
20
30
40
50
60
70
61
49
45 47
13
9 7 8
Story
Points
User
Stories
Figure : Total of Stories and Points delivered.
Table : User Stories
delivered by group
Story Points G1 G2 G3
1 20 • • •
2 5 • • •
3 8 • • •
4 3 • • •
5 3 • • •
6 2 • •
7 1 • • •
8 3
9 5 • • •
10 2 •
11 2
12 5
13 2
Total stories 9 7 8
Total points 49 45 47
16 / 23
Development of Complex Software with Agile Method
Controlled Experiment
Results
Stories delivered
G2 delivered 22% less stories than G1.
G3 delivered 11% less stories than G1.
User Stories Story Points
-25.0%
-20.0%
-15.0%
-10.0%
-5.0%
-22%
-8%
-11%
-4%
G1-G2
G1-G3
Figure : Comparing implemented stories between G1 and G2, and
between G1 and G3.
17 / 23
Development of Complex Software with Agile Method
Controlled Experiment
Results
Requirements quality metrics
Table : Number of tests
executed and defects found
by group.
Metric G1 G2 G3
Tests executed 189 149 161
Failed tests 66 44 21
Fail rate 35% 30% 13% Tests executed Failed tests Fail rate
-80%
-70%
-60%
-50%
-40%
-30%
-20%
-10%
0%
-21%
-33%
-5%
-15%
-68%
-22%
G1-G2
G1-G3
Figure : Comparing defects between G1
and G2, and between G1 and G3.
G2 failed 5% less than G1.
G3 failed 22% less than G1.
18 / 23
Development of Complex Software with Agile Method
Controlled Experiment
Results
Code quality metrics
Metric G1 G2 G3
Lines of Code (LOC) 2232 1984 1950
Number of Classes 27 47 38
Number of Exceptions 1 21 2
Native catch blocks 53 18 33
Created catch blocks 9 12 6
Cyclomatic Complexity (CC) [9] 446 305 288
CC by class 15.9 4.5 7.2
CC by method 5.0 2.4 2.5
G2 and G3 produced 12% less lines of code than G1.
G2 and G3 designed a complexity 33% smaller than G1.
19 / 23
Development of Complex Software with Agile Method
Conclusion
Agenda
1 Introduction and Motivation
2 Proposed solution
3 Controlled Experiment
4 Conclusion
20 / 23
Development of Complex Software with Agile Method
Conclusion
Consolidated results
Applying Scrum+CE resulted in:
Better code quality. Validated!
13.5% less defects on average!
Complexity 33% smaller implies better code design!
Delivered less Story Points but with fewer defects.
Validated!
Only 6% less due to the size of the experiment.
Critic: The experiment does not scale!
It is possible to develop complex software if Agile!
Adding Exceptional Behavior handling does not compromise the
agility.
21 / 23
Development of Complex Software with Agile Method
Conclusion
Challenges
It is really complicated (and expensive) to make quantitative
experiments in Software Engineering.
Despite the size of the experiment, in terms of number of
participants and duration, we couldn’t apply any statistical analysis.
The same experiment could be replicated with more groups or even
bigger groups (scale).
Applied to remodel software engineering practice courses.
Research is not Agile :(
22 / 23
Development of Complex Software with Agile Method
Conclusion
References
C. Szyperski, Component Software: Beyond
Object-Oriented Programming. Boston, MA, USA:
Addison-Wesley Longman Publishing Co., Inc.
I. Sommerville, Software Engineering, 9th ed. Harlow,
England: Addison-Wesley, 2010.
G. R. M. Ferreira, “Tratamento de exce¸c˜oes no
desenvolvimento de sistemas confi´aveis baseados em
componentes,” Master’s thesis, IC, Unicamp, Dec. 2001.
P. H. S. Brito, “Um M´etodo para Modelagem de Exce¸c˜oes
em Desenvolvimento Baseado em Componentes,” Master’s
thesis, IC, Unicamp, Oct. 2005.
K. Schwaber, “SCRUM Development Process,” in
Proceedings of the 10th Annual ACM Conference on
Object Oriented Programming Systems, Languages, and
Applications (OOPSLA), pp. 117–134.
M. Cohn, User Stories Applied: For Agile Software
Development. Addison-Wesley, 2004.
K. Beck et al. (2001) Manifesto for Agile Software
Development. Accessed: 17 Apr 2015. [Online]. Available:
http://agilemanifesto.org
M. V. Zelkowitz and D. Wallace, “Experimental Validation
In Software Engineering,” Information and Software
Technology, vol. 39, pp. 735–743, 1997.
T. J. McCabe, “A Complexity Measure,” IEEE Trans.
Software Eng., vol. 2, no. 4, pp. 308–320, 1976.
23 / 23

Weitere ähnliche Inhalte

Was ist angesagt?

Research paper presentation on agile scrum
Research paper presentation on agile scrumResearch paper presentation on agile scrum
Research paper presentation on agile scrumAbdullah Raza
 
A NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESS
A NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESSA NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESS
A NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESSijseajournal
 
CIS 554 Entire Course NEW
CIS 554 Entire Course NEWCIS 554 Entire Course NEW
CIS 554 Entire Course NEWshyamuopuop
 
quality-assurance_best_practice_guide_4 0
quality-assurance_best_practice_guide_4 0quality-assurance_best_practice_guide_4 0
quality-assurance_best_practice_guide_4 0Andrei Hortúa
 
Istqb Agile-tester Extension
Istqb Agile-tester ExtensionIstqb Agile-tester Extension
Istqb Agile-tester ExtensionGirish Goutam
 
HKG15-904: Scrum and Kanban 101
HKG15-904: Scrum and Kanban 101HKG15-904: Scrum and Kanban 101
HKG15-904: Scrum and Kanban 101Linaro
 
OO Development 2 - Software Development Methodologies
OO Development 2 - Software Development MethodologiesOO Development 2 - Software Development Methodologies
OO Development 2 - Software Development MethodologiesRandy Connolly
 
Software Project management
Software Project managementSoftware Project management
Software Project managementsameer farooq
 
Is software engineering research addressing software engineering problems?
Is software engineering research addressing software engineering problems?Is software engineering research addressing software engineering problems?
Is software engineering research addressing software engineering problems?Gail Murphy
 
Making Effective, Useful Software Development Tools
Making Effective, Useful Software Development ToolsMaking Effective, Useful Software Development Tools
Making Effective, Useful Software Development ToolsGail Murphy
 
Rational Quality Manager
Rational Quality ManagerRational Quality Manager
Rational Quality ManagerAlan Kan
 
ATD-2018_kroth_agile_thinking
ATD-2018_kroth_agile_thinkingATD-2018_kroth_agile_thinking
ATD-2018_kroth_agile_thinkingNorbertKroth
 
PlacemakAR Application - Software Engineering Discussion
PlacemakAR Application - Software Engineering DiscussionPlacemakAR Application - Software Engineering Discussion
PlacemakAR Application - Software Engineering DiscussionKanishk Karanawat
 
Test Management in Agile - Agile testing Days 2018
Test Management in Agile - Agile testing Days 2018Test Management in Agile - Agile testing Days 2018
Test Management in Agile - Agile testing Days 2018Derk-Jan de Grood
 
Agile Maintenance
Agile MaintenanceAgile Maintenance
Agile MaintenanceNaresh Jain
 
Five benefits of agile practices in software intensive systems development
Five benefits of agile practices in software intensive systems developmentFive benefits of agile practices in software intensive systems development
Five benefits of agile practices in software intensive systems developmentIBM Rational software
 

Was ist angesagt? (20)

Research paper presentation on agile scrum
Research paper presentation on agile scrumResearch paper presentation on agile scrum
Research paper presentation on agile scrum
 
A NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESS
A NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESSA NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESS
A NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESS
 
Stepwise planning
Stepwise planningStepwise planning
Stepwise planning
 
Agile testing
Agile testingAgile testing
Agile testing
 
CIS 554 Entire Course NEW
CIS 554 Entire Course NEWCIS 554 Entire Course NEW
CIS 554 Entire Course NEW
 
Software project management 3
Software project management 3Software project management 3
Software project management 3
 
quality-assurance_best_practice_guide_4 0
quality-assurance_best_practice_guide_4 0quality-assurance_best_practice_guide_4 0
quality-assurance_best_practice_guide_4 0
 
Istqb Agile-tester Extension
Istqb Agile-tester ExtensionIstqb Agile-tester Extension
Istqb Agile-tester Extension
 
HKG15-904: Scrum and Kanban 101
HKG15-904: Scrum and Kanban 101HKG15-904: Scrum and Kanban 101
HKG15-904: Scrum and Kanban 101
 
OO Development 2 - Software Development Methodologies
OO Development 2 - Software Development MethodologiesOO Development 2 - Software Development Methodologies
OO Development 2 - Software Development Methodologies
 
Software Project management
Software Project managementSoftware Project management
Software Project management
 
Is software engineering research addressing software engineering problems?
Is software engineering research addressing software engineering problems?Is software engineering research addressing software engineering problems?
Is software engineering research addressing software engineering problems?
 
Making Effective, Useful Software Development Tools
Making Effective, Useful Software Development ToolsMaking Effective, Useful Software Development Tools
Making Effective, Useful Software Development Tools
 
Rational Quality Manager
Rational Quality ManagerRational Quality Manager
Rational Quality Manager
 
ATD-2018_kroth_agile_thinking
ATD-2018_kroth_agile_thinkingATD-2018_kroth_agile_thinking
ATD-2018_kroth_agile_thinking
 
PlacemakAR Application - Software Engineering Discussion
PlacemakAR Application - Software Engineering DiscussionPlacemakAR Application - Software Engineering Discussion
PlacemakAR Application - Software Engineering Discussion
 
Test Management in Agile - Agile testing Days 2018
Test Management in Agile - Agile testing Days 2018Test Management in Agile - Agile testing Days 2018
Test Management in Agile - Agile testing Days 2018
 
Agile Maintenance
Agile MaintenanceAgile Maintenance
Agile Maintenance
 
6 pma salehuddin - pqp & 3 core process procedures
6   pma salehuddin - pqp & 3 core process procedures6   pma salehuddin - pqp & 3 core process procedures
6 pma salehuddin - pqp & 3 core process procedures
 
Five benefits of agile practices in software intensive systems development
Five benefits of agile practices in software intensive systems developmentFive benefits of agile practices in software intensive systems development
Five benefits of agile practices in software intensive systems development
 

Andere mochten auch

Net governance digital natives newsletter
Net governance   digital natives newsletterNet governance   digital natives newsletter
Net governance digital natives newsletterNilofar Ansher
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1cattyloverose
 
2014 Venture Investments Report
2014 Venture Investments Report2014 Venture Investments Report
2014 Venture Investments ReportDonnovan Andrews
 
Mirsis Mastool Yönetim Beyanı Süreç Yönetimi
Mirsis Mastool Yönetim Beyanı Süreç YönetimiMirsis Mastool Yönetim Beyanı Süreç Yönetimi
Mirsis Mastool Yönetim Beyanı Süreç YönetimiMirsis Bilgi Teknolojileri
 
Danielle\'s Visual Resume
Danielle\'s Visual ResumeDanielle\'s Visual Resume
Danielle\'s Visual Resumedmhami3
 
Guide Marketing For Facebook
Guide Marketing For FacebookGuide Marketing For Facebook
Guide Marketing For FacebookIrwan Setiawan
 
Aasl learning standards
Aasl learning standardsAasl learning standards
Aasl learning standardsspcall
 
Callstandards
CallstandardsCallstandards
Callstandardsspcall
 
Dat testing - An introduction to Java and Android Testing
Dat testing - An introduction to Java and Android TestingDat testing - An introduction to Java and Android Testing
Dat testing - An introduction to Java and Android TestingSaúl Díaz González
 
Danielle\'s Visual Resume
Danielle\'s Visual ResumeDanielle\'s Visual Resume
Danielle\'s Visual Resumedmhami3
 
Presentatie Astorium
Presentatie AstoriumPresentatie Astorium
Presentatie AstoriumMustafa Cevik
 
Diapositivas vacaciones 11 (1)
Diapositivas vacaciones 11 (1)Diapositivas vacaciones 11 (1)
Diapositivas vacaciones 11 (1)garciafranklin
 
Boutique hotels in goa
Boutique hotels in goaBoutique hotels in goa
Boutique hotels in goapiresprisca
 
Expert Voices
Expert VoicesExpert Voices
Expert Voicesolmscheid
 

Andere mochten auch (20)

Net governance digital natives newsletter
Net governance   digital natives newsletterNet governance   digital natives newsletter
Net governance digital natives newsletter
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
Dom_Towarowy_Toruń_PDT
Dom_Towarowy_Toruń_PDTDom_Towarowy_Toruń_PDT
Dom_Towarowy_Toruń_PDT
 
2014 Venture Investments Report
2014 Venture Investments Report2014 Venture Investments Report
2014 Venture Investments Report
 
Mirsis Mastool Yönetim Beyanı Süreç Yönetimi
Mirsis Mastool Yönetim Beyanı Süreç YönetimiMirsis Mastool Yönetim Beyanı Süreç Yönetimi
Mirsis Mastool Yönetim Beyanı Süreç Yönetimi
 
Danielle\'s Visual Resume
Danielle\'s Visual ResumeDanielle\'s Visual Resume
Danielle\'s Visual Resume
 
Guide Marketing For Facebook
Guide Marketing For FacebookGuide Marketing For Facebook
Guide Marketing For Facebook
 
Aasl learning standards
Aasl learning standardsAasl learning standards
Aasl learning standards
 
Callstandards
CallstandardsCallstandards
Callstandards
 
Dat testing - An introduction to Java and Android Testing
Dat testing - An introduction to Java and Android TestingDat testing - An introduction to Java and Android Testing
Dat testing - An introduction to Java and Android Testing
 
Danielle\'s Visual Resume
Danielle\'s Visual ResumeDanielle\'s Visual Resume
Danielle\'s Visual Resume
 
Presentatie Astorium
Presentatie AstoriumPresentatie Astorium
Presentatie Astorium
 
The Android Gunslinger
The Android GunslingerThe Android Gunslinger
The Android Gunslinger
 
Diapositivas vacaciones 11 (1)
Diapositivas vacaciones 11 (1)Diapositivas vacaciones 11 (1)
Diapositivas vacaciones 11 (1)
 
Boutique hotels in goa
Boutique hotels in goaBoutique hotels in goa
Boutique hotels in goa
 
Expert Voices
Expert VoicesExpert Voices
Expert Voices
 
Air superiority for Android Apps
Air superiority for Android AppsAir superiority for Android Apps
Air superiority for Android Apps
 
Photoessay
PhotoessayPhotoessay
Photoessay
 
Yourprezi
YourpreziYourprezi
Yourprezi
 
De Mier Bis
De Mier BisDe Mier Bis
De Mier Bis
 

Ähnlich wie Agile2015 short paper presentation: Development of Complex Software with Agile Method

Seminar COTB25.pptx
Seminar COTB25.pptxSeminar COTB25.pptx
Seminar COTB25.pptxishantpatil1
 
Software Process Models
 Software Process Models  Software Process Models
Software Process Models MohsinAli773
 
Best Practices in Object Oriented Analysis and Design
Best Practices in Object Oriented Analysis and DesignBest Practices in Object Oriented Analysis and Design
Best Practices in Object Oriented Analysis and Designnguyencraft01
 
Jira for DevOps - Loves Cloud
Jira for DevOps - Loves CloudJira for DevOps - Loves Cloud
Jira for DevOps - Loves CloudLoves Cloud
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous DeliveryMike McGarr
 
Upstate CSCI 540 Agile Development
Upstate CSCI 540 Agile DevelopmentUpstate CSCI 540 Agile Development
Upstate CSCI 540 Agile DevelopmentDanWooster1
 
software project management
software project managementsoftware project management
software project managementJassir4
 
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISONSTATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISONijseajournal
 
Agile lifecycle handbook by bhawani nandan prasad
Agile lifecycle handbook by bhawani nandan prasadAgile lifecycle handbook by bhawani nandan prasad
Agile lifecycle handbook by bhawani nandan prasadBhawani N Prasad
 
Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Moataz Nabil
 
Agile Development Lifecycle and Best Practices with Denodo
Agile Development Lifecycle and Best Practices with DenodoAgile Development Lifecycle and Best Practices with Denodo
Agile Development Lifecycle and Best Practices with DenodoDenodo
 

Ähnlich wie Agile2015 short paper presentation: Development of Complex Software with Agile Method (20)

Unit -1.ppt
Unit -1.pptUnit -1.ppt
Unit -1.ppt
 
agile.ppt
agile.pptagile.ppt
agile.ppt
 
agile.ppt
agile.pptagile.ppt
agile.ppt
 
agile.ppt
agile.pptagile.ppt
agile.ppt
 
Agile
AgileAgile
Agile
 
agile.ppt
agile.pptagile.ppt
agile.ppt
 
Scrun Safe Ppt.pptx
Scrun Safe Ppt.pptxScrun Safe Ppt.pptx
Scrun Safe Ppt.pptx
 
Seminar COTB25.pptx
Seminar COTB25.pptxSeminar COTB25.pptx
Seminar COTB25.pptx
 
Software Process Models
 Software Process Models  Software Process Models
Software Process Models
 
Best Practices in Object Oriented Analysis and Design
Best Practices in Object Oriented Analysis and DesignBest Practices in Object Oriented Analysis and Design
Best Practices in Object Oriented Analysis and Design
 
Jira for DevOps - Loves Cloud
Jira for DevOps - Loves CloudJira for DevOps - Loves Cloud
Jira for DevOps - Loves Cloud
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Upstate CSCI 540 Agile Development
Upstate CSCI 540 Agile DevelopmentUpstate CSCI 540 Agile Development
Upstate CSCI 540 Agile Development
 
software project management
software project managementsoftware project management
software project management
 
Agile process
Agile processAgile process
Agile process
 
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISONSTATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
 
Agile lifecycle handbook by bhawani nandan prasad
Agile lifecycle handbook by bhawani nandan prasadAgile lifecycle handbook by bhawani nandan prasad
Agile lifecycle handbook by bhawani nandan prasad
 
SDET UNIT 1.pptx
SDET UNIT 1.pptxSDET UNIT 1.pptx
SDET UNIT 1.pptx
 
Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013
 
Agile Development Lifecycle and Best Practices with Denodo
Agile Development Lifecycle and Best Practices with DenodoAgile Development Lifecycle and Best Practices with Denodo
Agile Development Lifecycle and Best Practices with Denodo
 

Mehr von Alan Braz

Distributed Development of Cognitive Systems at IBM Research - Brazil - CBSof...
Distributed Development of Cognitive Systems at IBM Research - Brazil - CBSof...Distributed Development of Cognitive Systems at IBM Research - Brazil - CBSof...
Distributed Development of Cognitive Systems at IBM Research - Brazil - CBSof...Alan Braz
 
Você tem uma Personalidade Ágil?
Você tem uma Personalidade Ágil?Você tem uma Personalidade Ágil?
Você tem uma Personalidade Ágil?Alan Braz
 
Análise de sentimento durante a Copa usando Big Data
Análise de sentimento durante a Copa usando Big DataAnálise de sentimento durante a Copa usando Big Data
Análise de sentimento durante a Copa usando Big DataAlan Braz
 
É possível medir se um gigante é ágil?
É possível medir se um gigante é ágil?É possível medir se um gigante é ágil?
É possível medir se um gigante é ágil?Alan Braz
 
WBMA2013 - Método Ágil para desenvolvimento de software confiável
WBMA2013 - Método Ágil para desenvolvimento de software confiávelWBMA2013 - Método Ágil para desenvolvimento de software confiável
WBMA2013 - Método Ágil para desenvolvimento de software confiávelAlan Braz
 
Lean introduction
Lean introductionLean introduction
Lean introductionAlan Braz
 

Mehr von Alan Braz (6)

Distributed Development of Cognitive Systems at IBM Research - Brazil - CBSof...
Distributed Development of Cognitive Systems at IBM Research - Brazil - CBSof...Distributed Development of Cognitive Systems at IBM Research - Brazil - CBSof...
Distributed Development of Cognitive Systems at IBM Research - Brazil - CBSof...
 
Você tem uma Personalidade Ágil?
Você tem uma Personalidade Ágil?Você tem uma Personalidade Ágil?
Você tem uma Personalidade Ágil?
 
Análise de sentimento durante a Copa usando Big Data
Análise de sentimento durante a Copa usando Big DataAnálise de sentimento durante a Copa usando Big Data
Análise de sentimento durante a Copa usando Big Data
 
É possível medir se um gigante é ágil?
É possível medir se um gigante é ágil?É possível medir se um gigante é ágil?
É possível medir se um gigante é ágil?
 
WBMA2013 - Método Ágil para desenvolvimento de software confiável
WBMA2013 - Método Ágil para desenvolvimento de software confiávelWBMA2013 - Método Ágil para desenvolvimento de software confiável
WBMA2013 - Método Ágil para desenvolvimento de software confiável
 
Lean introduction
Lean introductionLean introduction
Lean introduction
 

Kürzlich hochgeladen

SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSneha Padhiar
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating SystemRashmi Bhat
 
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptx
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptxTriangulation survey (Basic Mine Surveying)_MI10412MI.pptx
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptxRomil Mishra
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfManish Kumar
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdfHafizMudaserAhmad
 
Javier_Fernandez_CARS_workshop_presentation.pptx
Javier_Fernandez_CARS_workshop_presentation.pptxJavier_Fernandez_CARS_workshop_presentation.pptx
Javier_Fernandez_CARS_workshop_presentation.pptxJavier Fernández Muñoz
 
Cost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionCost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionSneha Padhiar
 
Secure Key Crypto - Tech Paper JET Tech Labs
Secure Key Crypto - Tech Paper JET Tech LabsSecure Key Crypto - Tech Paper JET Tech Labs
Secure Key Crypto - Tech Paper JET Tech Labsamber724300
 
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.elesangwon
 
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdfAkritiPradhan2
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmDeepika Walanjkar
 
STATE TRANSITION DIAGRAM in psoc subject
STATE TRANSITION DIAGRAM in psoc subjectSTATE TRANSITION DIAGRAM in psoc subject
STATE TRANSITION DIAGRAM in psoc subjectGayathriM270621
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsResearcher Researcher
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTSneha Padhiar
 
priority interrupt computer organization
priority interrupt computer organizationpriority interrupt computer organization
priority interrupt computer organizationchnrketan
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHSneha Padhiar
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
Curve setting (Basic Mine Surveying)_MI10412MI.pptx
Curve setting (Basic Mine Surveying)_MI10412MI.pptxCurve setting (Basic Mine Surveying)_MI10412MI.pptx
Curve setting (Basic Mine Surveying)_MI10412MI.pptxRomil Mishra
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfBalamuruganV28
 

Kürzlich hochgeladen (20)

SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating System
 
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptx
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptxTriangulation survey (Basic Mine Surveying)_MI10412MI.pptx
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptx
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf
 
Javier_Fernandez_CARS_workshop_presentation.pptx
Javier_Fernandez_CARS_workshop_presentation.pptxJavier_Fernandez_CARS_workshop_presentation.pptx
Javier_Fernandez_CARS_workshop_presentation.pptx
 
Cost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionCost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based question
 
Secure Key Crypto - Tech Paper JET Tech Labs
Secure Key Crypto - Tech Paper JET Tech LabsSecure Key Crypto - Tech Paper JET Tech Labs
Secure Key Crypto - Tech Paper JET Tech Labs
 
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
 
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
STATE TRANSITION DIAGRAM in psoc subject
STATE TRANSITION DIAGRAM in psoc subjectSTATE TRANSITION DIAGRAM in psoc subject
STATE TRANSITION DIAGRAM in psoc subject
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending Actuators
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
 
priority interrupt computer organization
priority interrupt computer organizationpriority interrupt computer organization
priority interrupt computer organization
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
Curve setting (Basic Mine Surveying)_MI10412MI.pptx
Curve setting (Basic Mine Surveying)_MI10412MI.pptxCurve setting (Basic Mine Surveying)_MI10412MI.pptx
Curve setting (Basic Mine Surveying)_MI10412MI.pptx
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdf
 

Agile2015 short paper presentation: Development of Complex Software with Agile Method

  • 1. Development of Complex Software with Agile Method Alan Braz, Cec´ılia M. F. Rubira, Marco Vieira <alanbraz@br.ibm.com>, <cmrubira@ic.unicamp.br>, <mvieira@dei.uc.pt> Agile 2015 - Short Research paper @alanbraz Agile2015 August 5, 2015
  • 2. Development of Complex Software with Agile Method Agenda 1 Introduction and Motivation 2 Proposed solution 3 Controlled Experiment 4 Conclusion 2 / 23
  • 3. Development of Complex Software with Agile Method Introduction and Motivation Agenda 1 Introduction and Motivation 2 Proposed solution 3 Controlled Experiment 4 Conclusion 3 / 23
  • 4. Development of Complex Software with Agile Method Introduction and Motivation Introduction Dependability is no longer a mere nonfunctional requirement just inherent to critical systems Known applied solutions: Component-Based Development (CBD) [1] Architecture-Centric Development [2] 4 / 23
  • 5. Development of Complex Software with Agile Method Introduction and Motivation Related work Related work 2001 - Gisele R M Ferreira [3] Created the Methodology for the Definition of Exceptional Behavior (MDCE) Methodology to build fault-tolerant systems using techniques of exception handling Extends the UML with new stereotypes Case study appling it to Catalysis development process 2005 - Patrick Henrique da Silva Brito [4] Extended MDCE defining MDCE+ by systematizing the modeling and implementation of exceptional behavior Focus on antecipate exceptional behavior at the Architecture level Adapted the UML Components process 5 / 23
  • 6. Development of Complex Software with Agile Method Proposed solution Agenda 1 Introduction and Motivation 2 Proposed solution 3 Controlled Experiment 4 Conclusion 6 / 23
  • 7. Development of Complex Software with Agile Method Proposed solution Proposed solution Adapted agile development process based on Scrum [5] process that adds some MDCE+ practices and techniques to increase the robustness Scrum+CE (CE comes from Exceptional Behavior in Portuguese) Validation hypotheses: (i) less Story Points, and (ii) better quality of the final software in terms of less defects. 7 / 23
  • 8. Development of Complex Software with Agile Method Proposed solution Scrum+CE Scrum+CE phases Exception identification and definition of the exceptional behavior in the form of exceptional stories Components implementation and wrap creation for the reused components Separation of concerns between normal and exceptional components Analysis of the exceptional flow and catchers refinement Connectors implementation Pregame - Planning - System architecture/ high level design Postgame - Integration tests - Final wrap - Closure Game Sprints D evelop* W rap Review A djust * includes analysis, design and coding Description of exceptional assertive MDCE+ practices affecting Scrum phases. Extended from Schwaber:95 [5] 8 / 23
  • 9. Development of Complex Software with Agile Method Proposed solution Scrum+CE Relation between phases Table : Relation between MDCE+ and Scrum phases. Scrum Phases Scrum Events MDCE+ Phases Pregame Planning 1. Requirements specification and analysis 2. Management aspects definition System architecture / high level design 3. Architecture design Game Sprint Planning 1. Requirements specification and analysis 3. Architecture design 4. System analysis 5. System design Sprint 6. Components implementation 7. Components integration Sprint Review 1. Requirements specification and analysis 8. User-acceptance release Postgame Integration tests 7. Components integration Wrapping 8. Production Release deploy Closure 9 / 23
  • 10. Development of Complex Software with Agile Method Proposed solution Phases affected Pregame Planning Identify the exceptions and define the exceptional behavior in the form of Exceptional Stories Describe the exceptional assertive in the form of Acceptance Tests either at the normal behavior User Stories [6] or at the introduced Exceptional Stories Definition of “Done” “. . . and all exceptions were properly handled. . . ” System architecture / high level design New role: Architecture Owner New mandatory artifact: High Level Architecture document Architecture-Centric Development to expose exceptional components “The best architectures, requirements, and designs emerge from self-organizing teams” [7] 10 / 23
  • 11. Development of Complex Software with Agile Method Proposed solution Phases affected Game Exceptional Stories will be prioritized and selected from the Product Backlog just like the User Stories Tasks dedicated to the implementation of exceptional behavior should be created during the Sprint Planning meeting and added to the Sprint Backlog Architecture should be reviewed and updated when new exceptions are discovered 11 / 23
  • 12. Development of Complex Software with Agile Method Controlled Experiment Agenda 1 Introduction and Motivation 2 Proposed solution 3 Controlled Experiment 4 Conclusion 12 / 23
  • 13. Development of Complex Software with Agile Method Controlled Experiment Methodology Methodology Designed a controlled experiment in which a information-based software system, with dependability requirements relating to data consistency, were implemented Followed a controlled method called Synthetic Environment Experiments [8] (reduced version) Format of “Scrum in Practice” training lasting 2 weeks, composed by 3 teams of 4 participants each. 13 / 23
  • 14. Development of Complex Software with Agile Method Controlled Experiment Methodology Architecture DB2 OpenJPARestlet Browser Mobile Entities Exceptional Presentation Exceptional Persistence User Interface User Session / System Services Business Services Database JSON HTTP 14 / 23
  • 15. Development of Complex Software with Agile Method Controlled Experiment Methodology Agenda Table : Schedule of Sprint 1. Day Activity Duration 1 Reception and organization 2 hours Planning Meeting 2 hours 2 Daily Scrum 3 minutes Implementation day 1 2 hours Daily Scrum 3 minutes Implementation day 2 2 hours 3 Daily Scrum 3 minutes Implementation day 3 2 hours Daily Scrum 3 minutes Implementation day 4 2 hours 4 Daily Scrum 3 minutes Implementation day 5 2 hours Daily Scrum 3 minutes Implementation day 6 2 hours 5 Daily Scrum 3 minutes Implementation day 7 2 hours Review Meeting 2 hours Table : Schedule of Sprint 2. Day Activity Duration 1 Planning Meeting 2 hours Daily Scrum 3 minutes Implementation day 1 2 hours 2 Daily Scrum 3 minutes Implementation day 2 2 hours Daily Scrum 3 minutes Implementation day 3 2 hours 3 Daily Scrum 3 minutes Implementation day 4 2 hours Daily Scrum 3 minutes Implementation day 5 2 hours 4 Daily Scrum 3 minutes Implementation day 6 2 hours Daily Scrum 3 minutes Implementation day 7 2 hours 5 Collective Sprint Review Meeting 3 hours Collective Sprint Retrospective 1 hour 15 / 23
  • 16. Development of Complex Software with Agile Method Controlled Experiment Results Stories delivered Product Backlog G1 G2 G3 0 10 20 30 40 50 60 70 61 49 45 47 13 9 7 8 Story Points User Stories Figure : Total of Stories and Points delivered. Table : User Stories delivered by group Story Points G1 G2 G3 1 20 • • • 2 5 • • • 3 8 • • • 4 3 • • • 5 3 • • • 6 2 • • 7 1 • • • 8 3 9 5 • • • 10 2 • 11 2 12 5 13 2 Total stories 9 7 8 Total points 49 45 47 16 / 23
  • 17. Development of Complex Software with Agile Method Controlled Experiment Results Stories delivered G2 delivered 22% less stories than G1. G3 delivered 11% less stories than G1. User Stories Story Points -25.0% -20.0% -15.0% -10.0% -5.0% -22% -8% -11% -4% G1-G2 G1-G3 Figure : Comparing implemented stories between G1 and G2, and between G1 and G3. 17 / 23
  • 18. Development of Complex Software with Agile Method Controlled Experiment Results Requirements quality metrics Table : Number of tests executed and defects found by group. Metric G1 G2 G3 Tests executed 189 149 161 Failed tests 66 44 21 Fail rate 35% 30% 13% Tests executed Failed tests Fail rate -80% -70% -60% -50% -40% -30% -20% -10% 0% -21% -33% -5% -15% -68% -22% G1-G2 G1-G3 Figure : Comparing defects between G1 and G2, and between G1 and G3. G2 failed 5% less than G1. G3 failed 22% less than G1. 18 / 23
  • 19. Development of Complex Software with Agile Method Controlled Experiment Results Code quality metrics Metric G1 G2 G3 Lines of Code (LOC) 2232 1984 1950 Number of Classes 27 47 38 Number of Exceptions 1 21 2 Native catch blocks 53 18 33 Created catch blocks 9 12 6 Cyclomatic Complexity (CC) [9] 446 305 288 CC by class 15.9 4.5 7.2 CC by method 5.0 2.4 2.5 G2 and G3 produced 12% less lines of code than G1. G2 and G3 designed a complexity 33% smaller than G1. 19 / 23
  • 20. Development of Complex Software with Agile Method Conclusion Agenda 1 Introduction and Motivation 2 Proposed solution 3 Controlled Experiment 4 Conclusion 20 / 23
  • 21. Development of Complex Software with Agile Method Conclusion Consolidated results Applying Scrum+CE resulted in: Better code quality. Validated! 13.5% less defects on average! Complexity 33% smaller implies better code design! Delivered less Story Points but with fewer defects. Validated! Only 6% less due to the size of the experiment. Critic: The experiment does not scale! It is possible to develop complex software if Agile! Adding Exceptional Behavior handling does not compromise the agility. 21 / 23
  • 22. Development of Complex Software with Agile Method Conclusion Challenges It is really complicated (and expensive) to make quantitative experiments in Software Engineering. Despite the size of the experiment, in terms of number of participants and duration, we couldn’t apply any statistical analysis. The same experiment could be replicated with more groups or even bigger groups (scale). Applied to remodel software engineering practice courses. Research is not Agile :( 22 / 23
  • 23. Development of Complex Software with Agile Method Conclusion References C. Szyperski, Component Software: Beyond Object-Oriented Programming. Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc. I. Sommerville, Software Engineering, 9th ed. Harlow, England: Addison-Wesley, 2010. G. R. M. Ferreira, “Tratamento de exce¸c˜oes no desenvolvimento de sistemas confi´aveis baseados em componentes,” Master’s thesis, IC, Unicamp, Dec. 2001. P. H. S. Brito, “Um M´etodo para Modelagem de Exce¸c˜oes em Desenvolvimento Baseado em Componentes,” Master’s thesis, IC, Unicamp, Oct. 2005. K. Schwaber, “SCRUM Development Process,” in Proceedings of the 10th Annual ACM Conference on Object Oriented Programming Systems, Languages, and Applications (OOPSLA), pp. 117–134. M. Cohn, User Stories Applied: For Agile Software Development. Addison-Wesley, 2004. K. Beck et al. (2001) Manifesto for Agile Software Development. Accessed: 17 Apr 2015. [Online]. Available: http://agilemanifesto.org M. V. Zelkowitz and D. Wallace, “Experimental Validation In Software Engineering,” Information and Software Technology, vol. 39, pp. 735–743, 1997. T. J. McCabe, “A Complexity Measure,” IEEE Trans. Software Eng., vol. 2, no. 4, pp. 308–320, 1976. 23 / 23