This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
+
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
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.
+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.
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.
! 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
! 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.
! 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.
! 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.
! 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
+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
+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?
! 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.
! 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.
+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.
+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?
! 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.
+ 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
! 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.
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
! “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.
! Protecting Software Development Projects Against Underestimation, Eduardo Miranda, Alain Abran, École de technologie supérieure - Université du Québec
! “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 ESA Workshop on Spacecraft Data Systems and Software - SDSS 2005, ESTEC, Noordwijk, European Space Agency, Netherlands, 17-20 October 2005.