The Empirical Process           - at the very core of agile everythingDaniel Brolund@danielbrolunddaniel.brolund@agical.com
Lets start with an exercise!Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
Lets start with an exercise!                         Drop-                         zoneDaniel Brolund — @danielbrolund — d...
Lets start with an exercise!                         Drop-                         zoneDaniel Brolund — @danielbrolund — d...
Lets start with an exercise!                                     Robot                         Drop-                      ...
Lets start with an exercise!                                                        Controller                            ...
Lets start with an exercise!                                                                     ↑                        ...
Lets start with an exercise!           Goal: Max nr of paper           balls in dropzone!                                 ...
Discussion - groups of 4-6Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
Discussion - groups of 4-6       What happened?Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
An everyday empirical process...Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
An everyday empirical process...                       MeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
An everyday empirical process...                       MeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
An everyday empirical process...                       MeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
An everyday empirical process...                       MeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
An everyday empirical process...                       MeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
An everyday empirical process...                       MeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
An everyday empirical process...                       MeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
An everyday empirical process...                 Do I jump in...?                       MeDaniel Brolund — @danielbrolund ...
An everyday empirical process...                              Do I jump in...?Schematic:                          Me      ...
An everyday empirical process...                              Do I jump in...?                 DesiredSchematic:          ...
An everyday empirical process...                              Do I jump in...?                 DesiredSchematic:          ...
An everyday empirical process...                              Do I jump in...?                 Desired                    ...
An everyday empirical process...                                        Do I jump in...?                           Desired...
An everyday empirical process...                                        Do I jump in...?                           Desired...
An everyday empirical process...                                        Do I jump in...?                           Desired...
An everyday empirical process...                                        Do I jump in...?                           Desired...
An everyday empirical process...                                           Do I jump in...?                           Desi...
An everyday empirical process...                                           Do I jump in...?                           Desi...
An everyday empirical process...                                           Do I jump in...?                           Desi...
An everyday empirical process...                                          Do I jump in...?                           Desir...
An everyday empirical process...                                          Do I jump in...?                           Desir...
An everyday empirical process...                                          Do I jump in...?                           Desir...
An everyday empirical process...                                          Do I jump in...?                           Desir...
An everyday empirical process...                                          Do I jump in...?                           Desir...
An everyday empirical process...                                          Do I jump in...?                           Desir...
An everyday empirical process...                                          Do I jump in...?                           Desir...
An everyday empirical process...                                          Do I jump in...?                           Desir...
An everyday empirical process...                                          Do I jump in...?                           Desir...
What is the control error?Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
What is the control error?        Temp                                       TimeDaniel Brolund — @danielbrolund — daniel....
What is the control error?        Temp     Desired                                       TimeDaniel Brolund — @danielbrolu...
What is the control error?        Temp     Desired     Actual                                       TimeDaniel Brolund — @...
What is the control error?        Temp     Desired     Actual                                       TimeDaniel Brolund — @...
What is the control error?        Temp                                                  "Error surface"     Desired     Ac...
What is the control error?        Temp                                                  "Error surface"     Desired     Ac...
What is the control error?          Temp                                                    "Error surface"       Desired ...
What is the control error?          Temp                                                    "Error surface"       Desired ...
What is the control error?          Temp                                                    "Error surface"       Desired ...
The "simplistic" solution                       SystemDesired                 input            Actual          Controller ...
The "simplistic" solution                       System                                                                    ...
The "simplistic" solution                       System                                                                    ...
The "simplistic" solution                       System                                                                    ...
The "simplistic" solution                                  ε                                Errors                       S...
The "simplistic" solution                                  ε                                Errors                       S...
The "simplistic" solution                                  ε                                Errors                       S...
The "simplistic" solution          Complexity System                                    ε                                 ...
The "simplistic" solution          Complexity System                                    ε                                 ...
Exercise 2                                                          Controller                         Drop-              ...
Exercise 2       As before, but now      only one step at a time!                                                         ...
Exercise 2       As before, but now      only one step at a time!                                                         ...
Exercise 2       As before, but now      only one step at a time!                                                         ...
Exercise 2       As before, but now      only one step at a time!                                                         ...
Exercise 2       As before, but now      only one step at a time!                                                         ...
Exercise 2       As before, but now      only one step at a time!                                                         ...
Exercise 2       As before, but now      only one step at a time!                                                         ...
Exercise 2       As before, but now      only one step at a time!                                                         ...
Discussion - groups of 4-6Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
Discussion - groups of 4-6What happened this time?Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
Adding feedback!    Desired                                          System               Controller                      ...
Adding feedback!                  Desired                                                               System            ...
Adding feedback!                  Desired                                                               System            ...
Adding feedback!                  Desired                                                               System            ...
Adding feedback!                                             Observed                                              result ...
Adding feedback!                                                     Observed                                             ...
Adding feedback!                                                          Observed                                        ...
Adding feedback!                                                          Observed                                        ...
Adding feedback!                                                          Observed                                        ...
Adding feedback!                                                          Observed                                        ...
Adding feedback!                                                          Observed                                        ...
Adding feedback!                                                          Observed                                        ...
What is the control error now?Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
What is the control error now?        Temp     Desired     ActualDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
What is the control error now?        Temp     Desired     ActualDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
What is the control error now?        Temp     Desired     Actual Control Error = ∫|Desired-Actual|Daniel Brolund — @danie...
What is the control error now?        Temp     Desired     Actual Control Error = ∫|Desired-Actual|Daniel Brolund — @danie...
What is the control error now?          Temp       Desired       Actual   Control Error = ∫|Desired-Actual|Control error  ...
What is the control error now?          Temp       Desired       Actual   Control Error = ∫|Desired-Actual|Control error  ...
What is the control error now?          Temp       Desired       Actual   Control Error = ∫|Desired-Actual|Control error  ...
In software: There are many feedback loops at play!       Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
In software: There are many feedback loops at play!       Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
In software: There are many feedback loops at play!             Live user feedback/release       Daniel Brolund — @danielb...
In software: There are many feedback loops at play!             Live user feedback/release   Usability tests       Daniel ...
In software: There are many feedback loops at play!             Live user feedback/release   Usability tests       Daniel ...
In software: There are many feedback loops at play!                                                            Retrospecti...
In software: There are many feedback loops at play!                                                             Whiteboard...
In software: There are many feedback loops at play!                                                                Daily s...
In software: There are many feedback loops at play!                                                                Daily s...
In software: There are many feedback loops at play!                                                              ATDD     ...
In software: There are many feedback loops at play!                                                     TDD               ...
In software: There are many feedback loops at play!                                                     TDD               ...
In software: There are many feedback loops at play!                                          Pairing                      ...
In software: There are many feedback loops at play!                        Compilation       Pairing                      ...
In software: There are many feedback loops at play!         Squiggles      Compilation       Pairing                      ...
In software: There are many feedback loops at play!         Squiggles      Compilation       Pairing                      ...
Exercise 3: Draw your own feedback loops                          TDD 10s                     Retros 1w                   ...
Exercise 4                                                    Controller                                 Robot            ...
Exercise 4As before, but nownow three steps at a       time!                                                     Controlle...
Exercise 4As before, but nownow three steps at a                                                                  ↑       ...
Exercise 4As before, but nownow three steps at a                                                                  ↑       ...
Exercise 4As before, but nownow three steps at a                                                                  ↑       ...
Exercise 4As before, but nownow three steps at a                                                                  ↑       ...
Exercise 4As before, but nownow three steps at a                                                                  ↑       ...
Exercise 4As before, but nownow three steps at a                                                                  ↑       ...
Exercise 4As before, but nownow three steps at a                                                                  ↑       ...
Exercise 4As before, but nownow three steps at a                                                                  ↑       ...
Exercise 4As before, but nownow three steps at a                                                                  ↑       ...
Exercise 4As before, but nownow three steps at a                                                                  ↑       ...
Exercise 4As before, but nownow three steps at a                                                                  ↑       ...
Discussion - groups of 4-6Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
Discussion - groups of 4-6What happened this time?Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
The impact of delay    Desired                                          System                                            ...
The impact of delay                             Desired                                                                  S...
The impact of delay                                                                                     Delay             ...
The impact of delay                                                                                        Delay          ...
The impact of delay                                                                                           Delay       ...
The impact of delay                                                                                            Delay      ...
The impact of delay                                                                                            Delay      ...
The impact of delay                                                                                              Delay    ...
The impact of delay                                                                                              Delay    ...
The impact of delay                                                                                              Delay    ...
The impact of delay                                                                                              Delay    ...
Delay considerationsDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
Delay considerations     Temp  DesiredTap tempObserved result            Daniel Brolund — @danielbrolund — daniel.brolund@...
Delay considerations     Temp                                         delay > half of required                            ...
Delay considerations     Temp                                         delay > half of required                            ...
More delay considerationsDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
More delay considerations                                                System                                           ...
More delay considerations                                                           System                                ...
More delay considerations                                                           System                                ...
More delay considerations                                                           System                                ...
More delay considerations                                                                System                           ...
More delay considerations                                                            System                               ...
More delay considerations                                                           System                                ...
Feedback delay considerationsDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
Feedback delay considerationsFeedback cycle-time sweet- spots are different due to   processing and delays          Daniel...
Feedback delay considerationsFeedback cycle-time sweet- spots are different due to   processing and delaysslower thatdesir...
Feedback delay considerationsFeedback cycle-time sweet- spots are different due to   processing and delaysslower that     ...
Feedback delay considerationsFeedback cycle-time sweet- spots are different due to   processing and delaysslower that     ...
Observability and controllabilityDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
Observability and controllability          -Desired                                               Actual                  ...
Observability and controllability                                    Uncontrollable          -Desired                     ...
Observability and controllability                                    Uncontrollable          -Desired                     ...
Observability and controllability                                    Uncontrollable                                       ...
Observability and controllability                                    Uncontrollable                                       ...
Observability and controllability                                    Uncontrollable                                       ...
Observability and controllability                                    Uncontrollable                                       ...
Observability and controllability                                     Uncontrollable                                      ...
Observability and controllability                                    Uncontrollable                                       ...
Observability and controllability                                    Uncontrollable                                       ...
Observability and controllability                                    Uncontrollable                                       ...
Observability and controllability                                    Uncontrollable                                       ...
Observability and controllability                                    Uncontrollable                                       ...
Observability and controllability                                    Uncontrollable                                       ...
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
The empirical process at Agile India 2012
Upcoming SlideShare
Loading in …5
×

The empirical process at Agile India 2012

657 views
591 views

Published on

Published in: Business, Technology
2 Comments
1 Like
Statistics
Notes
No Downloads
Views
Total views
657
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
73
Comments
2
Likes
1
Embeds 0
No embeds

No notes for slide

The empirical process at Agile India 2012

  1. 1. The Empirical Process - at the very core of agile everythingDaniel Brolund@danielbrolunddaniel.brolund@agical.com
  2. 2. Lets start with an exercise!Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  3. 3. Lets start with an exercise! Drop- zoneDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  4. 4. Lets start with an exercise! Drop- zoneDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  5. 5. Lets start with an exercise! Robot Drop- zoneDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  6. 6. Lets start with an exercise! Controller Robot Drop- zoneDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  7. 7. Lets start with an exercise! ↑ Controller Robot ↑ Drop- P zone ↑ DDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  8. 8. Lets start with an exercise! Goal: Max nr of paper balls in dropzone! ↑ Controller Robot ↑ Drop- P zone ↑ DDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  9. 9. Discussion - groups of 4-6Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  10. 10. Discussion - groups of 4-6 What happened?Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  11. 11. An everyday empirical process...Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  12. 12. An everyday empirical process... MeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  13. 13. An everyday empirical process... MeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  14. 14. An everyday empirical process... MeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  15. 15. An everyday empirical process... MeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  16. 16. An everyday empirical process... MeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  17. 17. An everyday empirical process... MeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  18. 18. An everyday empirical process... MeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  19. 19. An everyday empirical process... Do I jump in...? MeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  20. 20. An everyday empirical process... Do I jump in...?Schematic: Me Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  21. 21. An everyday empirical process... Do I jump in...? DesiredSchematic: Me Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  22. 22. An everyday empirical process... Do I jump in...? DesiredSchematic: MeDesired Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  23. 23. An everyday empirical process... Do I jump in...? Desired ControllerSchematic: MeDesired Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  24. 24. An everyday empirical process... Do I jump in...? Desired ControllerSchematic: MeDesired Controller Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  25. 25. An everyday empirical process... Do I jump in...? Desired Controller System inputSchematic: MeDesired Controller Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  26. 26. An everyday empirical process... Do I jump in...? Desired Controller System inputSchematic: Me SystemDesired input Controller Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  27. 27. An everyday empirical process... Do I jump in...? Desired System Controller System inputSchematic: Me SystemDesired input Controller Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  28. 28. An everyday empirical process... Do I jump in...? Desired System Controller System inputSchematic: Me SystemDesired input Controller System Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  29. 29. An everyday empirical process... Do I jump in...? Desired System Controller Actual System inputSchematic: Me SystemDesired input Controller System Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  30. 30. An everyday empirical process... Do I jump in...? Desired System Controller Actual System inputSchematic: Me SystemDesired input Actual Controller System Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  31. 31. An everyday empirical process... Do I jump in...? Desired Actual==Desired ? System Controller Actual System inputSchematic: Me SystemDesired input Actual Controller System Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  32. 32. An everyday empirical process... Do I jump in...? Desired Actual==Desired ? System Controller Actual System inputSchematic: Me System TempDesired input Actual Controller System Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  33. 33. An everyday empirical process... Do I jump in...? Desired Actual==Desired ? System Controller Actual System inputSchematic: Me System TempDesired input Actual Controller System Desired Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  34. 34. An everyday empirical process... Do I jump in...? Desired Actual==Desired ? System Controller Actual System inputSchematic: Me System TempDesired input Actual Controller System Desired Actual Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  35. 35. An everyday empirical process... Do I jump in...? Desired Actual==Desired ? System Controller Actual System inputSchematic: Me System TempDesired input Actual Controller System Desired Actual Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  36. 36. An everyday empirical process... Do I jump in...? Desired Actual==Desired ? System Controller Actual System inputSchematic: Me System TempDesired input Actual Controller System Desired Actual Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  37. 37. An everyday empirical process... Do I jump in...? Desired Actual==Desired ? System Controller Actual System inputSchematic: Me System TempDesired input Actual Controller System Desired Actual Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  38. 38. An everyday empirical process... Do I jump in...? Desired Actual==Desired ? System Controller Actual System inputSchematic: Me System TempDesired input Actual Controller System ? Desired Actual Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  39. 39. An everyday empirical process... Do I jump in...? Desired Actual==Desired ? System Controller Actual System inputSchematic: Me System TempDesired input Actual Controller System Desired Actual Robot Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  40. 40. What is the control error?Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  41. 41. What is the control error? Temp TimeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  42. 42. What is the control error? Temp Desired TimeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  43. 43. What is the control error? Temp Desired Actual TimeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  44. 44. What is the control error? Temp Desired Actual TimeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  45. 45. What is the control error? Temp "Error surface" Desired Actual TimeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  46. 46. What is the control error? Temp "Error surface" Desired Actual Time Control Error = ∫|Desired-Actual|Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  47. 47. What is the control error? Temp "Error surface" Desired Actual Time Control Error = ∫|Desired-Actual|Control error Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  48. 48. What is the control error? Temp "Error surface" Desired Actual Time Control Error = ∫|Desired-Actual|Control error Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  49. 49. What is the control error? Temp "Error surface" Desired Actual Time Control Error = ∫|Desired-Actual|Control error ∞ Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  50. 50. The "simplistic" solution SystemDesired input Actual Controller System Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  51. 51. The "simplistic" solution System -1Desired Controller input System Actual Controller=(System) Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  52. 52. The "simplistic" solution System -1Desired Controller input System Actual Controller=(System) Desired = Actual Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  53. 53. The "simplistic" solution System -1Desired Controller input System Actual Controller=(System) Desired = ActualRequires: - detailed knowledge of System, Desired and hence Actual - that such a Controller exists and can create such System input - that the System can handle System input Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  54. 54. The "simplistic" solution ε Errors System -1Desired Controller input System Actual Controller=(System) Desired = ActualRequires: - detailed knowledge of System, Desired and hence Actual - that such a Controller exists and can create such System input - that the System can handle System input Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  55. 55. The "simplistic" solution ε Errors System -1Desired Controller input System Actual Controller=(System) ∞ Desired = Actual "Unlimited" energyRequires: - detailed knowledge of System, Desired and hence Actual - that such a Controller exists and can create such System input - that the System can handle System input Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  56. 56. The "simplistic" solution ε Errors System -1Desired Controller input System Actual Controller=(System)Change ∞ Desired = Actual "Unlimited" energyRequires: - detailed knowledge of System, Desired and hence Actual - that such a Controller exists and can create such System input - that the System can handle System input Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  57. 57. The "simplistic" solution Complexity System ε Errors -1Desired Controller input System Actual Controller=(System)Change ∞ Desired = Actual "Unlimited" energyRequires: - detailed knowledge of System, Desired and hence Actual - that such a Controller exists and can create such System input - that the System can handle System input Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  58. 58. The "simplistic" solution Complexity System ε Errors -1Desired Controller input System Actual Controller=(System)Change ∞ Desired = Actual "Unlimited" energy Wont work in realityRequires: - detailed knowledge of System, Desired and hence Actual - that such a Controller exists and can create such System input - that the System can handle System input Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  59. 59. Exercise 2 Controller Drop- zone RobotDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  60. 60. Exercise 2 As before, but now only one step at a time! Controller Drop- zone RobotDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  61. 61. Exercise 2 As before, but now only one step at a time! ↑ Controller Drop- zone RobotDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  62. 62. Exercise 2 As before, but now only one step at a time! ↑ Controller Drop- zone RobotDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  63. 63. Exercise 2 As before, but now only one step at a time! ↑ Controller ↑ Drop- zone RobotDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  64. 64. Exercise 2 As before, but now only one step at a time! ↑ Controller ↑ Drop- P zone RobotDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  65. 65. Exercise 2 As before, but now only one step at a time! ↑ Controller ↑ Drop- P zone RobotDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  66. 66. Exercise 2 As before, but now only one step at a time! ↑ Controller ↑ Drop- P zone ↑ RobotDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  67. 67. Exercise 2 As before, but now only one step at a time! ↑ Controller ↑ Drop- P zone ↑ Robot DDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  68. 68. Discussion - groups of 4-6Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  69. 69. Discussion - groups of 4-6What happened this time?Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  70. 70. Adding feedback! Desired System Controller Actual System input MeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  71. 71. Adding feedback! Desired System Controller Actual System input Schematic: Me SystemDesired input Actual Controller System Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  72. 72. Adding feedback! Desired System Controller Actual System input Schematic: Me SystemDesired input Actual Controller System Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  73. 73. Adding feedback! Desired System Sensor Controller Actual System input Schematic: Me SystemDesired input Actual Controller System Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  74. 74. Adding feedback! Observed result Desired System Sensor Controller Actual System input Schematic: Me SystemDesired input Actual Controller System Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  75. 75. Adding feedback! Observed result Desired System Sensor Controller Actual System input Schematic: Me SystemDesired input Actual Controller System Observed result Sensor Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  76. 76. Adding feedback! Observed result Desired System Sensor Controller Actual System input Schematic: Me System -Desired Error input Actual Controller System Observed result Sensor Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  77. 77. Adding feedback! Observed result Desired System Sensor Controller Actual System input Schematic: Me System -Desired Error input Actual Controller System Feed-back or Closed-loop system Observed result Sensor Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  78. 78. Adding feedback! Observed result Desired System Sensor Controller Actual System input Schematic: Me System Temp -Desired Error input Actual Controller System Feed-back or Closed-loop system Observed result Sensor Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  79. 79. Adding feedback! Observed result Desired System Sensor Controller Actual System input Schematic: Me System Temp -Desired Error input Actual Controller System Desired Feed-back or Closed-loop system Observed result Sensor Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  80. 80. Adding feedback! Observed result Desired System Sensor Controller Actual System input Schematic: Me System Temp -Desired Error input Actual Controller System Desired Feed-back or Closed-loop system Observed result Actual Sensor Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  81. 81. Adding feedback! Observed result Desired System Sensor Controller Actual System input Schematic: Me System Temp -Desired Error input Actual Controller System Desired Feed-back or Closed-loop system Observed result Actual Sensor Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  82. 82. What is the control error now?Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  83. 83. What is the control error now? Temp Desired ActualDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  84. 84. What is the control error now? Temp Desired ActualDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  85. 85. What is the control error now? Temp Desired Actual Control Error = ∫|Desired-Actual|Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  86. 86. What is the control error now? Temp Desired Actual Control Error = ∫|Desired-Actual|Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  87. 87. What is the control error now? Temp Desired Actual Control Error = ∫|Desired-Actual|Control error Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  88. 88. What is the control error now? Temp Desired Actual Control Error = ∫|Desired-Actual|Control error Actual Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  89. 89. What is the control error now? Temp Desired Actual Control Error = ∫|Desired-Actual|Control error Actual bounded!! Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  90. 90. In software: There are many feedback loops at play! Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  91. 91. In software: There are many feedback loops at play! Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  92. 92. In software: There are many feedback loops at play! Live user feedback/release Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  93. 93. In software: There are many feedback loops at play! Live user feedback/release Usability tests Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  94. 94. In software: There are many feedback loops at play! Live user feedback/release Usability tests Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  95. 95. In software: There are many feedback loops at play! Retrospective Live user feedback/release Usability tests Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  96. 96. In software: There are many feedback loops at play! Whiteboard discussions Retrospective Live user feedback/release Usability tests Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  97. 97. In software: There are many feedback loops at play! Daily stand-up Whiteboard discussions Retrospective Live user feedback/release Usability tests Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  98. 98. In software: There are many feedback loops at play! Daily stand-up Whiteboard discussions Retrospective Live user feedback/release Usability tests Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  99. 99. In software: There are many feedback loops at play! ATDD Daily stand-up Whiteboard discussions Retrospective Live user feedback/release Usability tests Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  100. 100. In software: There are many feedback loops at play! TDD ATDD Daily stand-up Whiteboard discussions Retrospective Live user feedback/release Usability tests Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  101. 101. In software: There are many feedback loops at play! TDD ATDD Daily stand-up Whiteboard discussions Retrospective Live user feedback/release Usability tests Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  102. 102. In software: There are many feedback loops at play! Pairing TDD ATDD Daily stand-up Whiteboard discussions Retrospective Live user feedback/release Usability tests Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  103. 103. In software: There are many feedback loops at play! Compilation Pairing TDD ATDD Daily stand-up Whiteboard discussions Retrospective Live user feedback/release Usability tests Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  104. 104. In software: There are many feedback loops at play! Squiggles Compilation Pairing TDD ATDD Daily stand-up Whiteboard discussions Retrospective Live user feedback/release Usability tests Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  105. 105. In software: There are many feedback loops at play! Squiggles Compilation Pairing TDD ATDD Daily stand-up ...AND MANY MORE! Whiteboard discussions Retrospective Live user feedback/release Usability tests Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  106. 106. Exercise 3: Draw your own feedback loops TDD 10s Retros 1w Release 1m Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  107. 107. Exercise 4 Controller Robot Drop- zoneDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  108. 108. Exercise 4As before, but nownow three steps at a time! Controller Robot Drop- zone Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  109. 109. Exercise 4As before, but nownow three steps at a ↑ time! Controller Robot Drop- zone Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  110. 110. Exercise 4As before, but nownow three steps at a ↑ time! Controller Robot Drop- zone Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  111. 111. Exercise 4As before, but nownow three steps at a ↑ time! Controller Robot ↑ Drop- zone Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  112. 112. Exercise 4As before, but nownow three steps at a ↑ time! Controller Robot ↑ Drop- zone Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  113. 113. Exercise 4As before, but nownow three steps at a ↑ time! Controller Robot ↑ Drop- P zone Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  114. 114. Exercise 4As before, but nownow three steps at a ↑ time! Controller Robot ↑ Drop- P zone Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  115. 115. Exercise 4As before, but nownow three steps at a ↑ time! Controller Robot ↑ Drop- P zone Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  116. 116. Exercise 4As before, but nownow three steps at a ↑ time! Controller Robot ↑ Drop- P zone Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  117. 117. Exercise 4As before, but nownow three steps at a ↑ time! Controller Robot ↑ Drop- P zone ↑ Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  118. 118. Exercise 4As before, but nownow three steps at a ↑ time! Controller Robot ↑ Drop- P zone ↑ Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  119. 119. Exercise 4As before, but nownow three steps at a ↑ time! Controller Robot ↑ Drop- P zone ↑ D Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  120. 120. Discussion - groups of 4-6Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  121. 121. Discussion - groups of 4-6What happened this time?Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  122. 122. The impact of delay Desired System Sensor Controller Actual System input MeDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  123. 123. The impact of delay Desired System Sensor Controller Actual System input Schematic: Me System -Desired Error input Actual Controller System Observed result Sensor Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  124. 124. The impact of delay Delay Desired System Sensor Controller Actual System input Schematic: Me System -Desired Error input Actual Controller System Observed result Sensor Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  125. 125. The impact of delay Delay Desired System Sensor Controller Actual System input Schematic: Me System -Desired Error input Actual Controller System Delay Observed result Sensor Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  126. 126. The impact of delay Delay Desired System Sensor Controller Actual System input Schematic: Me System Temp -Desired Error input Actual Controller System Delay Observed result Sensor Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  127. 127. The impact of delay Delay Desired System Sensor Controller Actual System input Schematic: Me System Temp -Desired Error input Actual Controller System Delay Desired Observed result Sensor Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  128. 128. The impact of delay Delay Desired System Sensor Tap temp Controller Actual System input Schematic: Me System Temp -Desired Error input Actual Controller System Delay Desired Observed result Sensor Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  129. 129. The impact of delay Delay Desired System Sensor Tap temp Controller Actual System input Schematic: Me System Tap temp Temp -Desired Error input Actual Controller System Delay Desired Observed result Sensor Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  130. 130. The impact of delay Delay Desired System Sensor Tap temp Controller Actual System input Schematic: Me System Tap temp Temp -Desired Error input Actual Controller System Delay Desired Tap temp Observed result Sensor Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  131. 131. The impact of delay Delay Desired System Sensor Tap temp Controller Actual System input Schematic: Me System Tap temp Temp -Desired Error input Actual Controller System Delay Desired Tap temp Observed result Observed Sensor result Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  132. 132. The impact of delay Delay Desired System Sensor Tap temp Controller Actual System input Schematic: Me System Tap temp Temp -Desired Error input Actual Controller System Delay Desired Tap temp Observed result Observed Sensor result Time Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  133. 133. Delay considerationsDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  134. 134. Delay considerations Temp DesiredTap tempObserved result Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  135. 135. Delay considerations Temp delay > half of required cycletime DesiredTap tempObserved Guaranteed instability! result (in practice, instability comes earlier) Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  136. 136. Delay considerations Temp delay > half of required cycletime DesiredTap tempObserved Guaranteed instability! result (in practice, instability comes earlier) It often takes about 5-10 times the delay to tune the system Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  137. 137. More delay considerationsDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  138. 138. More delay considerations System input - Desired Error Actual Controller System Observed result SensorDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  139. 139. More delay considerations System input - Desired Error ActualDelay position in Controller Systemloop is irrelevant w.r.t. instability! Observed result Sensor Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  140. 140. More delay considerations System input - Desired Error ActualDelay position in Controller System Delayloop is irrelevant w.r.t. instability! Observed result Sensor Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  141. 141. More delay considerations System input - Desired Error ActualDelay position in Controller Systemloop is irrelevant w.r.t. instability! Observed result Sensor Delay Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  142. 142. More delay considerations System input - Desired Error ActualDelay position in Controller Systemloop is irrelevant w.r.t. instability! Observed result Delay Sensor Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  143. 143. More delay considerations System input - Desired Error ActualDelay position in Delay Controller Systemloop is irrelevant w.r.t. instability! Observed result Sensor Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  144. 144. More delay considerations System input - Desired Error ActualDelay position in Controller Delay Systemloop is irrelevant w.r.t. instability! Observed result Sensor Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  145. 145. Feedback delay considerationsDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  146. 146. Feedback delay considerationsFeedback cycle-time sweet- spots are different due to processing and delays Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  147. 147. Feedback delay considerationsFeedback cycle-time sweet- spots are different due to processing and delaysslower thatdesired changeUnstablesystem Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  148. 148. Feedback delay considerationsFeedback cycle-time sweet- spots are different due to processing and delaysslower that faster than desireddesired change changeUnstable Controllersystem overloaded or too expensive Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  149. 149. Feedback delay considerationsFeedback cycle-time sweet- spots are different due to processing and delaysslower that faster than desireddesired change change innerUnstable Controller or tensystem overloaded or too expensive want to sh re ou ter! You loops befo feed bac k Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  150. 150. Observability and controllabilityDaniel Brolund — @danielbrolund — daniel.brolund@agical.com
  151. 151. Observability and controllability -Desired Actual Controller System System Error input Observed result Sensor Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  152. 152. Observability and controllability Uncontrollable -Desired Actual Controller System System Error input Observed result Sensor Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  153. 153. Observability and controllability Uncontrollable -Desired Actual Controller System System Error input Observed result Sensor Unobservable Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  154. 154. Observability and controllability Uncontrollable The Sensor has to - measureDesired Actual Controller System Error System input a relevant state (observability) that the Observed result Sensor Controller can influence Unobservable (controllability). Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  155. 155. Observability and controllability Uncontrollable The Sensor has to - measureDesired Actual Controller System Error System input a relevant state (observability) that the Observed result Sensor Controller can influence Unobservable (controllability). Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  156. 156. Observability and controllability Uncontrollable The Sensor has to - measureDesired Actual Controller System Error System input a relevant state (observability) that the Observed result Sensor Controller can influence Unobservable (controllability). Water temperature Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  157. 157. Observability and controllability Uncontrollable The Sensor has to - measureDesired Actual Controller System Error System input a relevant state (observability) that the Observed result Sensor Controller can influence Unobservable (controllability). Water temperature Flow Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  158. 158. Observability and controllability Uncontrollable The Sensor has to - measureDesired Actual Controller System Error System input a relevant state (observability) that the Observed result Sensor Controller can influence Unobservable (controllability). Water temperature Flow Acidity Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  159. 159. Observability and controllability Uncontrollable The Sensor has to - measureDesired Actual Controller System Error System input a relevant state (observability) that the Observed result Sensor Controller can influence Unobservable (controllability). Water temperature Flow Acidity Mineral traces Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  160. 160. Observability and controllability Uncontrollable The Sensor has to - measureDesired Actual Controller System Error System input a relevant state (observability) that the Observed result Sensor Controller can influence Unobservable (controllability). Water temperature Flow Acidity Mineral traces Radioactivity Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  161. 161. Observability and controllability Uncontrollable The Sensor has to - measureDesired Actual Controller System Error System input a relevant state (observability) that the Observed result Sensor Controller can influence Unobservable (controllability). Water temperature Flow Acidity SW Mineral traces Radioactivity Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  162. 162. Observability and controllability Uncontrollable The Sensor has to - measureDesired Actual Controller System Error System input a relevant state (observability) that the Observed result Sensor Controller can influence Unobservable (controllability). Water temperature Flow Acidity SW Lines of code Mineral traces Radioactivity Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  163. 163. Observability and controllability Uncontrollable The Sensor has to - measureDesired Actual Controller System Error System input a relevant state (observability) that the Observed result Sensor Controller can influence Unobservable (controllability). Water temperature Flow Acidity SW Lines of code Unit test results Mineral traces Radioactivity Daniel Brolund — @danielbrolund — daniel.brolund@agical.com
  164. 164. Observability and controllability Uncontrollable The Sensor has to - measureDesired Actual Controller System Error System input a relevant state (observability) that the Observed result Sensor Controller can influence Unobservable (controllability). Water temperature Flow Acidity SW Lines of code Unit test results Mineral traces ROI Radioactivity Daniel Brolund — @danielbrolund — daniel.brolund@agical.com

×