Apr 18, 2013 - Euro Project Office AG, Zürich ... Six Sigma Black Belt for GMC Software AG ... response become e.g. business drivers, following Denney, that ...
Dr. Thomas Fehlmann
April 18, 2013
Work originated at IWSM Mensura 2010 in Stuttgart with a workshop together with Luigi Buglione, and a common session with Sylvie Trudel. Since then, various improvements and add-ons have been integrated, including the measurement approach based on ISO/IEC 19761 COSMIC
© Euro Project Office, 2014
Page 1
Thomas Fehlmann
1981: 1982-89: 1990-95: 1996-99: 1999ff:
2000-12:
2013ff:
22-Jun-2011
Dr. Math. ETHZ Manager Software–Development Senior Consultant – Digital Equipment Corp. Sales Support Manager – Proposal Center Euro Project Office AG, Zürich Akao Price 2001 for original contributions to QFD Member of the Board of QFD Institute Germany – QFD Architect SwiSMA: Software Metrics, Functional Sizing Six Sigma Black Belt for GMC Software AG ISO 9001 Management System CMMI for Software Development QFD and New Lanchester Theory Net Promoter Score Associate Vice-President ISBSG SharePoint Community
© Euro Project Office, 2014
2
Dr. Thomas Fehlmann
25-Jun-2013
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.
© Euro Project Office, 2013
3
Dr. Thomas Fehlmann
May 30, 2014
• Software Development the Six Sigma Way • Control of Variations • Effort Predictions
© Euro Project Office, 2014
4
Dr. Thomas Fehlmann
May 30, 2014
• Software Development the Six Sigma Way • Control of Variations • Effort Predictions
© Euro Project Office, 2014
5
Dr. Thomas Fehlmann
May 30, 2014
Six Sigma aims at reducing variations. This makes it necessary to measure variations. The picture above is a generic model for system prediction & measurement. While the Intended Response is defined, Six Sigma measures the various impacting factors, analyzes the relevant controls by Transfer Functions, using them as effective solution controls for implementing the system, and controls the result (DMAIC). If intended response and effective results are multi-dimensional, the convergence gap simply is the vector difference between these two. Variations are measured over the convergence gap. The most renown convergence gap is the sigma variations, which is indeed the same formula.
© Euro Project Office, 2014
6
Dr. Thomas Fehlmann
May 30, 2014
Lean means no waste (Muda in Japanese). Controls that have little or no effect are not systematically eliminated in Six Sigma; if so, the term is Lean Six Sigma. In many cases, it is sufficient to concentrate on the most relevant controls, without loosing too much. However, sometimes little impact produces big effects; that’s why we use matrix based transfer functions to implement the system model. In terms of mathematics, this introduces the Eigenvector. The Eigenvector method is used e.g. by Google to narrow controls to the most effective ones. It automatically eliminates superfluous controls. The authors of this paper and talk have recently introduced this powerful calculation method to Six Sigma and Quality Function Deployment (QFD) in particular.
© Euro Project Office, 2014
7
Dr. Thomas Fehlmann
May 30, 2014
Now, applying this for software development is straightforward. The intended response become e.g. business drivers, following Denney, that define the goals of a piece of software: the “What”. The controls are whatever makes the software work as intended by defining the “How”. In Agile, the term User Story is used for both the “What” and the “How”; in UML the term Use Case always denotes the “How”. For clarity, we consequently use “User Story” to refer to how customers want to use the software, and we use the term Functional User Requirement (FUR) to denote the “What”, in functional terms, and “Business Driver” to denote the “What” that refers to quality, or Non-functional Requirements. (NFR).
© Euro Project Office, 2014
8
Dr. Thomas Fehlmann
May 30, 2014
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 𝑨𝒙 ≅ 𝒚
© Euro Project Office, 2014
9
Dr. Thomas Fehlmann
May 30, 2014
A Lean Six Sigma software project uses many of the concepts known from Agile, including the Definition of Done (Six Steps to Completion) and the Retrospective. Other elements are freely selectable: not even sprints are needed to ensure reducing variation, although waterfall approaches suffer from the well-known fact that complete and unambiguous specifications are very, very hard to get. Maybe in some strictly regulated high-risk environment, such things exist.
© Euro Project Office, 2014
10
Dr. Thomas Fehlmann
May 30, 2014
Business drivers need a profile: What matters more, and what matters less? Methods to define such profiles exist: market studies identify business drivers, surveys yield the profile, and there are many more Voice of the Customer (VoC) methods known
© Euro Project Office, 2014
11
Dr. Thomas Fehlmann
May 30, 2014
The one VoC method shown on this slide is the Kano model: it simply distinguishes delighters from expectations, and by positioning topics in that square, you can identify their relative weight for a product, or in a project. The higher-left the topics move, the higher the score; low scores are bottom-right, where the difficult features reside that aren’t estimated by customers. The method is simple, not too accurate, but effective.
© Euro Project Office, 2014
12
Dr. Thomas Fehlmann
May 30, 2014
The “What” is usually simpler to devise. Functionality is most often understood when looking at competitive solutions, or technical possibilities open for exploration. The profile originates again from common VoC methods and market studies.
© Euro Project Office, 2014
13
Dr. Thomas Fehlmann
May 30, 2014
The user stories serve as controls for software development. They decide what is being build and how users will see the software.
© Euro Project Office, 2014
14
Dr. Thomas Fehlmann
May 30, 2014
User stories are not very detailed but can be detailed enough to build a model for the software.
© Euro Project Office, 2014
15
Dr. Thomas Fehlmann
May 30, 2014
The most prominent model among agile developers are the UUML sequence diagrams (recommended by Scott W. Ambler), because the allow both to split work into pieces fitting a sprint, and explain to product owner what they will get. Incidentally, sequence diagrams allow for counting functional size almost automatically, based on ISO/IEC 19761 COSMIC.
© Euro Project Office, 2014
16
Dr. Thomas Fehlmann
May 30, 2014
Functional Coverage is ensured the Six Sigma way: the data movements identified in the sequence diagram must implement the FURs. Therefore, we can go through the user stories and count the data movements that pertain to some of the FURs. Every data movement can be counted more than once, if they support more than one FUR. The resulting matrix is the transfer function that maps the user stories onto FURs. Its convergence gap should be near zero, indicating that the software is implementing the FURs, and nothing else. This check is not usually done; it is a lean idea to retain only those data movements for implementation that are necessary to meet customer needs. Only few agile teams really care for lean.
© Euro Project Office, 2014
17
Dr. Thomas Fehlmann
May 30, 2014
The user stories might be detailed enough to build a sequence diagram and to model the requested functionality. However, this is not all. Software has many features that are non-functional, and matter probably the most. Agile teams identify such non-functional characteristics when they do requirements’ elicitation in planning pokers and when preparing sprints. Moreover, non-functional requirements often result in added functionality, e.g., when implementing preference profiling for frequent user entries. Nevertheless, such functionality usually is not known when doing initial sequence diagramming at start. The user stories usually split into something smaller, e.g., story cards, that fit into one sprint. The previous user story then becomes an “Epic” – a sequence of related shorter stories explaining in detail what users expect.
© Euro Project Office, 2014
18
Dr. Thomas Fehlmann
May 30, 2014
The Definition of Done in Six Sigma follows the Six Steps to Completion model. It is hardly different from a Kanban setting except maybe the strict adherence to TestDriven Development. Test definitions come always first, no story card is approved for implementation without defined tests.
© Euro Project Office, 2014
19
Dr. Thomas Fehlmann
May 30, 2014
This sample functional story card implements most of the data movements needed for the SIM certificate functionality (here 11 CFP). Three metrics are used: • Story Points • Functional Size (COSMIC) • Business Impact The latter is a number on a scale – selectable by the team, usually 1..6 – indicating how relevant the implemented feature is for supporting the business drivers of the customer.
Also recorded is the number of refactoring runs – when the Six Steps to Completion restart from position 1 or 2 – however, this is not used for early estimation. Without business impact, the story points reflect the effort needed to implement functionality alone, and for functionality, the correlation between story points and functional size is very strong, as demonstrated by the ISBSG data repository.
© Euro Project Office, 2014
20
Dr. Thomas Fehlmann
May 30, 2014
The non-functional story card looks quite similar – with the exception that functional size often is small compared to story points, while the features to be implemented pertain to business drivers but aren’t necessarily functional. The story point s do not reflect functionality alone; the business impact might overrule them. In contrary, the story points reflect the impact of this card for the customer.
© Euro Project Office, 2014
21
Dr. Thomas Fehlmann
May 30, 2014
The story cards are placed on a Kanban board to visualize progress. The columns of the Kanban board reflect the Six Steps to Completion criteria for the definition of done. During a sprint, one developer shouldn’t work on more than one item at a time; except when they strongly depend from each other or just wait on something else.
© Euro Project Office, 2014
22
Dr. Thomas Fehlmann
May 30, 2014
• Software Development the Six Sigma Way • Control of Variations • Effort Predictions
© Euro Project Office, 2014
23
Dr. Thomas Fehlmann
May 30, 2014
The Buglione-Trudel matrix evocates another view on story cards. Instead of steps to completion, it shows the total product. Functional and Non-functional story cards together are placed either on in the cellar, or the sundeck relating to the respective business driver. Their business impact adds to a total effectively achieved impact. The resulting profile can be compared to the intended response, here the business driver profile that the finished software should exhibit. The gap becomes visible to the development team.
© Euro Project Office, 2014
24
Dr. Thomas Fehlmann
May 30, 2014
The development team adds and deletes story cards as needed to meet customers’ business drivers. The effect of adding, and the rows lacking support, help the team developing the right idea. This makes agile development lean.
© Euro Project Office, 2014
25
Dr. Thomas Fehlmann
May 30, 2014
The team adds and deletes story cards until the convergence gap closes. The Kanban chart feed is by approved story cards only. And when business driver profile changes, as happens for development from time to time, embracing change is quite easy and straightforward. It won’t end up with waste (muda).
© Euro Project Office, 2014
26
Dr. Thomas Fehlmann
May 30, 2014
The transfer function working in the background is shown here. Cells simply contain the impact from the Buglione-Trudel matrix. All is done by measurement; no human judgment needed.
© Euro Project Office, 2014
27
Dr. Thomas Fehlmann
May 30, 2014
Thus this implements Lean Six Sigma for Software. It is best done with Agile; no implementation are known with waterfall.
© Euro Project Office, 2014
28
Dr. Thomas Fehlmann
May 30, 2014
• Software Development the Six Sigma Way • Control of Variations • Effort Predictions
© Euro Project Office, 2014
29
Dr. Thomas Fehlmann
May 30, 2014
What does all this help when estimating an agile project? The fact that all processes are controlled makes the difference. All what’s needed is to predict those parts of the implementation process that are unknown at the start.
© Euro Project Office, 2014
30
Dr. Thomas Fehlmann
May 30, 2014
Functionality is usually known, at least up to the point where a sequence diagram can reveal the working of data movements between functional processes. If not, such a model is build in hours not days, and later can be used for communicating between stakeholders.
© Euro Project Office, 2014
31
Dr. Thomas Fehlmann
May 30, 2014
Functionality – stand-alone – relates to cost very directly. ISBSG repository data allows predicting cost of functionality. However, this is not enough.
© Euro Project Office, 2014
32
Dr. Thomas Fehlmann
May 30, 2014
Compare the ISBSG prediction with the story points found by the development team. Even if done for a few test items only, it provides a translation factor between story points and functional size. The ISBSSG database should be used with minimal regards to environment and industry.
© Euro Project Office, 2014
33
Dr. Thomas Fehlmann
May 30, 2014
On the other hand, impact goes with story points as well. The translation factor here is yet unknown and most probably depends from the product, the sponsor and team. Thus a regression analysis on existing projects should uncover that factor. Again, it might be enough to have a few sample story cards assessed. Note that neither non-functional story cards nor their business impact is known when estimating a project.
© Euro Project Office, 2014
34
Dr. Thomas Fehlmann
May 30, 2014
However, the matrix can be predicted, using a QFD workshop. QFD is about predicting unknown cause-effect transfer functions that cannot yet measured in the Six Sigma way. In our case, we do an estimation workshop just as any other QFD workshop. The experts – both from technical and business side – must agree on which cell to fill with story cards, such that the convergence gap closes.
© Euro Project Office, 2014
35
Dr. Thomas Fehlmann
May 30, 2014
Again because of the convergence gap, the process is capable to predict total cost for non-functional items. Its Lean Six Sigma at its finest.
© Euro Project Office, 2014
36
Dr. Thomas Fehlmann
May 30, 2014
This slide shows how calibration is done. We start with the ISBSG database, rely on story points and don’t worry when they differ among teams. The translation of business impact to story points is the least known in this picture. Both, story points and business impact, are human guesses and not exact physical measurements. If we use the ISBSG database a second time, now with regard to environment and industry, we might be able to use it as a second opinion.
© Euro Project Office, 2014
37
Dr. Thomas Fehlmann
May 30, 2014
As a summary we have used two transfer functions – for functional and non-functional coverage – to keep our software development process under control. The total is an early estimate for the software project.
© Euro Project Office, 2014
38
Dr. Thomas Fehlmann
May 30, 2014
The approach by the Buglione-Trudel matrix is still new – I don’t have much feedback except own uses. More experiments, maybe a community exploring its possibilities, strengths and weaknesses would be extremely welcome. The main learning is that successful estimation depends from process control.
© Euro Project Office, 2014
39
Thomas Fehlmann
25-Jun-2013
The author has published quite a bit on the subject together with Eberhard Kranich from Duisburg – 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. Currently, there is a book in the works: "Managing Complexity"
© 2013 by Euro Project Office AG
40