SlideShare une entreprise Scribd logo
1  sur  79
Télécharger pour lire hors ligne
Modeling, Simulation & Data
Mining: Answering Tough Cost, Date
    & Staff Forecasts Questions
   Troy Magennis (Focused Objective)
        Larry Maccherone (Rally)
Pain Point
My Boss
“Needs”
A Date…
Getting
Quantitative
 Evidence
Assessing &
 Communicating
Risk / Uncertainty
My Mission


 Arm my teams (and yours)
with the tools and techniques
   to solve these problems
2 Minutes About Larry
• Larry is a Pisces who enjoys skiing, reading
  and wine (red, or white in outdoor setting)
• We have a lot in common… over to Larry!
Metrics &
Measurement
Why measure?
    Feedback

   Diagnostics

   Forecasting

     Lever
When to NOT take a shot
Good players?
• Monta Ellis
  – 9th highest scorer (8th
    last season)
• Carmelo Anthony
  (Melo)
  – 8th highest scorer (3rd
    last season)
The ODIM Framework

better Measurement

  better Insight

    better Decisions

       better Outcomes
What is normal?




Cumulative -> 0.1%   2.3%   15.9%   50.0%   84.1%   97.7%   99.9%
Roughly ->                                  85%     98%
Are you normal?
You will be wrong by…
• 3x-10x when assuming Normal distribution
• 2.5x-5x when assuming Poisson distribution
• 7x-20x if you use Shewhart’s method

           Heavy tail phenomena are not
       incomprehensible… but they cannot be
     understood with traditional statistical tools.
     Using the wrong tools is incomprehensible.
              ~ Roger Cooke and Daan Nieboer
Bad application of control chart
    Control is an illusion, you infantile
egomaniac. Nobody knows what's gonna
 happen next: not on a freeway, not in an
 airplane, not inside our own bodies and
certainly not on a racetrack with 40 other
           infantile egomaniacs.
            ~Days of Thunder
Time in Process (TIP) Chart
A good alternative to control chart
Collection
• Perceived cost
  is high
• Little need for
  explicit collection
  activities
• Use a 1-question NPS survey for customer and
  employee satisfaction
• Plenty to learn in passive data from ALM and
  other tools
• How you use the tools will drive your use of
  metrics from them
Summary of how to make good
           metric choices
• Start with outcomes and
  use ODIM to make metrics         Data visualization is like
  choices.                         photography. Impact is a
• Make sure your metrics are        function of perspective,
   balanced so you don’t            illumination, and focus.
  over-emphasize one at the            ~Larry Maccherone
  cost of others.
• Be careful in your analysis. The TIP chart is a good
  alternative to control chart. Troy’s approach is excellent
  for forecasting. We’ve shown that there are many out
  there that are not so good.
• Consider collection costs. Get maximal value out of
  passively gathered data.
Flaw of Averages, Risk
  & Monte Carlo Sim
A model is a tool
 used to mimic a
real world process
  A tool for low-cost
   experimentation
Monte Carlo Simulation?
Performing a simulation of a
 model multiple times using
random input conditions and
 recording the frequency of
   each result occurrence
Scrum
                                        Run   Sim Total
Backlog     This Iteration   Deployed         Iterations
                                         1         3
                                         2         2
                                        3         5
5       2                               4         3
                                        5         4
                                        6         2
    8                                   …         …
Kanban
                                                            Run Time Total
Backlog   Design       Develop        Test
          1 – 2 days   1 – 5 days   1 – 2 days   Deployed    1      5
                                                             2      4
                                                             3      3
                                                             4      9
   2                                                         5      5
                                                             6      6
                                                            …       …
Result versus Frequency (50 runs)

                                                                     More Often
                      25
Frequency of Result




                      20

                      15

                      10

                      5

                      1

                           10               15                  20
                                                                     Less Often
                            Result Values – For example, Days
Result versus Frequency (250 runs)

                                                                     More Often
                      25
Frequency of Result




                      20

                      15

                      10

                      5

                      1

                           10               15                  20
                                                                     Less Often
                            Result Values – For example, Days
Result versus Frequency (1000+ runs)

                                                                     More Often
                      25
Frequency of Result




                      20

                      15

                      10

                      5

                      1

                           10               15                  20
                                                                     Less Often
                            Result Values – For example, Days
Key Point
There is NO single
 forecast result
   There will always be many
possible results, some more likely
50%                50%
             Possible           Possible
Likelihood



             Outcomes           Outcomes




               Time to Complete Backlog

When pressed for a single number,
   we often give the average.
95% Outcomes               5%
 Likelihood




              Time to Complete Backlog

Monte Carlo Simulation Yields More
  Information – 95% Common.
Key Point
  “Average” is
NEVER an option
WARNING: Regression lines
 are most often “average”
But, I.T. gets worse
Time to Delivery
Promised           New
                  Average
                                         50% Possible
                                         Outcomes
  Likelihood




               Planned           Perf.         Vendor
               Backlog          Issues          Delay
                  1                2              3
Key Point
Risks play a BIG
role in forecasts
  Yes, more than backlog.
Velocity is NOT Linear
 nor is defect rate, scope-creep, story
expertise requirements, team skill, etc.
Likelihood
 (0-100%)




        Date for likelihood
Key Point
Forecasts should be
presented with the
  right amount of
     uncertainty
Demo: Forecasting…
 PAIN POINT
My Boss “Needs” a Date…
In this demo
• Basic Scrum and Kanban Modeling
• How to build a simple model
  – SimML Modeling Language
  – Visual checking of models
  – Forecasting Date and Cost
  – The “Law of Large Numbers”
Demo: Finding What
Matters Most
Cost of Defects & Staff Analysis
Sensitivity Report




Actively            Ignore for the
Manage                   moment
Staff Skill Impact Report
              Explore what staff
              changes have the
              greatest impact
Key Point
  Modeling helps
find what matters
  Fewer estimates required
In this demo
• Finding what matters most
  – Manual experiments
  – Sensitivity Testing
• Finding the next best 3 staff skill hires
• Minimizing and simplifying estimation
  – Grouping backlog
  – Range Estimates
  – Deleting un-important model elements
Demo: Finding the Cost /
Benefit of Outsourcing
Outsourcing Cost & Benefits
• Outsourcing often controversial
  – Often fails when pursued for cost savings alone
  – Doesn’t always reduce local employment
  – An important tool to remain competitive
  – I.Q. has no geographic boundaries
• Many models
  – Entire project
  – Augmentation of local team
Build Date & Cost Matrix
               1x        1.5 x     2x
               Estimates Estimates Estimates
1 x Staff       Best Case
1.5 x Staff                  Midpoint
2 x Staff                                 Worst Case

Benefit =
  (Baseline Dev Cost – New Dev Cost) - Cost of Delay
  + Local Staff Cost Savings
NOT LINEAR & NOT YOUR PROJECT
$150,000


$100,000


  $50,000
                              1x Multiplier
      $-                      1.5x Multiplier
             1   1.5    2     2x Multiplier
 $(50,000)


$(100,000)


$(150,000)
In this demo
• Model the impact of various outsourcing
  models
New Project Rules of Thumb…
• Cost of Delay plays a significant role
  – High cost of delay project poor candidates
  – Increase staffing some compensation
• Knowledge transfer and ramp-up time critical
  – Complex products poor candidates
  – Captive teams better choices for these projects
• NEVER as simple as direct lower costs!
Assessing and
Communicating Risk
Speaking Risk To Executives
• Buy them a copy of “Flaw of Averages”
• Show them you are tracking & managing risk
• Do
  – “We are 95% certain of hitting date x”
  – “With 1 week of analysis, that may drop to date y”
  – “We identified risk x, y & z that we will track weekly”
• Don’t
  – Give them a date without likelihood
     • “February 29th 2013”
  – Give them a date without risk factors considered
     • “To do the backlog of features, February 29th, 2013”
**Major risk events have the predominate role
       in deciding where deliver actually occurs **



  We spend all our
time estimating here




  Plan          Performance External Vendor
                    Issues       Delay
      1                 2                     3
Risk likelihood changes constantly
                              95th
                          Confidence
                            Interval




      1         2         3
Risk likelihood changes constantly
                          95th
                      Confidence
                        Interval




      1         2           3
Risk likelihood changes constantly
                        95th
                    Confidence
                      Interval




      1         2                3
Risk likelihood changes constantly
                    95th
                Confidence
                  Interval




      1         2            3
Key Points
• There is no single release date forecast
• Never use Average as a quoted forecast
• Risk factors play a major role (not just backlog)
• Data has shape: beware of Non-Normal data
• Measurement → Insight → Decisions →
  Outcomes : Work Backwards!
• Communicate Risk early with executive peers
Call to action
• Read these books




• Download the software FocusedObjective.com
• Follow @AgileSimulation
• Follow @LMaccherone
Please Submit an
   Eval Form!
 We want to learn too!
BEST PRACTICES
Sensitivity            Model
   Test               (a little)

          The Model
           Creation
            Cycle

 Monte-               Visually
Carlo Test              Test
Make
 Informed           Baseline
Decision(s)

               The
           Experiment
              Cycle
                     Make
Compare
                     Single
 Results
                    Change
Best Practice 1

 Start simple and add ONE
 input condition at a time.

 Visually / Monte-carlo test
each input to verify it works
Best Practice 2

 Find the likelihood of major
  events and estimate delay
  E.g. vendor dependencies,
performance/memory issues,
    third party component
            failures.
Best Practice 3

Only obtain and add detailed
 estimates and opinion to a
model if Sensitivity Analysis
 says that input is material
Best Practice 4

Use a uniform random input
distribution UNTIL sensitivity
  analysis says that input is
    influencing the output
Best Practice 5

   Educate your managers’
about risk. They will still want
 a “single” date for planning,
  but let them decide 75   th or

     95 th confidence level

(average is NEVER an option)
SIMULATION EXAMPLES


Return to main presentation…
unlikely   Forecasts   Return to main presentation…




certain
unlikely     Forecasts    Return to main presentation…




           50%             50%
           Possible    Possible
           Outcomes   Outcomes




certain
Return to main presentation…


    Sensitivity Report




Actively             Ignore for the
Manage                    moment
Return to main presentation…



Staff Skill Impact Report
              Explore what staff
              changes have the
              greatest impact
Return to main
presentation…
Focused Objective
•   Risk Tools for Software Dev
•   Scrum/Agile Simulation
•   Kanban/Lean Simulation
•   Forecasting Staff, Date & Cost
•   Automated Sensitivity Analysis
•   Data Reverse Engineering
•   Consulting / Training
•   Book
We Use & Recommend: EasyFit
• MathWave.com
• Invaluable for
  – Analyzing data
  – Fitting Distributions
  – Generating Random
    Numbers
  – Determining
    Percentiles
Free Images: MorgueFile.com
• http://www.morguefile.com/corporate/about
  – Calendar: http://www.opticgroove.com.au
  – Calculator: http://www.therising-sun.us
  – Dice: souldestine@cox.net

Contenu connexe

Similaire à Modeling, simulation & data mining agile 2012 (magennis & maccherone)

Wwf Andrew Lockett Tim Dyke & Scott Logie Iof Analysts Group Segmentation V...
Wwf Andrew Lockett Tim Dyke & Scott Logie Iof Analysts Group   Segmentation V...Wwf Andrew Lockett Tim Dyke & Scott Logie Iof Analysts Group   Segmentation V...
Wwf Andrew Lockett Tim Dyke & Scott Logie Iof Analysts Group Segmentation V...Insight_SIG
 
"A Framework for Developing Trading Models Based on Machine Learning" by Kris...
"A Framework for Developing Trading Models Based on Machine Learning" by Kris..."A Framework for Developing Trading Models Based on Machine Learning" by Kris...
"A Framework for Developing Trading Models Based on Machine Learning" by Kris...Quantopian
 
Best Practices to Leverage Ultipro BI Today
Best Practices to Leverage Ultipro BI TodayBest Practices to Leverage Ultipro BI Today
Best Practices to Leverage Ultipro BI TodayChris Chamberlain
 
Bootstrapping of PySpark Models for Factorial A/B Tests
Bootstrapping of PySpark Models for Factorial A/B TestsBootstrapping of PySpark Models for Factorial A/B Tests
Bootstrapping of PySpark Models for Factorial A/B TestsDatabricks
 
Monte Carlo Schedule Risk Analysis
Monte Carlo Schedule Risk AnalysisMonte Carlo Schedule Risk Analysis
Monte Carlo Schedule Risk AnalysisIntaver Insititute
 
Chattanooga sme oee down time presentation
Chattanooga sme oee down time presentationChattanooga sme oee down time presentation
Chattanooga sme oee down time presentationJames Mansfield
 
Stop Flying Blind! Quantifying Risk with Monte Carlo Simulation
Stop Flying Blind! Quantifying Risk with Monte Carlo SimulationStop Flying Blind! Quantifying Risk with Monte Carlo Simulation
Stop Flying Blind! Quantifying Risk with Monte Carlo SimulationSam McAfee
 
Minimal Viable Agile
Minimal Viable AgileMinimal Viable Agile
Minimal Viable Agiletroytuttle
 
Monte Carlo and Schedule Risk Analysis
Monte Carlo and Schedule Risk AnalysisMonte Carlo and Schedule Risk Analysis
Monte Carlo and Schedule Risk AnalysisIntaver Insititute
 
Developing and validating a document classifier: a real-life story - Marko S...
 Developing and validating a document classifier: a real-life story - Marko S... Developing and validating a document classifier: a real-life story - Marko S...
Developing and validating a document classifier: a real-life story - Marko S...Institute of Contemporary Sciences
 
OSMC 2023 | Know your data: The stats behind your alerts by Dave McAllister
OSMC 2023 | Know your data: The stats behind your alerts by Dave McAllisterOSMC 2023 | Know your data: The stats behind your alerts by Dave McAllister
OSMC 2023 | Know your data: The stats behind your alerts by Dave McAllisterNETWAYS
 
TAUS MT SHOWCASE, Hunnect’s Use Case, Sándor Sojnóczky, Hunnect, 10 April 2013
TAUS MT SHOWCASE, Hunnect’s Use Case, Sándor Sojnóczky, Hunnect, 10 April 2013TAUS MT SHOWCASE, Hunnect’s Use Case, Sándor Sojnóczky, Hunnect, 10 April 2013
TAUS MT SHOWCASE, Hunnect’s Use Case, Sándor Sojnóczky, Hunnect, 10 April 2013TAUS - The Language Data Network
 
Know Your Data: The stats behind your alerts
Know Your Data: The stats behind your alertsKnow Your Data: The stats behind your alerts
Know Your Data: The stats behind your alertsAll Things Open
 

Similaire à Modeling, simulation & data mining agile 2012 (magennis & maccherone) (20)

Agile metrics and quality
Agile metrics and qualityAgile metrics and quality
Agile metrics and quality
 
Wwf Andrew Lockett Tim Dyke & Scott Logie Iof Analysts Group Segmentation V...
Wwf Andrew Lockett Tim Dyke & Scott Logie Iof Analysts Group   Segmentation V...Wwf Andrew Lockett Tim Dyke & Scott Logie Iof Analysts Group   Segmentation V...
Wwf Andrew Lockett Tim Dyke & Scott Logie Iof Analysts Group Segmentation V...
 
Red Beads Experiment
Red Beads ExperimentRed Beads Experiment
Red Beads Experiment
 
Capability Analysis
Capability AnalysisCapability Analysis
Capability Analysis
 
"A Framework for Developing Trading Models Based on Machine Learning" by Kris...
"A Framework for Developing Trading Models Based on Machine Learning" by Kris..."A Framework for Developing Trading Models Based on Machine Learning" by Kris...
"A Framework for Developing Trading Models Based on Machine Learning" by Kris...
 
Best Practices to Leverage Ultipro BI Today
Best Practices to Leverage Ultipro BI TodayBest Practices to Leverage Ultipro BI Today
Best Practices to Leverage Ultipro BI Today
 
Bootstrapping of PySpark Models for Factorial A/B Tests
Bootstrapping of PySpark Models for Factorial A/B TestsBootstrapping of PySpark Models for Factorial A/B Tests
Bootstrapping of PySpark Models for Factorial A/B Tests
 
Monte Carlo Schedule Risk Analysis
Monte Carlo Schedule Risk AnalysisMonte Carlo Schedule Risk Analysis
Monte Carlo Schedule Risk Analysis
 
Chattanooga sme oee down time presentation
Chattanooga sme oee down time presentationChattanooga sme oee down time presentation
Chattanooga sme oee down time presentation
 
Stop Flying Blind! Quantifying Risk with Monte Carlo Simulation
Stop Flying Blind! Quantifying Risk with Monte Carlo SimulationStop Flying Blind! Quantifying Risk with Monte Carlo Simulation
Stop Flying Blind! Quantifying Risk with Monte Carlo Simulation
 
Minimal Viable Agile
Minimal Viable AgileMinimal Viable Agile
Minimal Viable Agile
 
Monte Carlo and Schedule Risk Analysis
Monte Carlo and Schedule Risk AnalysisMonte Carlo and Schedule Risk Analysis
Monte Carlo and Schedule Risk Analysis
 
The State of Structure
The State of StructureThe State of Structure
The State of Structure
 
Developing and validating a document classifier: a real-life story - Marko S...
 Developing and validating a document classifier: a real-life story - Marko S... Developing and validating a document classifier: a real-life story - Marko S...
Developing and validating a document classifier: a real-life story - Marko S...
 
Os Ramirez
Os RamirezOs Ramirez
Os Ramirez
 
OSMC 2023 | Know your data: The stats behind your alerts by Dave McAllister
OSMC 2023 | Know your data: The stats behind your alerts by Dave McAllisterOSMC 2023 | Know your data: The stats behind your alerts by Dave McAllister
OSMC 2023 | Know your data: The stats behind your alerts by Dave McAllister
 
Risk Managers Of The Universe
Risk Managers Of The UniverseRisk Managers Of The Universe
Risk Managers Of The Universe
 
Agile metrics
Agile metricsAgile metrics
Agile metrics
 
TAUS MT SHOWCASE, Hunnect’s Use Case, Sándor Sojnóczky, Hunnect, 10 April 2013
TAUS MT SHOWCASE, Hunnect’s Use Case, Sándor Sojnóczky, Hunnect, 10 April 2013TAUS MT SHOWCASE, Hunnect’s Use Case, Sándor Sojnóczky, Hunnect, 10 April 2013
TAUS MT SHOWCASE, Hunnect’s Use Case, Sándor Sojnóczky, Hunnect, 10 April 2013
 
Know Your Data: The stats behind your alerts
Know Your Data: The stats behind your alertsKnow Your Data: The stats behind your alerts
Know Your Data: The stats behind your alerts
 

Plus de drewz lin

Web security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-kearyWeb security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-kearydrewz lin
 
Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013drewz lin
 
Phu appsec13
Phu appsec13Phu appsec13
Phu appsec13drewz lin
 
Owasp2013 johannesullrich
Owasp2013 johannesullrichOwasp2013 johannesullrich
Owasp2013 johannesullrichdrewz lin
 
Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2drewz lin
 
I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2drewz lin
 
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolfDefeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolfdrewz lin
 
Csrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equalCsrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equaldrewz lin
 
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21drewz lin
 
Appsec usa roberthansen
Appsec usa roberthansenAppsec usa roberthansen
Appsec usa roberthansendrewz lin
 
Appsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaolaAppsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaoladrewz lin
 
Appsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_editsAppsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_editsdrewz lin
 
Appsec2013 presentation
Appsec2013 presentationAppsec2013 presentation
Appsec2013 presentationdrewz lin
 
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitationsAppsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitationsdrewz lin
 
Appsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martinAppsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martindrewz lin
 
Amol scadaowasp
Amol scadaowaspAmol scadaowasp
Amol scadaowaspdrewz lin
 
Agile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usaAgile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usadrewz lin
 
Vulnex app secusa2013
Vulnex app secusa2013Vulnex app secusa2013
Vulnex app secusa2013drewz lin
 
基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架drewz lin
 
新浪微博稳定性经验谈
新浪微博稳定性经验谈新浪微博稳定性经验谈
新浪微博稳定性经验谈drewz lin
 

Plus de drewz lin (20)

Web security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-kearyWeb security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-keary
 
Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013
 
Phu appsec13
Phu appsec13Phu appsec13
Phu appsec13
 
Owasp2013 johannesullrich
Owasp2013 johannesullrichOwasp2013 johannesullrich
Owasp2013 johannesullrich
 
Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2
 
I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2
 
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolfDefeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
 
Csrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equalCsrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equal
 
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
 
Appsec usa roberthansen
Appsec usa roberthansenAppsec usa roberthansen
Appsec usa roberthansen
 
Appsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaolaAppsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaola
 
Appsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_editsAppsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_edits
 
Appsec2013 presentation
Appsec2013 presentationAppsec2013 presentation
Appsec2013 presentation
 
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitationsAppsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
 
Appsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martinAppsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martin
 
Amol scadaowasp
Amol scadaowaspAmol scadaowasp
Amol scadaowasp
 
Agile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usaAgile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usa
 
Vulnex app secusa2013
Vulnex app secusa2013Vulnex app secusa2013
Vulnex app secusa2013
 
基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架
 
新浪微博稳定性经验谈
新浪微博稳定性经验谈新浪微博稳定性经验谈
新浪微博稳定性经验谈
 

Modeling, simulation & data mining agile 2012 (magennis & maccherone)

  • 1. Modeling, Simulation & Data Mining: Answering Tough Cost, Date & Staff Forecasts Questions Troy Magennis (Focused Objective) Larry Maccherone (Rally)
  • 5. My Mission Arm my teams (and yours) with the tools and techniques to solve these problems
  • 6.
  • 7. 2 Minutes About Larry • Larry is a Pisces who enjoys skiing, reading and wine (red, or white in outdoor setting) • We have a lot in common… over to Larry!
  • 9. Why measure? Feedback Diagnostics Forecasting Lever
  • 10. When to NOT take a shot Good players? • Monta Ellis – 9th highest scorer (8th last season) • Carmelo Anthony (Melo) – 8th highest scorer (3rd last season)
  • 11. The ODIM Framework better Measurement better Insight better Decisions better Outcomes
  • 12.
  • 13. What is normal? Cumulative -> 0.1% 2.3% 15.9% 50.0% 84.1% 97.7% 99.9% Roughly -> 85% 98%
  • 15. You will be wrong by… • 3x-10x when assuming Normal distribution • 2.5x-5x when assuming Poisson distribution • 7x-20x if you use Shewhart’s method Heavy tail phenomena are not incomprehensible… but they cannot be understood with traditional statistical tools. Using the wrong tools is incomprehensible. ~ Roger Cooke and Daan Nieboer
  • 16. Bad application of control chart Control is an illusion, you infantile egomaniac. Nobody knows what's gonna happen next: not on a freeway, not in an airplane, not inside our own bodies and certainly not on a racetrack with 40 other infantile egomaniacs. ~Days of Thunder
  • 17. Time in Process (TIP) Chart A good alternative to control chart
  • 18. Collection • Perceived cost is high • Little need for explicit collection activities • Use a 1-question NPS survey for customer and employee satisfaction • Plenty to learn in passive data from ALM and other tools • How you use the tools will drive your use of metrics from them
  • 19. Summary of how to make good metric choices • Start with outcomes and use ODIM to make metrics Data visualization is like choices. photography. Impact is a • Make sure your metrics are function of perspective, balanced so you don’t illumination, and focus. over-emphasize one at the ~Larry Maccherone cost of others. • Be careful in your analysis. The TIP chart is a good alternative to control chart. Troy’s approach is excellent for forecasting. We’ve shown that there are many out there that are not so good. • Consider collection costs. Get maximal value out of passively gathered data.
  • 20. Flaw of Averages, Risk & Monte Carlo Sim
  • 21.
  • 22. A model is a tool used to mimic a real world process A tool for low-cost experimentation
  • 23. Monte Carlo Simulation? Performing a simulation of a model multiple times using random input conditions and recording the frequency of each result occurrence
  • 24. Scrum Run Sim Total Backlog This Iteration Deployed Iterations 1 3 2 2 3 5 5 2 4 3 5 4 6 2 8 … …
  • 25. Kanban Run Time Total Backlog Design Develop Test 1 – 2 days 1 – 5 days 1 – 2 days Deployed 1 5 2 4 3 3 4 9 2 5 5 6 6 … …
  • 26. Result versus Frequency (50 runs) More Often 25 Frequency of Result 20 15 10 5 1 10 15 20 Less Often Result Values – For example, Days
  • 27. Result versus Frequency (250 runs) More Often 25 Frequency of Result 20 15 10 5 1 10 15 20 Less Often Result Values – For example, Days
  • 28. Result versus Frequency (1000+ runs) More Often 25 Frequency of Result 20 15 10 5 1 10 15 20 Less Often Result Values – For example, Days
  • 29. Key Point There is NO single forecast result There will always be many possible results, some more likely
  • 30. 50% 50% Possible Possible Likelihood Outcomes Outcomes Time to Complete Backlog When pressed for a single number, we often give the average.
  • 31. 95% Outcomes 5% Likelihood Time to Complete Backlog Monte Carlo Simulation Yields More Information – 95% Common.
  • 32. Key Point “Average” is NEVER an option WARNING: Regression lines are most often “average”
  • 33. But, I.T. gets worse
  • 34. Time to Delivery Promised New Average 50% Possible Outcomes Likelihood Planned Perf. Vendor Backlog Issues Delay 1 2 3
  • 35. Key Point Risks play a BIG role in forecasts Yes, more than backlog.
  • 36. Velocity is NOT Linear nor is defect rate, scope-creep, story expertise requirements, team skill, etc.
  • 37. Likelihood (0-100%) Date for likelihood
  • 38. Key Point Forecasts should be presented with the right amount of uncertainty
  • 39. Demo: Forecasting… PAIN POINT My Boss “Needs” a Date…
  • 40. In this demo • Basic Scrum and Kanban Modeling • How to build a simple model – SimML Modeling Language – Visual checking of models – Forecasting Date and Cost – The “Law of Large Numbers”
  • 41. Demo: Finding What Matters Most Cost of Defects & Staff Analysis
  • 42. Sensitivity Report Actively Ignore for the Manage moment
  • 43. Staff Skill Impact Report Explore what staff changes have the greatest impact
  • 44. Key Point Modeling helps find what matters Fewer estimates required
  • 45. In this demo • Finding what matters most – Manual experiments – Sensitivity Testing • Finding the next best 3 staff skill hires • Minimizing and simplifying estimation – Grouping backlog – Range Estimates – Deleting un-important model elements
  • 46. Demo: Finding the Cost / Benefit of Outsourcing
  • 47. Outsourcing Cost & Benefits • Outsourcing often controversial – Often fails when pursued for cost savings alone – Doesn’t always reduce local employment – An important tool to remain competitive – I.Q. has no geographic boundaries • Many models – Entire project – Augmentation of local team
  • 48. Build Date & Cost Matrix 1x 1.5 x 2x Estimates Estimates Estimates 1 x Staff Best Case 1.5 x Staff Midpoint 2 x Staff Worst Case Benefit = (Baseline Dev Cost – New Dev Cost) - Cost of Delay + Local Staff Cost Savings
  • 49. NOT LINEAR & NOT YOUR PROJECT $150,000 $100,000 $50,000 1x Multiplier $- 1.5x Multiplier 1 1.5 2 2x Multiplier $(50,000) $(100,000) $(150,000)
  • 50. In this demo • Model the impact of various outsourcing models
  • 51. New Project Rules of Thumb… • Cost of Delay plays a significant role – High cost of delay project poor candidates – Increase staffing some compensation • Knowledge transfer and ramp-up time critical – Complex products poor candidates – Captive teams better choices for these projects • NEVER as simple as direct lower costs!
  • 53. Speaking Risk To Executives • Buy them a copy of “Flaw of Averages” • Show them you are tracking & managing risk • Do – “We are 95% certain of hitting date x” – “With 1 week of analysis, that may drop to date y” – “We identified risk x, y & z that we will track weekly” • Don’t – Give them a date without likelihood • “February 29th 2013” – Give them a date without risk factors considered • “To do the backlog of features, February 29th, 2013”
  • 54. **Major risk events have the predominate role in deciding where deliver actually occurs ** We spend all our time estimating here Plan Performance External Vendor Issues Delay 1 2 3
  • 55. Risk likelihood changes constantly 95th Confidence Interval 1 2 3
  • 56. Risk likelihood changes constantly 95th Confidence Interval 1 2 3
  • 57. Risk likelihood changes constantly 95th Confidence Interval 1 2 3
  • 58. Risk likelihood changes constantly 95th Confidence Interval 1 2 3
  • 59. Key Points • There is no single release date forecast • Never use Average as a quoted forecast • Risk factors play a major role (not just backlog) • Data has shape: beware of Non-Normal data • Measurement → Insight → Decisions → Outcomes : Work Backwards! • Communicate Risk early with executive peers
  • 60. Call to action • Read these books • Download the software FocusedObjective.com • Follow @AgileSimulation • Follow @LMaccherone
  • 61. Please Submit an Eval Form! We want to learn too!
  • 62.
  • 64. Sensitivity Model Test (a little) The Model Creation Cycle Monte- Visually Carlo Test Test
  • 65. Make Informed Baseline Decision(s) The Experiment Cycle Make Compare Single Results Change
  • 66. Best Practice 1 Start simple and add ONE input condition at a time. Visually / Monte-carlo test each input to verify it works
  • 67. Best Practice 2 Find the likelihood of major events and estimate delay E.g. vendor dependencies, performance/memory issues, third party component failures.
  • 68. Best Practice 3 Only obtain and add detailed estimates and opinion to a model if Sensitivity Analysis says that input is material
  • 69. Best Practice 4 Use a uniform random input distribution UNTIL sensitivity analysis says that input is influencing the output
  • 70. Best Practice 5 Educate your managers’ about risk. They will still want a “single” date for planning, but let them decide 75 th or 95 th confidence level (average is NEVER an option)
  • 71. SIMULATION EXAMPLES Return to main presentation…
  • 72. unlikely Forecasts Return to main presentation… certain
  • 73. unlikely Forecasts Return to main presentation… 50% 50% Possible Possible Outcomes Outcomes certain
  • 74. Return to main presentation… Sensitivity Report Actively Ignore for the Manage moment
  • 75. Return to main presentation… Staff Skill Impact Report Explore what staff changes have the greatest impact
  • 77. Focused Objective • Risk Tools for Software Dev • Scrum/Agile Simulation • Kanban/Lean Simulation • Forecasting Staff, Date & Cost • Automated Sensitivity Analysis • Data Reverse Engineering • Consulting / Training • Book
  • 78. We Use & Recommend: EasyFit • MathWave.com • Invaluable for – Analyzing data – Fitting Distributions – Generating Random Numbers – Determining Percentiles
  • 79. Free Images: MorgueFile.com • http://www.morguefile.com/corporate/about – Calendar: http://www.opticgroove.com.au – Calculator: http://www.therising-sun.us – Dice: souldestine@cox.net