Your SlideShare is downloading. ×
0
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Agile steps to improve the status quo
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Agile steps to improve the status quo

605

Published on

I used this set of slides for a talk I gave at the SCRUM Breakfast in Bern on June 30, 2010.

I used this set of slides for a talk I gave at the SCRUM Breakfast in Bern on June 30, 2010.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
605
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. agile steps to improve the status quo www.tudorgirba.com
  • 2. www.tudorgirba.com
  • 3. 2002 www.tudorgirba.com
  • 4. PhD 2002 2005 www.tudorgirba.com
  • 5. PhD PostDoc 2002 2005 2009 www.tudorgirba.com
  • 6. PhD PostDoc 2002 2005 2009 Consultant www.tudorgirba.com
  • 7. agile steps to improve the status quo www.tudorgirba.com
  • 8. agile steps challenge to improve demo the status quo listen enable www.tudorgirba.com
  • 9. the status quo
  • 10. the status quo the existing state of affairs
  • 11. Picture by _FXR
  • 12. Picture by _FXR F = m .a
  • 13. E = m. c 2
  • 14. pos t-it
  • 15. the status quo the existing state of affairs
  • 16. the status quo the sum of our assumptions
  • 17. It’s not what you don’t know that kills you, it’s what you know that isn’t so o Tom de Marc
  • 18. challenge
  • 19. challenge present
  • 20. presenting is storytelling
  • 21. story = fairy tale
  • 22. design your story
  • 23. message message message message message message message message message message message message essage message message message message message message message message message message message message message message message message message message message message message message message message
  • 24. message message message message message message message message message message message message essage message message message message message message message message message message message message message message message message message message message message message message message message
  • 25. one message
  • 26. Modeling History to Understand Software Evolution Inauguraldissertation der Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern vorgelegt von Tudor Gîrba von Rumänien Leiter der Arbeit: Prof. Dr. Stéphane Ducasse Prof. Dr. Oscar Nierstrasz Institut für Informatik und angewandte Mathematik
  • 27. To provide a generic meta-model for expressing software evolution analyses, Modeling History we need to recognize to Understand Software Evolution evolution as an explicit phenomenon and model Inauguraldissertation der Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern it as a first class entity. vorgelegt von Tudor Gîrba von Rumänien Leiter der Arbeit: Prof. Dr. Stéphane Ducasse Prof. Dr. Oscar Nierstrasz Institut für Informatik und angewandte Mathematik
  • 28. one message
  • 29. deliver one message
  • 30. slides
  • 31. slides are visual aids
  • 32. slides are visual aids
  • 33. Important sign 1. At this sign, stop, look around and proceed if no other car is coming your way. 2. Important!!!! The cars coming from the other directions will not have to stop. 3. This sign was put here by the authorities in charge. 4. This sign concerns vehicles only. Pedestrians should look at the signs dedicated to them. 5. This sign should not be touched or hindered in any way. Any violation is punishable according to the law.
  • 34. STOP
  • 35. Important sign • At this sign, stop, look around and proceed if no other car is STOP coming your way. • Important!!!! The cars coming from the other directions will not have to stop. • This sign was put here by the authorities in charge. • This sign concerns vehicles only. Pedestrians should look at the signs dedicated to them. • This sign should not be touched or hindered in any way. Any violation is punishable according to the law.
  • 36. tailed effective de Important sign • At this sign, stop, look around and proceed if no other car is STOP coming your way. • Important!!!! The cars coming from the other directions will not have to stop. • This sign was put here by the authorities in charge. • This sign concerns vehicles only. Pedestrians should look at the signs dedicated to them. • This sign should not be touched or hindered in any way. Any violation is punishable according to the law.
  • 37. projector = screen
  • 38. in bet ween th e sto r y is
  • 39. slides are visual aids
  • 40. slides are visual aids
  • 41. en.com rte.com pre se ntationz blog.du a kin.com fthenap t hebacko tudorgirba.com/blog
  • 42. www.ted.com
  • 43. presenting is storytelling
  • 44. challenge present
  • 45. challenge present demo
  • 46. content
  • 47. content form
  • 48. content form
  • 49. content form
  • 50. yesterday’s weather
  • 51. 30%
  • 52. 30% 90%
  • 53. yesterdayWeatherProbabilityWithTopPreviousWENM: topPreviousWENM andTopCurrentENM: topCurrentENM | currentVersions previousClassHistoriesSortedByWENM yesterdayWeatherHits last2VersionsTopHistories last2Versions last2HistoriesSortedByENM x valuesCount previousVersionsTopHistories previousVersionsTopHistoriesNames over | currentVersions := OrderedCollection new. currentVersions addLast: (self allVersionNames at: 1). yesterdayWeatherHits := 0. (2 to: self allVersionNames size) do: [: i | self smelly: 'this algorithm is too big and complex'. previousClassHistoriesSortedByWENM := (self classHistories selectFromReferenceVersionCollection: currentVersions) sortBy: [:a :b | a value getWENM >= b value getWENM]. currentVersions addLast: (self allVersionNames at: i). previousVersionsTopHistories := OrderedCollection new. x := previousClassHistoriesSortedByWENM first value getWENM. valuesCount := 0. previousClassHistoriesSortedByWENM do: [ :each | (each value getWENM ~= x) ifTrue: [ valuesCount := valuesCount + 1. x:= each value getWENM]. (valuesCount < topPreviousWENM) ifTrue: [ previousVersionsTopHistories addLast: each] ]. last2VersionsTopHistories := OrderedCollection new. last2Versions := OrderedCollection new. last2Versions addLast: (self allVersionNames at: (i-1)). last2Versions addLast: (self allVersionNames at: i).
  • 54. valuesCount := valuesCount + 1. x:= each value getWENM]. (valuesCount < topPreviousWENM) ifTrue: [ previousVersionsTopHistories addLast: each] ]. last2VersionsTopHistories := OrderedCollection new. last2Versions := OrderedCollection new. last2Versions addLast: (self allVersionNames at: (i-1)). last2Versions addLast: (self allVersionNames at: i). last2HistoriesSortedByENM := (self classHistories selectFromReferenceVersionCollection: last2Versions) sortBy: [:a :b | a value getWENM >= b value getWENM]. x := last2HistoriesSortedByENM first value getENM. valuesCount := 0. last2HistoriesSortedByENM do: [ :each | (each value getENM ~= x) ifTrue: [ valuesCount := valuesCount + 1. x:= each value getENM]. (valuesCount < topCurrentENM) ifTrue: [ last2VersionsTopHistories addLast: each] ]. previousVersionsTopHistoriesNames := previousVersionsTopHistories collect: [ :each | each value name]. over := false. last2VersionsTopHistories do: [:each | ((previousVersionsTopHistoriesNames includes: (each value name)) and: [over not]) ifTrue: [ yesterdayWeatherHits := yesterdayWeatherHits + 1. over := true]. ]. ]. ^yesterdayWeatherHits/(self size - 1) asFloat.
  • 55. yesterdayWeatherProbabilityWithTopPreviousWENM: topPreviousWENM andTopCurrentENM: topCurrentENM | currentVersions previousClassHistoriesSortedByWENM yesterdayWeatherHits last2VersionsTopHistories last2Versions last2HistoriesSortedByENM x valuesCount previousVersionsTopHistories previousVersionsTopHistoriesNames over | currentVersions := OrderedCollection new. currentVersions addLast: (self allVersionNames at: 1). yesterdayWeatherHits := 0. (2 to: self allVersionNames size) do: [: i | self smelly: 'this algorithm is too big and complex'. previousClassHistoriesSortedByWENM := (self classHistories selectFromReferenceVersionCollection: currentVersions) sortBy: [:a :b | a value getWENM >= b value getWENM]. currentVersions addLast: (self allVersionNames at: i). previousVersionsTopHistories := OrderedCollection new. x := previousClassHistoriesSortedByWENM first value getWENM. valuesCount := 0. previousClassHistoriesSortedByWENM do: [ :each | (each value getWENM ~= x) ifTrue: [ valuesCount := valuesCount + 1. x:= each value getWENM]. (valuesCount < topPreviousWENM) ifTrue: [ previousVersionsTopHistories addLast: each] ]. last2VersionsTopHistories := OrderedCollection new. last2Versions := OrderedCollection new. last2Versions addLast: (self allVersionNames at: (i-1)). last2Versions addLast: (self allVersionNames at: i).
  • 56. yesterdayWeatherProbabilityWithTopPreviousWENM: topPreviousWENM andTopCurrentENM: topCurrentENM | currentVersions previousClassHistoriesSortedByWENM yesterdayWeatherHits last2VersionsTopHistories last2Versions last2HistoriesSortedByENM x valuesCount previousVersionsTopHistories previousVersionsTopHistoriesNames over | currentVersions := OrderedCollection new. currentVersions addLast: (self allVersionNames at: 1). yesterdayWeatherHits := 0. (2 to: self allVersionNames size) do: [: i | self smelly: 'this algorithm is too big and complex'. previousClassHistoriesSortedByWENM := (self classHistories selectFromReferenceVersionCollection: currentVersions) sortBy: [:a :b | a value getWENM >= b value getWENM]. currentVersions addLast: (self allVersionNames at: i). previousVersionsTopHistories := OrderedCollection new. x := previousClassHistoriesSortedByWENM first value getWENM. valuesCount := 0. previousClassHistoriesSortedByWENM do: [ :each | (each value getWENM ~= x) ifTrue: [ valuesCount := valuesCount + 1. x:= each value getWENM]. (valuesCount < topPreviousWENM) ifTrue: [ previousVersionsTopHistories addLast: each] ]. last2VersionsTopHistories := OrderedCollection new. last2Versions := OrderedCollection new. last2Versions addLast: (self allVersionNames at: (i-1)). last2Versions addLast: (self allVersionNames at: i).
  • 57. present
  • 58. past present
  • 59. past future present
  • 60. past future present
  • 61. past future present
  • 62. past future prediction hit present
  • 63. past future YesterdayWeatherHit(present): past:=all.topChanged(beginning, present) future:=all.topChanged(present, end) past.intersect(future).notEmpty() prediction hit present
  • 64. hit hit hit YW = 3 / 8 = 37% hit hit hit hit hit hit hit YW = 7 / 8 = 87%
  • 65. yWFor: yesterdayCheck for: tomorrowCheck ^ ( 3 to: self versions size ) collect: [ :i | | yesterday tomorrow | yesterday := self selectByExpression: yesterdayCheck appliedFromVersionIndex: 1 toVersionIndexAndPresentInIt: i - 1. tomorrow := self selectByExpression: tomorrowCheck appliedFromVersionIndexAndPresentInIt: i - 1 toVersionIndex: self versions size. yesterday intersectWith: tomorrow ] yWFor: yesterdayCheck for: tomorrowCheck | hits | hits := (self detailedYWFor: yesterdayCheck for: tomorrowCheck) sum: [ :each | each isEmpty ifTrue: [0] ifFalse: [1]]. ^ hits / (self versions size - 2)
  • 66. content form
  • 67. content form
  • 68. challenge demo
  • 69. challenge demo listen
  • 70. challenge demo listen enable
  • 71. It’s not Lupus
  • 72. logy ed techno establish
  • 73. logy ed techno establish
  • 74. logy ed techno establish
  • 75. hn ive gy tec rupt olo dis logy ed techno establish
  • 76. 1 2 3 4 5 6 7 8 9 10 15 11 13 14 12
  • 77. 1 2 3 4 5 6 7 8 9 10 15 11 13 14 12
  • 78. 1 2 3 4 5 6 7 8 9 10 11 13 14 15 12
  • 79. 1 2 3 4 5 6 7 8 9 10 11 13 14 15 12
  • 80. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 81. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
  • 82. 1 2 3 4 5 6 7 8 9 10 11 12
  • 83. What Where When Who How
  • 84. What Why Where When Who How
  • 85. challenge demo listen enable
  • 86. agile steps challenge to improve demo the status quo listen enable www.tudorgirba.com

×