Do we measure functional size or do we count thomas fehlmann

19
Session 5 in Kraków, October 7, 2015 Dr. Thomas Fehlmann October 7, 2015 © Euro Project Office AG, 2015 Page 1

Transcript of Do we measure functional size or do we count thomas fehlmann

Session 5 in Kraków, October 7, 2015

Dr. Thomas Fehlmann October 7, 2015

© Euro Project Office AG, 2015 Page 1

Dr. Thomas Fehlmann October 7, 2015

© Euro Project Office AG, 2015 Page 2

1981: Dr. Math. ETHZ

1982-89: Manager Software–Development

1990-95: Senior Consultant – Digital Equipment Corp.

1996-99: Sales Support Manager – Proposal Center

1999ff: Euro Project Office AG, ZürichAkao Price 2001 for original contributions to QFDMember of the Board of QFD Institute Germany – QFD ArchitectChair of SwiSMA, the Swiss Software Metrics Association

2000ff: Six Sigma Black Belt for GMC Software AGLean Six Sigma for Software DevelopmentQuality Function Deployment (QFD) and New Lanchester TheoryNet Promoter Score Associate

2012: Member of the DASMA Board

2013: Vice-President ISBSG

Eberhard Kranich studied Mathematics and Computer Science, with an emphasis on Mathematical Statistics, Mathematical Optimization, and on Theory of Polynomial Complexity of Algorithms. He worked at T-Systems International GmbH in Bonn until 2013, Germany, as a Six Sigma Black Belt and Quality Assurance Manager, mainly in the context of software development.

Dr. Thomas Fehlmann October 7, 2015

© Euro Project Office AG, 2015 Page 3

In fact, this is an open end talk. Currently, we only present project costing based on measurements; the software security and system safety measurements are yet to come…

Dr. Thomas Fehlmann October 7, 2015

© Euro Project Office AG, 2015 Page 4

The Bureau International des Poids et Mesures originates from the Metre Convention of 20 May 1875, that introduced the metrics system is almost all countries in the world (yes, including the USA and the UK).

Dr. Thomas Fehlmann October 7, 2015

© Euro Project Office AG, 2015 Page 5

Both documents are now available as ISO documents, although not completely conformant to the technical standard format used with ISO/IEC, therefore publishes as “guides”:

• The VIM: ISO/IEC Guide 99:2007 - International vocabulary of metrology – Basic and general concepts and associated terms

• The GUM: ISO/IEC CD Guide 98-3, 2015 - Evaluation of measurement data – Part 3: Guide to uncertainty in measurement (GUM)

Dr. Thomas Fehlmann October 7, 2015

© Euro Project Office AG, 2015 Page 6

Measurable entities that are physical are the most simple to measure. However, some physical entities change behavior under measurement (quantum effects), and if you try measuring anything involving humans they adapt behavior to the measurement goal. Then, measurement rather becomes a management science.

Dr. Thomas Fehlmann October 7, 2015

© Euro Project Office AG, 2015 Page 7

The IFPUG counting method violates the VIM in many respects

• There is no zero on the 𝐼𝐹𝑃 scale

• There is no one on the 𝐼𝐹𝑃 scale – not even Peano axioms hold

• Changing complexity from “Low” to “Medium” to “High” might cause goat jumps

• If everything is “High” in complexity, the count is capped

• Counts are not additive – 𝐼𝐹𝑃 𝐴 + 𝐼𝐹𝑃 𝐵 ≠ 𝐼𝐹𝑃 𝐴 + 𝐵

Some other counting methods (COSMIC) are at least not violating the VIM.

Dr. Thomas Fehlmann October 7, 2015

© Euro Project Office AG, 2015 Page 8

A model allows exact, digital counts of the model elements. The question is whether the model is accurately representing the software under scrutiny. Thus, measurement accuracy based on counting model elements refers to the model validity in view of the measurement goals and not to the counting rules. Abran uses the term Validationof the model against Verification of the measurement context to discuss measure-ment accuracy (Abran, Software Metrics and Software Metrology, 2010, p. 34).

Counts are something else than measurements.

Dr. Thomas Fehlmann October 7, 2015

© Euro Project Office AG, 2015 Page 9

What is the single most important invention of the 20th century?

The proof that the Fast Fourier Transfer (FFT) is not NP-complete made the deepest impact on humankind probably since invention of cooking by a fire (Cooley & Tukey, 1964). It led to the possibility of transferring audio signals in predictable time into digital code. Previously, sounds were analogous oscillations of the atmosphere, or of electro-magnetic potentials, caused by beings or loudspeakers. The FFT did allow describing with digital numbers what the original oscillations where. Thus, it became possible to build chips that transformed audio signals into storable digital code and later video signals as well. All the music and entertainment stuff that today makes up for a trillion-euro industry started with that invention. Today it populates computers, laptops, phones and television sets connecting by a global internet.

The FFT did not come by coincidence; it was the result of long years of solid research in pure mathematics, especially in linear algebra. FFT transforms audio signals captured by a microphone as electrical pulses into digital numbers. To be more precise, the FFT algorithm selects the Fourier base functions in the functional vector space that model the analogous signal and represents the signal by the coordinates of the unit vector in this space. This works like a linear vector space; however, the base units are functions, not points in space. Finding controls for a transfer function to explain the observed response is quite similar.

Dr. Thomas Fehlmann October 7, 2015

© Euro Project Office AG, 2015 Page 10

The calculation of the Eigenvector is mathematically simple; nevertheless, this is a relatively new invention (Gauss, as always…), however, the old Greeks didn’t seem to know this optimization method (or we lost all references during the middle ages).

Basically, the idea is to revert cause and effect. Mathematically, this is simple; if you try this for the physical world, it won’t work because time runs forward.

All you have to do is transpose the transfer function matrix, and calculate the combined symmetrical square matrix 𝑨𝑨⊺. Such matrices, if positive definite, have a principal Eigenvector (theorem of Perron).

Using that Eigenvector, the solution𝒙 = 𝑨⊺𝒚𝐸 is simple to calculate.

For Freaks: Multiply 𝑨 by 𝑨⊺

The transposed dual matrix 𝑨⊺

Row by row

𝑨𝑨⊺ 𝑖,𝑗 =

𝑘=1..𝑚

𝑎𝑖,𝑘𝑎𝑘,𝑗

Result: quadratic 𝑚 𝑥 𝑚 Matrix

Now 𝑨𝑨⊺ has Principal Eigenvector 𝒚𝐸𝑨𝑨⊺𝒚𝐸 = 𝒚𝐸 ≅ 𝒚

𝒙 = 𝑨⊺𝒚𝐸 solves 𝑨𝒙 = 𝒚𝐸 , thus approximately 𝑨𝒙 ≅ 𝒚

Dr. Thomas Fehlmann October 7, 2015

© Euro Project Office AG, 2015 Page 11

Assume there is some “oracle” denoted as 𝑨⊺𝒚 guessing a profile 𝒙𝑬 = 𝑨⊺𝒚 for any

chosen set of controls. Chapter 2: Transfer Functions will explain how to construct such oracles. This oracle 𝒙𝑬 = 𝑨

⊺𝒚 predicts the control profile 𝒙𝑬 = 𝑥1, 𝑥2, … , 𝑥𝑛 , enabling users to select and prioritize controls, such that they can start with the most important first and fine-tune with the least expensive ones. This is what traditionally QFD aims for – however, the methods used for finding such a profile for 𝒙𝑬 are often relying more on experienced moderators than on mathematical reasoning and evidence.

If the oracle 𝑨⊺𝒚 is not perfect, as happens for oracles from time to time, the convergence gap tells the difference. If the oracle is perfect, then the process becomes lean.

Thus, if such an oracle exists for the transfer function 𝑨, the selected controls are capable of delivering a process response 𝒚𝑬 = 𝑨𝒙𝑬 close enough to the desired response 𝒚. If the goal profile 𝒚 and achieved response 𝒚𝑬 = 𝑨𝒙𝑬 are close enough, the process repeats without variation. Consequently, the convergence gap is an indicator similar to the standard deviation sigma for the degree of variation that a process executes during one loop.

Dr. Thomas Fehlmann October 7, 2015

© Euro Project Office AG, 2015 Page 12

Every of the major functional sizing methods states as the first tasks in counting: define what the measurement goal is. However, none of the methods specifies how to measure the distance between goal target and achieved target. This simply is left to qualitative considerations.

In contrary, when playing football, teams assess with scrutiny why they hit or missed the goal target. So, let’s learn from soccer teams!

Dr. Thomas Fehlmann October 7, 2015

© Euro Project Office AG, 2015 Page 13

As an example, assume the measurement goal is to predict project cost. It is understood that both functionality and quality add to cost; the goal profile had been defined based on previous experiences of the project team.

Also, the organization adds cost, depending upon public exposure and stakeholders.

Dr. Thomas Fehlmann October 7, 2015

© Euro Project Office AG, 2015 Page 14

Since this is serious, the team uses several counting methods to identify the controls for project costing. Two ISO standards; one for non-functional size based on the Buglione-Trudel matrix, since it is agile development, or SNAP, if more traditional approaches apply.

Legal size is a count based on the applicable legal laws & regulations; something often ignored by technically oriented people.

Dr. Thomas Fehlmann October 7, 2015

© Euro Project Office AG, 2015 Page 15

The transfer function maps the estimation controls on the measurement goal profile. In this case, the impact measurements in the QFD matrix cells are expert judgments obtained in the QFD way. The solution profile for counts indicates how much weight each count has concerning the measurement goals. In this case, it refers to the consolidated cost estimation for the whole project. Thus, transfer functions make functional size counts compliant to metrology standards. The convergence gap reflects measurement precision with regard to the chosen measurement goals.

Dr. Thomas Fehlmann October 7, 2015

© Euro Project Office AG, 2015 Page 16

The solution profile shows the overall importance, or contribution, that each of the counts adds to the measurement goals. Thus, measurement precision is not with regard to the count but with regard to the measurement goals; in accordance with the standards for measurement imposed by the Bureau International des Poids et Mesures, the VIM (ISO/IEC Guide 99:2007, 2007) and the GUM (ISO/IEC CD Guide 98-3, 2015). The solution profile combines several functional sizing methods into one measurement; thus, it becomes possible to define a functional sizing unit per transfer function. The counts contribute to measurement precision in specific ways.

Dr. Thomas Fehlmann October 7, 2015

© Euro Project Office AG, 2015 Page 17

Understanding measurements as transfer function is also a big step forward for the VIM and the GUM into the 21st century. For software metrics, it opens the path towards more measurements based on counts and sometimes also assessments.

Dr. Thomas Fehlmann October 7, 2015

© Euro Project Office AG, 2015 Page 18

The authors have published quite a bit on the subject – e.g., in QFD symposia, at SW metrics conferences like MetriKon or IWSM / Mensura; also at Lean Six Sigma Conference Glasgow, Strathclyde and in Zurich.

There is a book in in progress for print: "Managing Complexity“. A preprint is available from the authors.

Dr. Thomas Fehlmann October 7, 2015

© Euro Project Office AG, 2015 Page 19