Control systems

55,196 views
61,023 views

Published on

Closed Loop control systems needed to manage project work

Published in: Technology
3 Comments
15 Likes
Statistics
Notes
No Downloads
Views
Total views
55,196
On SlideShare
0
From Embeds
0
Number of Embeds
45,616
Actions
Shares
0
Downloads
253
Comments
3
Likes
15
Embeds 0
No embeds

No notes for slide

Control systems

  1. 1. + Open Loop / Closed Loop Project Controls How to distinguish the difference between Open Loop Control and Closed Loop Control and why this is important when discussing project management, software development, and making decision in those domains. I write to discover what I think.— Daniel J. Boorstin, Librarian of Congress Version 2.0, 7.15.14 Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management®
  2. 2. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Introduction 2 Since the earliest days of the computer software industry, managing of software development projects has been fraught with uncertainty and risk. While the technical content of software products and the technical methods used to build them have changed over time, the fundamental issues that determine the success or failure of software projects have remain constant. The fundamental management mistakes have remained the same.
  3. 3. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +These Management Mistakes Are Simple and at the Same Time Complex 1.  We don’t know what Done looks like in units of measure meaningful to the decision makers. 2.  We don’t have a credible path to reaching Done that provides some level of confidence to those paying for the project, that the needed capabilities will arrive on or before the need date, at or below the expected cost. 3.  Missing visibility to the resources needed to fulfill bullet #2. 4.  Failed to capture the uncertainties that create risk to fulfilling bullet #2. 5.  Failed to provide the means of measuring progress to plan, based on physical percent complete, again in units of measure meaningful to the decision makers. 3
  4. 4. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Purpose of Management Control System 4 Project Controls is the – Management actions, either preplanned to achieve the desired result, or taken as a corrective measure prompted by the monitoring process. Project controls is concerned with the metrics of the project – quantities, time, cost, and other resources. As well project revenues, delivered customer value and cash flow. These metrics start by focusing on the delivery of business or mission Value in exchange for the Cost of that Value.
  5. 5. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® 5"You've got to be very careful if you don't know where you're going, because you might not get there." Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® Any notion of not having a plan is nonsense, just ask Yogi
  6. 6. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Overview of Project Controls !  Without a desired delivery date, target budget, and expected capabilities, a control system is of little interest to those providing the money at business level. !  There is no way to assure those needs – date, budget, capabilities – can be met with the current capacity for work, efficacy of that work process, or budget absorption of that work. !  With a need data, target budget, and expected capability outcome, a control system is the basis of increasing the probability of success. !  These targets are the baseline to steer toward !  Without a steering target the management of the project is Open Loop !  With need for a project control system, this briefing addresses the two choices: !  Closed Loop Control – where the output signal has direct impact on the control action. !  Open Loop Control – where the output signal has no direct impact on the control action. 6
  7. 7. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Open and Closed Loop Control !  A control system where the output signal has direct impact on the control action. !  In a closed loop system the error signal, which is the difference between the input and the feedback is fed to the controller to reduce the error and bring the output of the system to a desired value. !  For each reference input, feedback (difference between actual state and desired state) is used to take corrective action. !  A control system where the output signal has no direct impact on the control action. !  In an open loop system, the output is neither measured nor fed back for comparison with the input. !  For each reference input there is a fixed operating condition. Closed Loop Control Open Loop Control 7
  8. 8. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Open Loop Control !  An Open-Loop system, is a non-feedback system, where the output – the desired state – has no influence or effect on the control action of the input signal. !  In an Open-Loop control system the output – the desired state– is neither measured nor “fed back” for comparison with the input. !  An Open-Loop system is expected to faithfully follow its input command or set point regardless of the final result. !  An Open-Loop system has no knowledge of the output condition – the difference between desired state and actual state – so cannot self-correct any errors it could make when the preset value drifts, even if this results in large deviations from the preset value. 8
  9. 9. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Open Loop Control for a Clothes Dryer !  We set the controller (the timer) on the dryer to run for a specific time. !  The dryer creates heat (output) and runs until the timer says stop. !  When the elapsed time is complete the dryer stops. !  The clothes may or may not be dry depending on the allotted time and temperature of the dryer. 9
  10. 10. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Open Loop Paradigm !  A process is controlled through the actions of !  Work performed at the capacity for that work !  Time period of the work performed !  This process has a desired outcome not connected with the actual desired state 10 !  In the clothes dryer example – the actual desired state is dry clothes. !  The timer (controller) is a proxy for the desired state !  The timer is not measuring the actual state and comparing it to the desired state !  The timer is an Open Loop control system.
  11. 11. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Formal Representation of Open Loop Control 11 !  !  !  G1 = θ1 θi , G2 = θ2 θ2 , G3 = θ0 θ2 G1 ×G2 ×G3 = θ1 θi × θ2 θ1 × θ0 θ2 = θ0 θi Gain, G( )= θ0 θi
  12. 12. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Closed Loop Control !  A Closed-loop Control System, is a feedback control system which uses the concept of an open loop system as its forward path but has one or more feedback loops between its output and its input. !  The reference to “feedback,” means some portion of the output is returned “back” to the input to form part of the systems excitation. !  Closed-loop systems are designed to automatically achieve and maintain the desired output condition by comparing it with the actual condition. !  It does this by generating an error signal which is the difference between the output and the reference input. !  A “closed-loop system” is a fully automatic control system in which its control action being dependent on the output in some way. 12
  13. 13. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Closed Loop Control !  The desired dryness is set by the user !  The dryer turns on the heat and starts drying the cloths !  A sensor measures the dryness of the cloths and determines if it is necessary to keep drying or not !  When the cloths reach the desired dryness the dryer stop 13
  14. 14. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Closed Loop Control Paradigm !  The closed loop control has three elements !  The desired state !  The actual state !  The error signal – difference between desired and actual – used to control the drying function !  This is the steering signal to keep the system headed in the desired direction – DRY CLOTHS !  Without the desired state, there can be no steering signal – different between desired and actual 14 LOOP WHILE (IF State=“no DRY, Continue, ELSE Stop)! !  The desired state of the cloths is defined to the control system !  Make my cloths dry !  Sense “dryness” !  Stop drying when the desired state of “dryness” is reached
  15. 15. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Formal Representation of Closed Loop Control !  G represents the open-loop gain of the control system and is the forward path !  H represents the gain in the sensor or measurement system in the feedback path !  Output of the system = G × Error !  Θe is also input to feedback loop G !  Output f rom summing point equal Error = Input – H × Output 15
  16. 16. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Key Differences Between Open and Closed Loop Before Proceeding !  Controller has some knowledge of the output condition !  The desired condition is not present in the control loop – hence the Open Loop !  Any corrective action requires an operator input to change the behavior of the system to achieve a desired output condition !  Controller has some knowledge of the output condition !  The desired condition is compared to the actual condition to create an error signal !  Which is the difference between the input signal (the desired dryness) and the output signal (the current dryness) !  Closed loop means feedback not just for recording the output, but for comparing with the desired state to take corrective action Open Loop Control Closed Loop Control 16
  17. 17. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Key Behaviors of Open Loop and Closed Loop Controller !  No comparison between actual output condition and the desired output conditions !  Has no regulation or control action over the output condition !  Each input condition determine a fixed operating condition for the controller !  Changes or disturbances in external conditions does not result in a direct output change unless the controller and manually altered !  Output condition errors are adjust by changes in the controller function by measure difference between output and desired condition !  Output conditions are stable in the presence of an unstable system. !  Reliable and repeatable output performance results from corrective actions taken from the error signal Open Loop Control Closed Loop Control 17
  18. 18. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® + Control Loops and Software Development What data do we have? What data to we need? What questions can be answered with this data? What decisions can be made from answers to these questions using the data? How can we better manage the project to success? 18
  19. 19. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Let’s Tell a Good Story† !  The Setting – we work in an enterprise IT environment, a product development company, or on a mission critical software project. !  The Protagonist – Those providing the money need information to make decisions !  The Imbalance – it’s not clear how to make decisions in the absence of information about, the cost, schedule, and technical outcomes from those decisions. !  Restoring the Balance – when a decision is made, it needs to based on the principles of microeconomics, at least in a governance based organization.The decision !  Recommended Solution – start with a baseline estimate of the cost, schedule, and technical performance. Execute work and measure the productivity of that work. !  Using these measures to calculate the variance between planned and actual. !  Take management action to adjust the productivity, the end date, the budget – using all variables produce a new Estimate To Complete to manage toward This is a closed loop control system 19 † This approach is guided by Cliff Atkinson’s Beyond Bullet Points, where telling the story is the basis of successful capabilities based planning, process improvement, writing a winning proposal, and or a credible white paper.
  20. 20. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +The Microeconomics of Software Development† !  Economics is the study of how people make decisions in resource-limited situations.This definition of economics fits the major branches of classical economics very well. !  Microeconomics is the study of how people make decisions in resource-limited situation on a person scale. It deals with decision that individual and organizations make on such issues as how much insurance to buy, which word processor to buy, what prices to change for pro ducts and services, which path to take in a project. !  Throughput the project lifecycle, these decision making opportunities. Each decision impacts the future behavior of the project and is informed by past performance and the probabilistic and statistical processes of the underlying project activities. !  To make an informed decision about the project, estimates are made using this information 20 † Microeconomics applied to projects is a well understood and broadly applied discipline in cost account and business strategy and execution. Decision making based on alternatives, their assessed value and forecast cost. Both these values are probabilistic. Microeconomics is the basis of Real Options and other statistical decision making.Without this paradigm decision are made not knowing the future impact of those decisions, their cost, schedule, or technical impacts.This is counter to good business practices in any domain.
  21. 21. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +First Look At Sampled Performance Data and Software Control Methods !  In an Open Loop system,the Output condition has no direct impact on the control action. !  Sampled data from past performance provides information about the outputs of the process !  No error signal is created between the actual condition and the desired condition !  This is the definition of Open Loop Control !  To have a Closed Loop control system !  The Output condition must impact the control actions !  This impact is created by an error signal calculated by the difference between the desired condition and the actual condition. !  This feedback is then used to make changes in the system to assure the output condition meets the desired condition. 21
  22. 22. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +What Does This Mean For Software Development? !  We have a planned completion date for any important project. !  This is a critical assumption. !  Without a need date or target budget, the discussion of controlling projects is of little interest. !  The actual condition is compared to the desired condition (the planned completion date) to assess if that date can be met. !  If we produce work at the current rate (actual condition) will we be able to meet the desired condition (planned completion date). !  The critical aspect for Closed Loop is a desired condition. !  Without that, the control process is Open Loop and the completion date will be what it will be. !  With a Closed Loop, the corrective actions to complete on needed date are defined by the difference between actual and desired. 22
  23. 23. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Economic Analysis Techniques for Decision Making Under Uncertainty !  Under complete uncertainty !  Maximax rule !  Maximum rule !  Laplace rule !  Expected value techniques – estimating probabilities of occurrence of each outcome !  Buying information based on Epistemic Uncertainty !  Prototyping !  Little Bets in an agile paradigm !  How much information is enough is answered with Bayes’ Law 23
  24. 24. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +We Have Some Data We Have An Estimate Now We Need To Decide With the project underway, we need to manage toward a needed completion date, for a planned cost, and a needed set of capabilities. How can we do that in an Open Loop system? 24
  25. 25. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Example of Open Loop Control !  Perform work and write down the actual performance !  Use this data to forecast future performance !  Without a target – desired – performance the actual performance can’t be used to generate the error signal needed to take corrective action. 25 Example data from http://softwaredevelopmenttoday.blogspot.com/2014/07/ what-is-capacity-in-software.html of sampled development projects for number of stories per sprint.
  26. 26. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Principles of Open Loop in software development The question is: !  Is the measured capacity for work sufficient to meet the needed capacity for work in the project paradigm? !  How can we control the project so we show up on time, on budget, with the needed capabilities? !  Measuring actuals and using these to forecast this capacity is Open Loop, since there is no desired performance. !  With the need date, target cost, and expected capabilities, we need targets to steer toward. !  These targets are not the actual capacity, but the needed capacity. Your job is to learn what that capacity is and limit the work to capacity! (Credit to Mary Poppendieck (PDF,slide 15) for this quote). 26
  27. 27. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +What Can We Learn With Open Loop Control? 27 1 3 2 3 2 3 4 2 1 4 3 2 3 4 1 5 2 3 4 3 2 1 4 6 9 11 14 18 20 21 25 28 30 33 37 38 43 45 48 52 55 57 0 10 20 30 40 50 60 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Actual Stories / Iteration Cum Actual Stories / Iteration The actual stories per iteration measured from project The cumulative stories per iteration measured from project We know what rate we are running at because we record that data. But we don’t want rate we should be running at to show up on time We have not steering target to compare our actuals against
  28. 28. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +What Can We Learn With Closed Loop Control 28 0 10 20 30 40 50 60 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Actual Stories / Iteration Cum Actual Stories / Iteration Planned Stories / Iteration Cumm Planned Stories / Iteration Actual cumulative stories per iteration measured from project Desired cumulative stories per iteration measured from project Difference between desired stories per iteration and actual stories per iteration provides steering information, to tell project if they’ll make the planned completion date given “baseline” We know what rate we are running at because we record that data. And we don’t want rate we should be running at to show up on time.
  29. 29. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Summary of two Previous Charts !  Stories per iteration recorded as project proceeds. !  Cumulative stories per iteration recorded as project proceeds. !  What number of storied per iteration should the project be produced to stay on schedule and cost (work effort = cost)? !  Don’t know – there is no “desired” number for steering. !  Stories per iteration recorded as project proceeds. !  Cumulative stories per iteration recorded as project proceeds. !  What number of storied per iteration should the project be produced to stay on schedule and cost (work effort = cost)? !  The difference between “desired” and “actual” shows shortfall or overage of stories per iteration to show performance of project Open Loop Closed Loop 29
  30. 30. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Process Check for Open Loop Control Systems applied to Software 30 Closed Loop control is based on an Open Loop control. To close the loop, we must establish a target performance number – the desired capacity for work. This desired capacity for work may or may not be the actual performance for work. We need to answer: " At the actual rate,will we be over budget when we finish on the needed date? " At the current rate will we show up late? " At the current rate,will we be able to deliver the needed capabilities as planned?
  31. 31. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® + Wrap Up "  Without a plan, you won’t recognize done when it arrives "  Without a plan, you don’t know where you’re going until you arrive at the destination, out of money and out of time. "  Without a plan you can’t measure progress other than consumption of time and money 31
  32. 32. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Project Success Depends on Many Things !  When you drive the project in the absence of a desired outcomes – the project goal – without units of measures meaningful to the decisions maker, Some technical,some managerial,some political,some economic. 32 !  Is like driving in the rear view mirror. !  It can be done, but you don’t know you ran over anything until you do. !  Close Loop Control provides the headlights to see where you’re going and what’s in the way of your progress !  Open Loop Control has no desired outcome in terms of delivery date, cost, and needed capabilities, defined before you start and during you trip, so you’ll only know where you’re going when you arrive.
  33. 33. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Bibliography !  Software Engineering Economics, Barry Boehm, Prentice Hall !  Software Cost Estimation with COCOMO II, Barry Boehm, et al, Prentice Hall !  COSMIC: Guideline for Sizing Business Software,Version 3, http://www.etsmtl.ca/Unites-de-recherche/GELOG/accueil !  “Avoid Software Project Horror Stories: Check the Reality Value of the Estimate First!”, Harold van Herringen, ICEAA 2014, http://documentcenter.meetingcaddie.mobi/Events//2ffb743d-7bc3-492c- b756-cfb6eeea0110/Documents/ef7d120c-c386-471a-9f86-bac6bc7a80f7.pdf See Nederlandse Software Metrieken Association, www.nesma.org and International Software Benchmarking Standards Group, www.isnsg.org, and Common Software Measurement International Consortium, www.cosmicon.com !  How to Lie with Statistics,Darrell Huff,W.W. Norton, 1954 !  Facts and Fallacies of Software Engineering, Robert L. Glass Addison-Wesley, 2003. !  Probability Method for Cost Uncertainty Analysis:A Systems Engineering Perspective, Paul R. Garvey, CRC Press, 1999 33
  34. 34. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Bibliography !  “Factors Affecting Duration And Effort Estimation Errors In Software Development Projects,” Ofer Morgenshtern,Tzvi Raz, and Dov Dvir,Working Paper No 8/2005, Henry Crown Institute of Business Research, Israel. http://recanati-bs.tau.ac.il/Eng/?CategoryID=444&ArticleID=747 !  “An Empirical Validation of Software Cost Estimation Models,” Chris F. Kemerer, Research Contributions,Management of Computing,Communications of the ACM , may 1987,Volume 30, Number 5. !  “Software Engineering Economics,” Barry Boehm,TRW Defense Systems, Redondo Beach, CA !  “Software Cost Estimation Methods: A Review,”Vahid Khatibi and Dayang N. A. Jawawi, Journal of Emerging Trends in Computing and Information Sciences, Volume 2, No. 1, 2010. !  “What We Do and Don’t Know About Software Development Effort Estimation,” Magne Jorgensen, IEEE Software,March 2014. !  “Review of Studies on Expert Estimation of Software Development Effort,” M. Jorgensen, Simula Research laboratory, 2002. 34
  35. 35. Copyright ©, 2014, Niwot Ridge LLC, Performance-Based Project Management® +Bibliography !  Protecting Software Development Projects Against Underestimation, Eduardo Miranda, Alain Abran, École de technologie supérieure - Université du Québec !  “Improving Subjective Estimates Using Paired Comparisons,” Eduardo Miranda, IEEE Software, January/February 2001. !  “Improving Estimations in Agile Projects: Issues and Avenues,” Luigi Buglione, Alain Abran, Software Measurement European Forum – SMEF2007, Rome (Italy), May 8-11, 2007. !  “Estimating the Test Volume and Effort for Testing and Verification & Validation,” Alain Abran, Juan Garbajosa, , Laila Cheikhi1, First Annual ESAWorkshop on Spacecraft Data Systems and Software - SDSS 2005, ESTEC, Noordwijk, European Space Agency, Netherlands, 17-20 October 2005. 35
  36. 36. Chapter 036 Performance-Based Project Management®, Copyright © Glen B. Alleman, 2012, 2013, 2014

×