SeminarAgileScience
-
Upload
ryan-haney -
Category
Documents
-
view
216 -
download
0
Transcript of SeminarAgileScience
-
8/7/2019 SeminarAgileScience
1/42
-
8/7/2019 SeminarAgileScience
2/42
2TELEFNICA I+D
2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
01 The Problem02 Agile Response
03 Scrum
04 eXtreme Programming
05 Agile Scientific Research
06 Conclusions
Index
-
8/7/2019 SeminarAgileScience
3/42
3TELEFNICA I+D
2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
3
Agile MethodsThe Problem
-
8/7/2019 SeminarAgileScience
4/42
-
8/7/2019 SeminarAgileScience
5/42
5TELEFNICA I+D
2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
The ProblemTechnologyEnvironment
01
Changes Requirements Scope
Technology
New Paradigm Technology
R e q u i r e m e n t s
known unknown
stable
unstable
simple
chaos
complexity
Requirements
Cost Date
Cost Date
Features
Plan DrivenPlan Driven Value DrivenValue Driven
FIX
ESTIMATE
TRADITIONAL AGILE
-
8/7/2019 SeminarAgileScience
6/42
6TELEFNICA I+D
2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
The ProblemSummary
The market demands and expects
innovative
high-quality software that meets its needs
and soon
01
-
8/7/2019 SeminarAgileScience
7/427
TELEFNICA I+D
2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
7
Agile MethodsThe Response
-
8/7/2019 SeminarAgileScience
8/428
TELEFNICA I+D
2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
Agile ResponseMarket Needs
EMBRACINGEMBRACING CHANGECHANGETraditionalAgile
Time
C o s
t
o f
C h a n g e
02
-
8/7/2019 SeminarAgileScience
9/42
9TELEFNICA I+D
2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
Agile ResponseWhat is software development?
MentalCreative
Human
Is a process of knowledge transformation
SoftwareProblem
Need Software Developer
Caso de Uso Clases An lisis Clases de Dise o C digo Componentes Ejecutables Librerias
Traceability
Knowledge Transformation
02
-
8/7/2019 SeminarAgileScience
10/42
10TELEFNICA I+D
2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
What is Agile?
Agile processes are iterativeprocesses that use specific project
management and softwareengineering practices to sustain the
delivery of new software
functionality every one to fourweeks
02
-
8/7/2019 SeminarAgileScience
11/42
11TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
Agile Manifesto
More ImportantImportant
individuals and interactionsprocesses and tools
working softwarecomprehensivedocumentation
customer collaborationcontract negotiation
responding to changefollowing a planwww.agilemanifesto.org
That is, while there is value in the items on the left, wevalue the items on the right more.
We are uncovering better ways of developing software bydoing it and helping others do it. Through this work wehave come to value:
02
-
8/7/2019 SeminarAgileScience
12/42
12TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
Agile Manifesto
More ImportantImportantindividuals and interactionsprocesses and tools
working softwarecomprehensivedocumentationcustomer collaborationcontract negotiation
responding to changefollowing a plan
www.agilemanifesto.org
That is, while there is value in the items on the left, wevalue the items on the right more.
We are uncovering better ways of developing software bydoing it and helping others do it. Through this work wehave come to value:
AGILAGILEE:
Only codeCreating and responding to change
02
-
8/7/2019 SeminarAgileScience
13/42
13TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
Agile Methods
Scrum
eXtreme Programming (XP)
Crystal
Feature Driven DevelopmentDynamic Systems Development Method
Adaptive Software Development
Lean Development
Pragmatic Programming
Inclusive
Rules
GenerativeRules
02
-
8/7/2019 SeminarAgileScience
14/42
14TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
Iterative vsWaterfall
Soft-NOT-aware
Software
Requirements
Analysis&Design
Implementation
Testing
DeploymentArchitectureRequirements
SoftwareSoftware
Paperware
Iteration1 Iteration2 Iteration3Release1Release2
Release3
Focus In Executable Software
You can't knoweverything atthe beginning
You learnas youwork
W A T E R F A L L
W A T E R F A L L
A G I L E
A G I L E
02
-
8/7/2019 SeminarAgileScience
15/42
15TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
Iterative vs. Waterfall
Soft-NOT-aware
Software
Requirements
Analysis&Design
Implementation
Testing
DeploymentArchitectureRequirements
Software
Software
Paperware
Iteration1 Iteration2 Iteration3Release1Release2
Release3
Focus In Executable Software
You can'tknow
everything atthe
beginning
You learnas youwork
W A T E R F A L L
W A T E R F A L L
A G I L E
A G I L E AdaptiveManagement
PredictiveManagement
what method fits mebest?
02
-
8/7/2019 SeminarAgileScience
16/42
16TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
Why Iterative Development?
knowledgeRisk
Iterations help acquiring knowledge
Of both theproblem and the
solution
Estimation Error
Short term is easierto predict and
estimate rather thanlong term
Time
Iterations
02
-
8/7/2019 SeminarAgileScience
17/42
17TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
What makes a development process Agile ?
Each iteration delivers working software .
The phases in each iteration arenearly concurrent .
Team uses specific engineering practices to keep the code base fresh and flexible .
Teams are self-managing .
Lean principles and techniques eliminatewaste whenever possible.
02
-
8/7/2019 SeminarAgileScience
18/42
18TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
Why adopt Agile processes?
Reduced time-to-market.
Increased innovation.
Business alignment.
Increased quality.
Reduces product and process waste.
High visibility and control over the project progress.
Empowered, motivated and self organizing Teams.
02
-
8/7/2019 SeminarAgileScience
19/42
19TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
What kind of change is required toadopt Agile?
Larger teams must be broken into smaller ones.Functional silos have to be broken down, or at leastweakened.
Specialists have to pick up new skills.
Teams must learn to self-manage, and managers mustlearn to let them.
Routine activities have to be automated.
02
-
8/7/2019 SeminarAgileScience
20/42
20TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
Where is Agile most suitable?
Projects with some degree of uncertainty aroundrequirements or technology.
Projects that arent too big or too small.
Projects with buy-in from team members, businessstakeholders, and management.
Collocated project teams andbusiness customers.
Projects using modern languagesand tools.
02
-
8/7/2019 SeminarAgileScience
21/42
21TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
How widely are Agile processesused?
02
-
8/7/2019 SeminarAgileScience
22/42
22TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
How to use
Scrum Scrum/ XPCustom/ DSDM
XP Hybrid OtherHybrid
37%
23%
12% 9%
5%
The State of Agile Development. Julio 2007-Version One
7272%%
Pilotexperience in
Telefnica I+D
02
-
8/7/2019 SeminarAgileScience
23/42
23TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
23
Agile MethodsScrum
-
8/7/2019 SeminarAgileScience
24/42
24TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
SCRUM: Planning Iterations
Source mountaingoatsoftware.com
03
-
8/7/2019 SeminarAgileScience
25/42
25TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
SCRUM: Planning Iterations
Iteration 1 Iteration 2 Iteration 3
Product Backlog
Assessment &Planning NextUse Cases
ImplementedRisk Addressed
03
-
8/7/2019 SeminarAgileScience
26/42
26TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
SCRUM: Framework
3 ROLES3 ROLES Product Owner Team Scrum Master
33 BACKLOGS
Product Backlog Sprint Backlog Impediments Backlog
44 MEETINGS Sprint Planning Daily Meeting Sprint Review Retrospective
EMPIRICAL PROCESSCONTROL
Transparency
Inspect
Adapt
03
-
8/7/2019 SeminarAgileScience
27/42
27TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
SprintSprintPlanningPlanning(I)(I)
SelectedSelectedProductProductBacklogBacklog
SprintSprintPlanningPlanning(II)(II)
IncrementIncrement
SprintSprintBacklogBacklog
RetrospectRetrospect
iveive
Sprint ReviewSprint Review
EstimationEstimationMeetingMeeting
VisionVision
SPRISPRINTNT 00
ImpedimentsImpedimentsBacklogBacklog
Daily MeetingDaily Meeting
H e c h o ? P e n d i e n t e ? T r a b a s ?
SPRISPRINTNT
ProductProd uctBacklogBacklog
SCRUM: Workflow03
-
8/7/2019 SeminarAgileScience
28/42
28TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
SCRUM: Sprint Backlog
P R I O R I T I Y
P R I O R I T I Y
I MPEDED
What doesDONE mean?
03
-
8/7/2019 SeminarAgileScience
29/42
29TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
SCRUM: Reports
Sprint Burndown ChartSprint Burndown Chart
R e m a
i n i n g
T i m e
R e m a
i n i n g
T i m e
daysdays
03
-
8/7/2019 SeminarAgileScience
30/42
30TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
30
Agile MethodseXtreme Programming
-
8/7/2019 SeminarAgileScience
31/42
31TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
Simple Design
Test-DrivenDevelopment
Pair Programming Refactoring
XP. Values & PracticesCOMMUNICATION SIMPLICITY
COURAGE FEEDBACK
Stub out codeWatch test fail Refactor
Repeat
Get test to pass
04
-
8/7/2019 SeminarAgileScience
32/42
32TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
XP. Values & PracticesCOMMUNICATION SIMPLICITY
COURAGE FEEDBACK
Simple
Design
Test-DrivenDevelopmen
t
PairProgramming Refactoring
Open Workspace
CollectiveOwnership
ContinuousIntegration
Metaphor
SustainablePace
CodingStandard
Acceptance Tests
One Team
Iterations
Small Releases
Release Plan
Retrospective
User Stories
Onsite Customer
04
-
8/7/2019 SeminarAgileScience
33/42
33TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
XP: Planning/Feedback Loop
Code
Pair Programming
Unit Test
Pair Negotiation
Stand Up Meeting
Acceptance Test
Iteration Plan
Release Plan
04
-
8/7/2019 SeminarAgileScience
34/42
34TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
XP: Employment Practices
The State of Agile Development. July 2007-Version One
Agile Practices
04
-
8/7/2019 SeminarAgileScience
35/42
35TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
3535
Agile MethodsAgile Scientific Research
05
-
8/7/2019 SeminarAgileScience
36/42
36TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
36
Agile Scientific ResearchThe Scientific Process
05
05
-
8/7/2019 SeminarAgileScience
37/42
37TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
Agile Scientific ResearchThe Scientific Process
What does the scientific method share with AgileMethodologies? Iterative
Fast-changing requirements
Test-driven (Hypothesis-driven)
Pair-programming (Peer review)
Simple Design (Occams Razor)
37
05
05
-
8/7/2019 SeminarAgileScience
38/42
38TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
Agile Scientific ResearchPlanning iterations
Iteration 0: build up general hypothesis List of stories -> things we would like to say in our final
article Optionally, write the article itself in this first iteration
Every 1-2 weeks come up with a list of prioritized tasks List all possible tasks (ideally 1-2 day workload)
Measure interest of the task towards final goal
Measure cost in terms of predicted hours of work
List them in order of priority value (= interest cost) For ties, value more those that have less cost (Occams Razor)
In the iteration planning re-evaluate general hypothesis
38
05
05
-
8/7/2019 SeminarAgileScience
39/42
39TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
Agile Scientific ResearchTest Driven Development
Plan stories and tasks by writing the tests first Use test as an executable hypothesis
If I can prove hypothesis H then it should happen that tests t1 and t2 shouldpass
Maintain collection of tests as a record of experiments
Use the red-green-refactor cycle Refactor to refine your theory while still being consistent to experimental data
39
05
-
8/7/2019 SeminarAgileScience
40/42
40TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
4040
Agile MethodsConclusions
06
-
8/7/2019 SeminarAgileScience
41/42
41TELEFNICA I+D 2008 Telefnica Investigacin y Desarrollo, S.A. Unipersonal
Conclusions
Scientific Research is an iterative process with fastchanging requirements It can be managed as an Agile project
Many of the Agile practices are applicable
Agile can help improve focus, performance, and helpresearchers accomplish goals in a timely fashion
41
To deliver high qualityhig h quality, runningrunning ,
testedtested storiesstories that meet the businessmeet the businessneed in a predictablepredictable, efficientefficient andcollaborativecollaborative manner on time, on
budget!
06
-
8/7/2019 SeminarAgileScience
42/42