Episode 99: Qualitätsanforderungen
iX/heise Developer
Podcast SoftwareArchitekTOUR (iX/heise Developer)
Episode 99: Qualitätsanforderungen
Software-Architektur. Der Podcast für Software-Architekten. Auf heise-developer.
Software architecture. The podcast for software architects. On heise-developer.
Herzlich willkommen zu einer neuen Folge des Software-Architektur-Podcasts.
Welcome to a new episode of the Software Architecture Podcast.
Mein Name ist Gernot. Heute geht es um den sperrigen Begriff Qualität.
My name is Gernot. Today we are going to talk about the cumbersome term quality.
Was der mit Software und Software-Architektur zu tun hat.
What that has to do with software and software architecture.
Ich freue mich sehr, mit Johannes hier zu sitzen.
I am very happy to sit here with Johannes.
Johannes, magst du dich vielleicht ganz kurz vorstellen?
Johannes, could you perhaps introduce yourself briefly?
Hallo, ich bin der Johannes. Ich bin einer der Neuen in der Runde.
Hello, I am Johannes. I am one of the newcomers in the group.
Ich bin Senior-Consultant bei der Firma InnoCube, wo auch der Gernot mit mir ein Kollege ist.
I am a Senior Consultant at the company InnoCube, where Gernot is also a colleague of mine.
Und beschäftige mich dort ganz viel mit Software-Architektur in verschiedenen Rollen.
And I deal a lot with software architecture there in various roles.
Mit Software-Architektur in guter Qualität.
With software architecture of good quality.
Ja, zu mir, Gernot, ich bin InnoCube-Fellow seit langer Zeit.
Yes, to me, Gernot, I have been an InnoCube Fellow for a long time.
Software-Architektur-Coach und so weiter.
Software architecture coach and so on.
Mehr brauchen wir gar nicht dazu zu sagen. Lass uns direkt ins Thema einsteigen.
We don't need to say more about that. Let's dive right into the topic.
Ja, Gernot, was ist denn Qualität überhaupt? Kannst du mir das erklären?
Yes, Gernot, what is quality anyway? Can you explain that to me?
Ich erkläre das, ich antworte mit einer Gegenfrage.
I explain that, I respond with a counter-question.
Ich bin auf dem Weg zu einer Qualität, die ich mir nicht vorstellen kann.
I am on my way to a quality that I cannot imagine.
Ich bin auf dem Weg zu einem Kundenprojekt letztens im sehr, sehr schönen malerischen Dorf im Frankenland
I was on my way to a client project recently in a very, very beautiful picturesque village in Franconia.
an einem kleinen Textilgeschäft vorbeigekommen.
passed by a small textile store.
Und da stand ein großes Schild im Schaufenster.
And there was a large sign in the shop window.
Seit 60 Jahren der Qualität verpflichtet.
Committed to quality for 60 years.
Und ich habe diese Frage seit 60 Jahren der Qualität verpflichtet
And I have been committed to quality with this question for 60 years.
dann mit in mein Projektteam genommen und habe die Leute im Team gefragt,
then brought into my project team and asked the people in the team,
was sie denn darunter verstehen, wie sie das denn interpretieren,
what do you mean by that, how do you interpret it,
im Textilgeschäft steht, seit 60 Jahren
In the textile store for 60 years.
der Qualität verpflichtet.
committed to quality.
Da kamen sehr interessante Meldungen raus,
There were some very interesting reports.
weil die
because the
Einzelne aus dem Team
Individuals from the team
gehen klettern, die dann gesagt haben,
go climbing, who then said,
ja, so eine Textilie,
yes, such a textile,
also wenn da wir
So if we
über Qualität reden, muss diese Textilie halt
Talking about quality, this fabric has to hold up.
abriebfest sein, auch
to be abrasion-resistant, also
auf Gestein und Granit, wenn ich klettere.
on rock and granite when I climb.
Wiederum andere haben gesagt,
Others have said again,
ja, aber mir ist, also Qualität,
Yes, but to me, quality...
das bedeutet ja Langlebigkeit.
that means longevity.
Und ich habe dann gefragt,
And then I asked,
Langlebigkeit, ja, das kann ich halt oft waschen
Longevity, yes, I can just wash it often.
und die Farbe bleibt erhalten.
and the color is preserved.
Und wieder andere haben einen Kopf
And others have a head.
geschüttelt und gesagt, nee,
shaken and said, no,
also viel wichtiger ist doch die
so much more important is the
Produktion
Production
nach
after
Öko-Bedingungen oder Öko-Siegeln
Eco conditions or eco labels
oder so.
or something like that.
Und mein Fazit war,
And my conclusion was,
dass dieser Begriff
that this term
Qualität, oder das war für mich ein Beweis,
Quality, or that was proof to me,
dass der Begriff Qualität
that the term quality
sehr diffus und unspezifisch
very diffuse and unspecific
verwendet wird, also dass Leute
is used, so that people
über Qualität sprechen
talk about quality
und implizit lassen, was damit so genau
and implicitly leave what exactly is meant by that
gemeint ist.
what is meant.
Es klingt auch so, als wäre das eine
It also sounds like that would be a
sehr subjektive Sache, also was
very subjective matter, so what
meine Qualität ist, muss nicht deine Qualität
My quality doesn't have to be your quality.
sein. Genau.
to be. Exactly.
Aber wenn ich so Softwareentwicklerinnen und
But when I look at software developers and
Softwareentwickler frage,
Software developer question,
bekomme ich natürlich häufig die Antwort so,
I often get the answer like that, of course,
ich habe Clean Code geschrieben.
I have written clean code.
Der lässt sich gut lesen, er ist
It is easy to read, it is
richtig eingerückt, er hat die
properly indented, he has the
richtige Formatierung,
correct formatting,
sprechende Bezeichner
self-descriptive identifiers
und keine XYZ
and no XYZ
unterstrich 30F, solche
underlined 30F, such
Dinge. Ich habe keine Sonar Cube
Things. I don't have a Sonar Cube.
Issues, ich habe vielleicht sogar 100%
Issues, I might even have 100%.
Testabdeckung, das ist doch der Gipfel
Test coverage, that is really the peak.
der Qualität. Geht es denn noch
the quality. Is that still possible?
besser, wenn ich Software
better if I software
hochqualitativ entwickeln möchte?
wants to develop high quality?
Ja,
Yes,
die Zuhörerinnen und Zuhörer können mich
the listeners can me
jetzt nicht schmunzeln sehen,
don't smirk now,
aber eine sehr ähnliche Formulierung
but a very similar formulation
und Stolz in der
and pride in the
Stimme habe ich bei, in einem
I have a voice in a
Mandat gehört, dass wir von
It is mandated that we are from
U-Seite betreut haben, in einer
Have taken care of the U-side, in a
Anwendung, die unter Grotten
Application that is under caverns
schlechter Performance gelitten hat.
has suffered from poor performance.
Ja, Clean Code auf der einen Seite
Yes, Clean Code on one side
ist für manche Stakeholder eine
is for some stakeholders a
wünschenswerte und auch aus meiner,
desirable and also from my,
ich habe so eine Techie-Seele,
I have such a techie soul,
also ich mag sauberen
Well, I like clean.
und verständlichen Code,
and understandable code,
aber manchmal ist eben
but sometimes it just is
diese Lesbarkeit von Code
the readability of code
gegenüber der
opposite to the
notwendigen Performance der Anwendung
necessary performance of the application
vielleicht irgendwie nachgelagert.
maybe somehow subsequent.
Ja, das heißt, es ist
Yes, that means it is.
schwierig, wenn wir so Qualität
difficult when we have such quality
auf eine Dimension beschränken,
restrict to one dimension,
wo in Wirklichkeit
where in reality
halt viel mehr Dimensionen existieren,
many more dimensions exist,
über die wir halt reden sollten.
about which we should talk.
Was sind das denn für
What kind of things are those?
Dimensionen? Also du hast jetzt schon gesagt,
Dimensions? So you've already said,
Performance könnte so eine
Performance could be such a
Dimension, so eine Eigenschaft
Dimension, such a property
sein, die irgendwie
be, somehow
relevant sein
to be relevant
könnte für ein System, aber gibt es
could be for a system, but is there
noch andere Dinge, die du
other things that you
sagen würdest, die gehören damit dazu?
Would you say that they belong there?
Also alle, die uns zuhören, wissen
So everyone listening to us knows
das natürlich, dass es noch mehr
of course, that there is even more
solche Eigenschaften gibt
such properties exist
und um das möglichst kurz zu
and to keep that as short as possible
formulieren,
formulate,
sag ich mal, die Produkte, die wir
let's say, the products that we
bauen, die Systeme, die wir bauen,
build, the systems that we build,
die müssen halt den Zielvorstellungen
they just have to meet the objectives
der beteiligten
of the participants
Stakeholder genügen.
Satisfy stakeholders.
Und was jetzt
And what now?
zu diesen Zielvorstellungen gehört, das ist halt dann eine andere
This vision includes, well, that's just a different one.
Frage, aber das wäre so,
Question, but that would be like this,
also wenn ich halt eine Textilie kaufe,
So when I buy a textile,
dann erwarte ich halt, dass sie,
then I expect that they,
dass die von mir
that the one from me
als wichtig empfundenen Eigenschaften
perceived important qualities
dort auch enthalten sind.
are also included there.
Also letztlich
So ultimately
halt diese Menge an Eigenschaften, die halt
maintain this amount of properties that just
so ein bestimmtes Produkt für
such a specific product for
mich haben soll, das ist halt schon
should have me, that is just how it is
relevant.
relevant.
Jetzt ist das ja aber so bei
Now it is the case that
Software-Systemen, dass die nicht
Software systems that do not
so ganz offensichtlich
so quite obviously
Eigenschaften haben, die ich ihnen sofort
Have qualities that I can immediately...
ansehe. Also ich lese mir
I look at it. So I read it to myself.
zum Beispiel den Code durch
for example through the code
und sehe, ach, das performt wahnsinnig
and see, oh, that performs чудесно
gut oder das skaliert wahnsinnig
Good or that's scaling tremendously.
gut, sondern häufig ist es
good, but often it is
ja so, manche
yes, some
Eigenschaften, manche Merkmale merke
Characteristics, remember some features.
ich auch erst, wenn ich das System irgendwie
I only do so when I somehow manage the system.
gewissen Reizen aussetze, wenn ich
subject myself to certain stimuli when I
das in Produktion deployed habe,
that I have deployed in production,
wenn ich da gewisse
when I have certain
Nutzergruppen draufgelassen
User groups allowed on.
habe.
have.
Was ist denn so deine Erfahrung damit?
What is your experience with it?
Also wenn ein Produkt,
So if a product,
ein System spezifiziert
a system specifies
wird, wenn es in die Produktion
will, when it goes into production
gepackt wird, stimmt
It is packed, that's right.
dann diese Qualität dieses
then this quality of this
Systems in der Regel oder
Systems in general or
was passiert da?
What is happening there?
Das ist schon wieder was, wo du mich jetzt schmunzeln siehst
That's something that makes me smile again.
oder ihr mich vielleicht
or maybe you me
schmunzeln hört. Das
smiling stops. That
stimmt natürlich nicht. Also ganz häufig
that's not true, of course. Quite often
ganz häufig,
very often,
also in meiner Erfahrung,
in my experience,
System, an dem ich beteiligt war,
System in which I was involved,
haben wir natürlich ein paar Eigenschaften
of course we have a few features
geschafft.
done.
Die unsere Stakeholder wollten, aber
The our stakeholders wanted, but
es ist immer mal wieder passiert,
it has happened from time to time,
dass wir halt so eine implizite
that we just have such an implicit
Annahme hatten
to have an assumption
für so eine Zielvorstellung
for such a target vision
und leider an der
and unfortunately at the
Realannahme der beteiligten
Acceptance of the parties involved
Stakeholder vorbeigearbeitet
Stakeholders pre-processed
haben.
to have.
Ich mache
I am doing
jetzt mal ein Beispiel, was nicht aus der Software
Now an example that is not from the software.
kommt, aber wir haben Freunde
comes, but we have friends
zum Salatessen oder zum Essen eingeladen.
invited to eat salad or to a meal.
Es gab halt so einen Vorspeisensalat.
There was just this kind of appetizer salad.
Das hat halt ja auch bestimmte Eigenschaften
That certainly has specific characteristics.
von
from
Frische und Aussehen und
Freshness and appearance and
vielleicht gewisse Geschmacksaspekte
perhaps certain taste aspects
in der Soße und eine
in the sauce and a
wesentliche Eigenschaft, die wir schlicht
essential feature that we simply
vergessen hatten, war, dass
forgot, was, that
einer der Beteiligten, also einer unserer
one of the participants, that is, one of our
Gäste, eine
Guests, a
ganz massive und sogar
quite massive and even
lebensbedrohliche Zwiebelallergie besitzt.
has a life-threatening onion allergy.
Das heißt, wenn dieser Mensch
That means, if this person
irgendwas isst, wo rohe
something eats, where raw
Zwiebeln drin sind, dann
if there are onions in it, then
bekommt er lebensbedrohliche
does he get life-threatening
Schwellungen im Hals.
Swelling in the throat.
Und
And
das muss man dann schon sagen, das haben wir ja völlig
You have to say that, we completely...
verbockt. Also wo wir was geliefert
messed up. So where we delivered something.
haben, wo
have, where
alle minus eins gesagt haben,
everyone said minus one,
ist ein leckerer Salat, aber genau diese
is a delicious salad, but exactly this
eine Person, Klaus heißt
a person named Klaus
da, Klaus dann gesagt hat, sorry,
that Klaus then said, sorry,
aber kann ich nicht essen. Also
but I can't eat. So
vorbei geliefert.
delivered past.
Das Äquivalent zu einem
The equivalent to a
IT-Projekt, das zwar wunderbar
IT project that is indeed wonderful
durch die Qualitätskontrolle
through quality control
in Anführungszeichen kommt,
in quotation marks comes,
alle Funktionen sind umgesetzt und
all functions are implemented and
kaum ist es irgendwie im Internet verfügbar,
barely is it available on the Internet in any way,
wird es sofort von irgendjemandem gehackt
it will be hacked by someone immediately
und alle Daten liegen offen
and all data is publicly available
und das System ist im Prinzip.
and the system is in principle.
Soll ja schon vorgekommen sein.
It has been said to have occurred before.
Also Digitalisierung in
Also, digitization in
deutschen Behörden, sag ich nur, aber egal.
German authorities, I say only, but it doesn't matter.
Das führt uns zu weit.
That's too far for us.
Und
And
im Vorgespräch, Johannes, haben wir
In the preliminary discussion, Johannes, we have
halt über diese Eigenschaften gesprochen
talked about these characteristics
und über implizit und explizit und so
and about implicitly and explicitly and so on
weiter. Und du hast im Vorgespräch
continue. And you mentioned in the preliminary conversation
zwei
two
interessante Begriffe benutzt, nämlich die
uses interesting terms, namely the
inhärenten und die emergenten Eigenschaften
inherent and emergent properties
von Produkten.
of products.
Und da
And there
kann ich mir vorstellen, dass du uns
I can imagine that you...
ein klein bisschen aufschlauen kannst, was das
you can learn a little bit about what that is.
denn so bedeutet.
for that means.
Das ist tatsächlich
That is indeed
ganz interessant. In der Systemtheorie
quite interesting. In system theory
unterscheidet man halt über
one distinguishes, however, about
Charakteristika, die
Characteristics that
irgendwie grundlegende Merkmale
somehow fundamental characteristics
sind, die das System von Natur aus
are, which the system is inherently
hat. Also ich kann zum Beispiel hergehen und
has. So I can, for example, go over and
kann sagen, ich stelle das
can say, I set that
System auf irgendwie sechs
System on somehow six
Threads ein und mehr als sechs
Threads one and more than six
Threads darf es nicht benutzen, um seine
Threads must not use it to its
um seine
to his
Requests zu handeln.
Requests to act.
Die
The
die Eigenschaft, wie viel
the property, how much
Requests pro Sekunde ich dann
Requests per second I then
allerdings in der Praxis,
however in practice,
wenn das Ding mit Traffic
when the thing with traffic
befeuert wird, in
is fueled, in
einer entsprechenden
a corresponding
Response Time handeln kann,
Response Time can be acted upon,
das wäre zum Beispiel eine emergente
that would be, for example, an emergent
Eigenschaft, also die sich erst aus
Property, which only emerges from
der Komplexität und aus den Wechselwirkungen
the complexity and from the interactions
der verschiedenen Bestandteile,
the various components,
meines Systems ergibt. Weil wenn
of my system. Because when
ich jetzt zwar sechs
I am now six.
Threads habe, aber alle machen als
I have threads, but everyone acts as if...
allererstes erstmal, dass sie sich
first of all, that they sich
den einen globalen Mutex holen
get the one global mutex
und blockieren dann
and then block
so lange, bis sie mit ihrer Arbeit fertig
until they are done with their work
sind, dann bringen die mir effektiv
are, then they effectively bring me
nichts, weil nicht parallel gearbeitet wird.
Nothing, because there is no parallel work being done.
Auch wenn ich das
Even if I do that
Potenzial dazu hätte.
It could have potential.
Da könnten wir
There we could
überlegen, dass vielleicht als eine Art
considering that perhaps as a kind of
Gedankenhilfe
Thought assistance
zu verwenden, diese
to use, this
Differenzierung zwischen
Differentiation between
inhärenten und emergenten
inherent and emergent
Eigenschaften.
Properties.
Aber wir haben
But we have
ja eben schon gesagt, also es geht,
yes, I just said it, so it works.
wenn wir über Qualität reden,
when we talk about quality,
definitiv mal um Eigenschaften,
definitely about properties,
um eine Menge von Eigenschaften.
about a range of characteristics.
Ich glaube, was es
I believe, what it is.
irgendwie tricky macht, ist meistens
somehow tricky, is mostly
sind die Qualitäten so Dinge, die
are the qualities such things that
eher so emergent sind, also die dann
more emergent, so then
auftreten, wenn das System
occur when the system
wirklich in Benutzung ist und nicht in den
really in use and not in the
relativ künstlichen
relatively artificial
Qualitätssicherungsanforderungen.
Quality assurance requirements.
Also wenn ich zum Beispiel
So when I, for example,
das in der Testumgebung teste,
testing in the test environment,
habe ich meistens vielleicht maximal
I mostly maybe have a maximum.
zwei Nutzer gleichzeitig, die das System
two users simultaneously using the system
benutzen. Ja, bestimmt.
Use. Yes, certainly.
Und dann passieren halt solche
And then such things happen.
Made-for-QA-Systems,
Made-for-QA-Systems,
wo ich wunderbar
where I am wonderful
durch alle Tests durchgegangen bin
went through all the tests
und dann in der Produktion allerdings feststelle,
and then in production, however, I find that,
gerade die Sachen, die dann
especially the things that then
auftreten, wenn ich sehr viel komplexe
occur when I have a lot of complex
Interaktionen habe,
I have interactions,
die habe ich einfach nicht bedacht. Also was
I just didn't consider that. So what?
passiert, wenn zum Beispiel gewisse
happens when, for example, certain
Ressourcen ausgehen, wenn mir der
Resources run out when the
Arbeitsspeicher ausgeht, wenn mir der Connection
The memory runs out when the connection...
Pool ausgeht,
pool goes out,
dann habe ich nicht bedacht, wie
then I didn't consider how
reagiert das System und meistens
the system responds and mostly
fliegt dann irgendeine sehr technische,
then some very technical one flies,
sehr kryptische Exception, die uns erstmal
very cryptic exception that initially leaves us
nichts sagt um die Ohren.
Nothing says around the ears.
Ja, aber
Yes, but
wie gesagt, zurückführen
As mentioned, lead back.
können wir das letztlich auf so eine Art
Can we ultimately do it in such a way?
Menge von Eigenschaften,
Amount of properties,
die halt IT-Systeme oder
do the IT systems hold or
Produkte haben
Have products
oder haben sollen.
or should have.
Ja. Und da
Yes. And there
haben wir halt dann wieder dieses
then we just have this again
Dilemma, dass manchmal uns
Dilemma that sometimes us
Leute sagen, was sie
People say what they
sich wünschen, also ihre
to wish for themselves
Anforderungen explizit machen oder aber, dass sie es
Make requirements explicit or that they do it.
halt auch nicht sagen oder vergessen.
Don't say or forget either.
Was
What
ich persönlich gut finde, um es zu
I personally find it good to do it.
vermeiden, dass man es vergisst, ist tatsächlich,
avoiding that one forgets it is actually,
dass man so eine Art Checkliste
that you have some kind of checklist
benutzt und halt wirklich sagt,
uses and really says,
ich gucke mir an, was sind die
I'm looking at what they are.
Eigenschaften, die ich vielleicht nicht
Qualities that I might not
bedacht habe, die
considered that the
allerdings vielleicht irgendwie wichtig
however, perhaps somehow important
sein könnten. Also, dass ich mir überlege,
could be. So, that I think about it,
was ist zum Beispiel mit dem Thema
What about the topic, for example?
Barrierefreiheit, was ist
Accessibility, what is it?
mit dem Thema Usability,
with the topic of usability,
was ist mit dem Thema
What is the topic?
Disaster Recovery.
Disaster Recovery.
Ich habe zum Beispiel einen Kunden, der
I have, for example, a client who
macht sich enorme Sorgen darüber, dass
is extremely worried about that
irgendwie so ein Kryptotrojaner in deren
some kind of a crypto Trojan in their
Datacenter wütet
Data center raging
und sie dann tatsächlich
and then they actually
irgendwie sehr schnell aus Backups
somehow very quickly from backups
wiederherstellen müssten.
would have to restore.
Und all das sind Dinge,
And all of this are things,
wenn ich sie bedenke
when I consider them
und wenn ich die wie so eine Art Checkliste
and when I have it like some sort of checklist
benutze, dann kann ich natürlich sehr
use it, then I can of course very
viel eher drauf eingehen
much sooner address it
und kann sagen, okay, was sind die Sachen,
and can say, okay, what are the things,
die wirklich wichtig sind für diese Software,
that are really important for this software,
die ich da habe. Ja, das ist eine
that I have there. Yes, that is a
super Anmerkung, finde ich,
super note, I think,
weil diese Checklisten uns ja auch
because these checklists help us as well
im täglichen Leben, also
in daily life, so
manche von uns nehmen ja vielleicht auch mal so eine Art
Some of us might also take a kind of that.
Einkaufsliste mit zum Einkaufen,
Shopping list for shopping,
um uns daran zu erinnern, woran wir
to remind us of what we
alles denken müssen. Und
have to think about everything. And
interessanterweise gibt es ja für
Interestingly, there is for
Qualität oder für Qualität
Quality or for quality
von IT-Systemen
of IT systems
schon relativ lange Zeit
already quite a long time
solche Checklisten, solche
such checklists, such
Eigenschaftenlisten
Property lists
unter dem Oberbegriff Qualitätsmodelle.
under the umbrella term quality models.
Ja, da über
Yes, there above.
Details kann man vielleicht sogar
One might even be able to provide details.
nochmal eine eigene Folge machen, da das
make another episode on its own, since the
ist auch ein spannendes Ding, aber
is also an exciting thing, but
aus meiner Sicht eine relativ bekannte
from my point of view, a relatively well-known
solche Checkliste ist der
such a checklist is the
ISO 2510 Standard,
ISO 2510 Standard,
der letzten November
the last November
in einer
in a
aktualisierten Fassung erschienen
updated version published
ist, ein bisschen vervollständigt,
is, a little completed,
der etwa 40
the approximately 40
mögliche, nein, der 40
possible, no, the 40
Eigenschaften aufzählt,
lists properties,
also die halt IT-Systeme haben,
so they have IT systems,
mehr oder weniger davon
more or less of it
haben können, aber sie haben sie halt
could have, but they just have it
und mit 40 Eigenschaften, das ist
and with 40 features, that is
ja schon mal ein guter Start,
yes, a good start already,
die sind auch
they are also
sehr breit thematisch,
very broad in terms of topics,
diese ISO-Begriffe,
these ISO terms,
sodass das, glaube ich, schon
so I think that already
hohe Wahrscheinlichkeit besitzt,
has a high likelihood,
dass Dinge, die für Stakeholder
that things that are important for stakeholders
relevant sind, auch in
are relevant, also in
dieser ISO 2510
this ISO 2510
Aufzählungsliste mit dabei sind.
List of inclusions.
Ja, ich habe die
Yes, I have the
auch schon in meinen Projekten benutzt,
also already used in my projects,
so als Checkliste, dass ich auch
as a checklist, so that I also
wirklich an alles gedacht habe.
I really thought of everything.
Die leidet allerdings
She is indeed suffering.
in meinen Augen so ein bisschen an
in my eyes a bit like
ein paar Nachteilen, auf die ich jetzt gar nicht so
a few disadvantages that I'm not really going to mention now
groß eingehen möchte,
would like to elaborate on it,
aber das ist auf jeden Fall ein
but that is definitely a
Anlaufpunkt, sich diese ISO-Norm
Contact point to obtain this ISO standard.
mal anzugucken, man
to take a look at it, man
muss die dafür auch nicht kaufen, also es
doesn't have to buy it for that, so it
gibt Grafiken, wo man einfach diese
There are graphics where you can simply do this.
verschiedenen Begriffe einmal
different terms once
so als Mindmap aufgelistet sieht
it looks like this listed as a mind map.
und das kann schon.
and that can already.
Also die Paywall bei ISO ist
So the paywall at ISO is
verhältnismäßig hoch, aber wie du sagst,
relatively high, but as you say,
man bekommt diese
one gets this
Visualisierung an verschiedenen
Visualization at different
Stellen und aber selbst vom ISO,
Positions and but also from the ISO,
ganz offiziell bekommt man halt so
officially, that's just how you get it
eine Reihe Begriffsdefinitionen,
a series of definitions of terms,
um sich halt einen Überblick
to get an overview
zu verschaffen, was könnte da relevant sein.
to provide, what could be relevant there.
Das
The
Dilemma, was ich dahinter
Dilemma, what I mean by that.
sehe, ist, dass diese
I see that this
reine
pure
Aufzählung
Enumeration
dieser Eigenschaften halt in der Praxis
the practical application of these properties
ja als, erstmal ist das
Yes, as, first of all, that is the
cool, dass ich so eine Checkliste habe,
Cool that I have such a checklist.
aber als Entwicklungsteam weiß ich jetzt immer noch nicht so richtig,
but as a development team I still don't really know,
was ich machen soll.
what I should do.
Du sollst jetzt ein sicheres,
You should now create a secure,
sicheres System bauen, nicht nur ein System
build a secure system, not just any system
bauen.
to build.
Ja, und
Yes, and
dann kann ich mich halt immer leicht rausreden und sagen,
then I can always easily bluff my way out and say,
ja, ich habe da jetzt ein sicheres System gebaut,
Yes, I have now built a secure system.
also kein Kindergartenkind
so no kindergarten child
der Welt kann das angreifen.
the world can attack that.
Und ja, du
And yes, you.
lachst jetzt, aber du hast mir nicht gesagt,
you are laughing now, but you didn't tell me,
wie viel Sicherheit du haben willst.
how much security you want.
Meine Annahme war,
My assumption was,
also ich weiß, dass dein Kind noch sehr, sehr klein
So I know that your child is still very, very small.
ist und dein Kind, weiß ich, das kann es nicht angreifen.
It is, and your child, I know, it cannot attack.
Also ich möchte natürlich
So I want of course
die absolut maximale Sicherheit
the absolute maximum security
zu dem absoluten minimalen Preis.
at the absolute minimum price.
Ja, und jetzt hast du direkt
Yes, and now you have directly
zwei Eigenschaften auf einmal in die
two properties at once into the
Waagschale geworfen. Das ist halt eine
Scales thrown. That's just how it is.
spannende Sache, dass wir
exciting thing that we
nur mit dem Namen
only with the name
der Eigenschaft, ich möchte gerne Performance
the quality, I would like to have performance
oder ich möchte gerne Sicherheit,
or I would like security,
da
since
sind wir begrifflich so
are we conceptually so
schwammig, dass das eher
vague, that it's more so
negativ nutzen
negative use
als positiv nutzen in der Praxis hat.
as a positive benefit in practice.
Das heißt, wir müssen in der Praxis
That means we need to put it into practice.
noch ein kleines
just a little more
begriffliches Schrittchen weitergehen.
to take a conceptual step further.
Wir müssen uns nämlich damit beschäftigen,
We need to deal with this,
was die Ausprägung dieser Eigenschaften
what the manifestation of these characteristics
sind.
are.
Also auch wenn ich bei einer Textilie Langlebigkeit
So even if I want durability in a textile
sage,
sage,
ich muss explizit sagen,
I must explicitly say,
meine ich tatsächlich länger
I actually mean longer.
als einen Monat oder
as a month or
wie viel länger meine ich?
how much longer do I mean?
Nennen wir das mal
Let's call that.
die zweite Dimension der
the second dimension of
Qualität. Also wenn die erste Dimension
Quality. So when the first dimension
das ist, dass ich überhaupt mal die Eigenschaften
that is that I ever once the properties
aufzähle, die auf so einer gedachten
list, which is based on such a thought
Achse alle hintereinander
Axis all in a row.
aufzähle, also da 40 von ISO oder
List, so 40 from ISO or
88
88
bei Wikipedia oder so,
at Wikipedia or so,
also ich zähle die jetzt mal auf, aber das
So I'll list them now, but that
sind ja im Moment nur Schlagworte.
They are just buzzwords for the moment.
Und was uns dann weiter
And what will happen to us then?
helfen würde in der Praxis wäre,
what would help in practice would be,
wenn ich jetzt ausprägen würde und sagen,
if I were to express this now and say,
ja, ich möchte, dass das System
Yes, I want the system to
so performant
so efficient
ist, dass ein Request garantiert
is that a request guaranteed
in 50 Millisekunden beendet
completed in 50 milliseconds
ist. Also dass ich als User
is. So that I, as a user
nach x Millisekunden
after x milliseconds
die Antwort auf meine Frage auf dem
the answer to my question on the
Bildschirm sehe.
I see a screen.
Dann hätte ich eben nicht nur
Then I just wouldn't have only
blöd nach Performance gefragt, sondern ich hätte
stupid to ask about performance, instead I would have
dann konkretisiert in dieser zweiten
then specifies in this second
Dimension eine Ausprägung der Eigenschaft
Dimension is an expression of the property.
für diesen
for this
einen Use Case hätte ich gerne 50
I would like to have one use case, 50.
Millisekunden an Performance. Das
Milliseconds of performance. The
wünsche ich mir.
I wish for.
Und das würde
And that would
so ein bisschen weiterhelfen
to help out a little bit
und damit wir das schaffen, muss ich mich halt
and to make that happen, I just have to
mit Messen und Vergleichen
with measuring and comparing
rumschlagen. Also ich muss halt dann überlegen,
to struggle. So I just have to think then,
wie kann ich bestimmte Eigenschaften
how can I achieve certain properties
messbar oder vergleichbar machen.
make measurable or comparable.
Und ja.
And yes.
Das ist ja
That's indeed
super. Das heißt also, ich gehe
Great. So that means, I'm going.
jetzt hier und sage zu meinem Product Owner,
now here and say to my Product Owner,
lieber Product Owner, guck mal, hier ist diese
Dear Product Owner, take a look, here is this
ISO-Norm. Sag mir doch mal,
ISO standard. Just tell me,
was willst du haben und was
What do you want to have and what?
in welchem Grad?
To what extent?
Und dann sollte er mir das sagen.
And then he should tell me that.
Ja, das kann ich mir super vorstellen, wenn du halt
Yes, I can really imagine that, when you just...
mit so einer 40 Liste,
with such a 40 list,
mit so einer Liste mit 40 Begriffen kommst
with a list of 40 terms like that you come
und nicht so jeder in dieser 40 Begriffe.
and not just anyone in these 40 terms.
Ich übertreibe
I'm exaggerating.
jetzt nicht, wenn ich sage,
not now, when I say,
in dieser ISO-Norm, das ist ja nur ein
in this ISO standard, that is just a
Vorschlag. Also, wie gesagt,
Proposal. So, as I said,
Wikipedia listet 88
Wikipedia lists 88.
und andere Qualitätsmodelle liegen bei deutlich
and other quality models are clearly at
über 100 Eigenschaften.
over 100 features.
Ich persönlich könnte mir
I personally could imagine
vorstellen, dass deine POs
imagine that your POs
nicht genügend Langeweile
not enough boredom
haben, um wirklich
to have, in order to really
zu 80,
to 80,
100 solchen Eigenschaften
100 such characteristics
dir genau zu beschreiben, in welcher
to describe to you exactly in which
Ausprägung sie das gerne hätten.
The expression they would like to have.
Weil es bestimmt Eigenschaften
Because it definitely has properties
gibt, wo sie sagen,
there are, where they say,
das interessiert mich in feuchtem
That interests me in moist.
Kehricht. Also, die Eigenschaft ist einfach
Rubbish. So, the property is simply
für mich nicht wichtig. Es ist egal, ob die
not important to me. It doesn't matter whether the
hoch oder niedrig ausgeprägt ist,
whether it is strongly or weakly developed,
brauchen wir nicht.
We don't need it.
Ein Beispiel dafür
An example of that
ist ein Thema, das
is a topic that
lange Zeit in meiner beruflichen Jugend
long time in my professional youth
sehr hoch gehalten wurde,
was held in very high regard,
ist Portabilität. Also, ich soll
is portability. So, I should
jetzt ein System bauen, das auf
now build a system that is based on
x Betriebssystemen,
x operating systems,
laufen muss. Und als ich noch
must run. And when I was still
jung war, gab es halt viele Serverbetriebssysteme.
When I was young, there were just a lot of server operating systems.
Heute ist halt ganz viel, was auf dem
Today there is just a lot happening on the
Server passiert, ist halt Linux
Server happens, it's just Linux.
oder Linux-Derivate. Und da muss
or Linux derivatives. And there it has to
ich mich nicht mit VEX-VMS
I don't get along with VEX-VMS.
und IBM-Großrechner-Betriebssystemen
and IBM mainframe operating systems
und XYZ-Betriebssystemen
and XYZ operating systems
rumschlagen, kompatibilisieren.
flail about, make compatible.
Es ist einfach nicht interessant.
It's just not interesting.
Ich brauche es halt für
I just need it for
genau eine Zielumgebung,
exactly one target environment,
die ich mit
the one I have with
Containern sogar in der Dev-Umgebung,
Even containerizing in the dev environment,
Prima testen kann.
Can test perfectly.
Und dann ist Portabilität
And then there is portability.
potenziell
potential
weniger wichtiges Thema.
less important topic.
Das heißt, an manchen Stellen könnte
That means, in some places it could
ich die Ausprägung dieser Eigenschaft
I the manifestation of this property.
sogar nahezu weglassen und sagen,
even nearly leave out and say,
nee, ich brauche das halt für
no, I just need it for
genau eine Zielumgebung.
exactly one target environment.
Da muss ich das nicht viel weiter beschreiben.
I don't need to describe it much further.
Also, du sagst
So, you say
jetzt, dein Rat wäre es,
now, your advice would be,
nicht mit der ganzen Liste zu deinem
not with the whole list to your
Product Owner zu gehen, sondern wirklich
Not just to go as a Product Owner, but really
eher zu sagen, okay,
rather to say, okay,
was sind denn so die
What are the
Top-Eigenschaften, die das
Top features that the
System haben sollte und lass uns
should have a system and let's
die dann konkretisieren.
which then specify.
Ja, so wie
Yes, just like that.
ich
I
liebäugle mit einem neuen Fahrrad
I'm toying with the idea of getting a new bicycle.
und das müsste
and that should
für mich bestimmte Eigenschaften haben.
have specific qualities for me.
Also, ich bin kein Bike-Guru,
Well, I'm not a bike guru,
aber es müsste für
but it should be for
mich bestimmte Eigenschaften haben, so
I have certain characteristics, like this.
hinsichtlich Bequemlichkeit.
regarding convenience.
Preis wäre für mich schon
The price would already be fine for me.
eine wichtige Größe, aber Farbe
an important size, but color
ist mir wirklich nahezu egal.
It really doesn't matter to me.
Also, wenn es nicht gerade Gold mit
Well, if it's not just gold with
Brillanten glänzend ist,
Diamonds are shining.
ist mir die Farbe wirklich völlig egal.
I really couldn't care less about the color.
Da würde ich halt sagen, so,
Well, I would say, like,
das für mich wichtigste
the most important thing for me
Merkmal ist Rahmendimension
Characteristic is frame dimension
und das zweitwichtigste ist vielleicht
and the second most important thing is perhaps
eine Länge des
a length of
Federwegs,
spring travel,
der Vordergabel und
the front fork and
eigentlich ist mir nahezu alles andere egal.
Actually, I don't really care about anything else.
Die Rat-Expertinnen und Experten
The council experts
unter euch mögen mir das verzeihen,
may you forgive me among you,
aber so von der Priorität,
but in terms of priority,
von der Priorisierung her, ist dann halt Farbe
In terms of prioritization, it's just color.
sehr nachgelagert und
very downstream and
ja, also das
Yes, so that.
glaube ich, kann man sich ganz gut vorstellen,
I believe one can imagine quite well,
dass es halt Eigenschaften gibt, die für bestimmte
that there are certain characteristics that are suitable for specific
Stakeholder halt hohe Relevanz und für andere
Stakeholders have high relevance and for others
gar keine Relevanz besitzen.
have no relevance at all.
Wie gehst
How are you?
du denn damit um, wenn ich jetzt mir
What do you mean by that, if I now...
vorstelle, ich habe sowas in einem
Imagine, I have something like that in a...
Projekt und dann habe ich verschiedene Stakeholder,
Project and then I have different stakeholders,
wie du schon gesagt hast,
as you already said,
die einen sagen, das Allerwichtigste für mich,
some say, the most important thing for me,
weil ich Head of IT Security
because I am Head of IT Security
bin, ist, dass das System Bomben sicher
is, that the system is bomb-proof
ist und die anderen vom Fachbereich sagen,
is and the others from the department say,
das ist mir vollkommen egal, Hauptsache es ist schnell am
I don't care at all, as long as it happens quickly.
Markt. Wie geht
Market. How are you?
man um, wenn man jetzt
"One around, if one now"
verschiedene Stakeholder-Gruppen
various stakeholder groups
hat, die komplett konträre
has the completely contrary
oder zumindest nicht unbedingt kompatible
or at least not necessarily compatible
ja,
yes,
Vorstellungen
Representations
davon haben, was das System leisten soll?
to have what the system is supposed to deliver?
Ja, lass uns ruhig
Yes, let's do it calmly.
nochmal einen ganz kleinen Schritt zurücktreten.
take a tiny step back again.
Wir haben gesagt, Qualität,
We said quality,
das sind erstmal Eigenschaften von Systemen,
these are initially properties of systems,
von Produkten oder IT-Systemen,
from products or IT systems,
wenn wir
if we
mit Qualität differenzierter umgehen, dann müssen wir
handle quality more differentiated, then we must
diese Eigenschaften irgendwie ausprägen.
to somehow shape these qualities.
Also ich habe jetzt so eine zweidimensionale,
So I now have a two-dimensional,
eine Dimension ist
a dimension is
die Eigenschaften, die zweite
the properties, the second
Dimension sind die Ausprägungen.
Dimensions are the manifestations.
Was du jetzt beschreibst, ist letztlich
What you are describing now is ultimately
die dritte Dimension, dass
the third dimension, that
nämlich unterschiedliche Stakeholder
namely different stakeholders
unterschiedliche
different
Eigenschaften priorisieren und auch unterschiedliche
Prioritize properties and also different ones.
Ausprägungen haben wollen. Also eigentlich haben wir ein
We want to have manifestations. So actually we have a...
dreidimensionales Optimierungsproblem.
three-dimensional optimization problem.
Ja, das
Yes, that.
du, Johannes, sagst, ja, aber
you, Johannes, say, yes, but
ich glaube, das ist bei dir nicht so,
I don't think that's the case with you.
aber vielleicht möchtest du halt ein Fahrrad in einem
but maybe you just want a bicycle in a
ganz bestimmten Rotton, damit sich das in deine
very specific shade of red, so that it matches your
Sammlung schön einsortiert. Das ist für
Collection nicely sorted. This is for
dich sehr wichtig und
you very important and
mir ist das halt völlig egal. Ich möchte halt
I really don't care about that. I just want to.
dafür aber einen langen Federweg, den du
but instead a long travel distance, which you
gar nicht magst. Und dann haben wir halt
don't like at all. And then we just have
unterschiedliche
different
und möglicherweise sogar
and possibly even
in Konkurrenz stehende Anforderungen
competing demands
und
and
ja, deswegen brauchen
Yes, that's why we need.
wir Softwarearchitektur.
we software architecture.
Ja, damit
Yes, with that.
Menschen so global
People so global
für Produkte entscheiden können, was ist
to be able to decide for products, what is
bitte das passende
please the appropriate one
Eigenschaftenportfolio,
property portfolio,
das eine, also
that one, so
das möglichst viele Stakeholder zufriedenstellt,
that satisfies as many stakeholders as possible,
möglichst
as much as possible
viele Stakeholder maximal zufriedenstellt
satisfies many stakeholders to the fullest extent
und Zuhörerinnen, Zuhörer
and listeners
wissen, dass natürlich nicht alle Stakeholder
know that, of course, not all stakeholders
gleich wichtig sind, also dass wir
equally important are, that we
diese Eigenschaften,
these characteristics,
Ausprägungsvektoren genau genommen noch gewichten
Weighting the manifestation vectors, to be precise.
müssen und spätestens dann ist es
must and at the latest then it is
halt saukompliziert.
It's just super complicated.
Und meiner Ansicht nach, meiner Erfahrung
And in my opinion, from my experience.
nach ist das, Entschuldigung,
then it's, sorry,
einfach harte Arbeit. Ich muss
just hard work. I have to
mir als Entwicklungsteam,
to me as a development team,
als Architekt oder Architektin halt
as an architect
die Mühe geben, ich muss mir diese
make the effort, I have to give this to myself
gewünschten, benötigten Eigenschaften
desired, needed qualities
halt angucken und muss letztlich auch
just look at it and ultimately have to
prüfen, gibt es da irgendwas,
check, is there anything there,
was halt krass gegeneinander spricht.
which is really in stark contrast to each other.
Du hast am Anfang auch
You also had at the beginning
gesagt, minimale Kosten,
said, minimal costs,
wenn ich halt nur
if I just
ganz wenig Euro habe,
I have very little euro.
dann werde ich das System
then I will the system
bestimmt nicht
certainly not
abhörsicher für die amerikanischen
wiretap-proof for the Americans
Geheimdienste hinkriegen. Da bräuchte
Intelligence services to manage. That would require
ich möglicherweise ein bisschen mehr Budget für.
I possibly have a little more budget for it.
da gibt es, meine ich,
there is, I think,
nur Individualentscheidungen, wo
only individual decisions, where
ich halt sagen kann, so, ich gucke mir jetzt die konkret
I can say that, so I'm now looking at the specifics.
gewünschten Eigenschaften des Produktes an,
desired characteristics of the product,
der verschiedenen Stakeholder und dann
the various stakeholders and then
kann ich vielleicht rausfinden, dass es
can I perhaps find out that it
gewisse Dinge gibt, von denen ich weiß,
there are certain things that I know,
aus meiner Erfahrung her weiß das
From my experience, I know that.
sie nicht miteinander kompatibel sind.
they are not compatible with each other.
Also du sagst, da muss
So you say, it has to be.
eigentlich jemand mit drauf gucken,
actually someone to take a look at it,
der Sachverstand
the expertise
hat in Sachen Softwarearchitektur,
has in terms of software architecture,
der weiß, okay, wenn du das und das
he knows, okay, if you do this and that
haben möchtest, dann wird es schwierig,
if you want to have, then it will be difficult,
das da drüben zu haben, weil das
to have that over there, because that
so ein klassisches Ding ist, das
such a classic thing is that
beißt sich. Also zum Beispiel,
it bites itself. For example,
wenn ich super schnelle Performance
when I super fast performance
haben möchte, dann kann es zum Beispiel
want to have, then it can for example
sein, dass ich nicht hergehen kann und sagen
to be that I cannot go there and say
kann, gleichzeitig
can, simultaneously
äh,
uh,
soll das, äh, super
Should that, uh, be great?
günstig im Betrieb sein, weil, äh,
be cost-effective in operation, because, uh,
vielleicht muss ich sehr viel Hardware
Maybe I need a lot of hardware.
auf das Problem werfen. Ja,
to throw on the problem. Yes,
das ist ein sehr, sehr schönes Beispiel, ne? Ich kann
that's a very, very nice example, isn't it? I can
halt, ähm, throw hardware
stop, um, throw hardware
at the problem ist ein
at the problem is a
Verfahren, eine Taktik, wie
Method, a tactic, how
ich halt Performance steigern kann.
I can increase performance.
Heute könnte ich mir halt in der Cloud
Today I could imagine myself in the cloud.
statt eine kleine, ähm,
instead of a small, um,
eine kleine Computeinheit
a small computing unit
eine große Computeinheit kaufen, die kostet
buy a large computing unit, it costs
halt was mehr. Oder ich kaufe mir eine
Hold something more. Or I'll buy myself one.
GPU-Einheit, die kostet noch was mehr.
GPU unit, which costs a bit more.
Mhm. Ja, oder ich könnte hergehen
Mhm. Yes, or I could go over there.
und sagen, ich, ähm, statt den Code
and say, I, um, instead of the code
in interpretiertem
in interpreted
Python zu schreiben, schreibe ich den halt in
To write Python, I just write it in.
handoptimiertem Assembler-Code.
hand-optimized assembler code.
Na, und das ist von der
Well, and that is from the
Änderungsfreundlichkeit her definitiv
Changeability definitely.
erst mal schlechter. Mhm.
First of all, worse. Hmm.
Na, weil es also weniger Leute gibt, die
Well, because there are fewer people who
Assembler-Code verstehen, als die, die Python-Code
Understanding assembly code, like understanding Python code.
verstehen und, äh, Einarbeitungszeiten
understand and, uh, integration periods
sind höher, äh,
are higher, uh,
Fehlerraten werden bei Assembler-Code möglicherweise
Error rates may occur in assembler code.
höher sein. Und, äh, das...
be higher. And, uh, that...
Da wird, da wird jetzt auch die von dir
There will be, there will also be the one from you.
bereits erwähnte Portabilität
previously mentioned portability
wieder zum Problem, weil jetzt kann ich nur eine
Back to the problem, because now I can only do one.
Form von Prozessor noch
Still form of processor.
benutzen, wenn ich jetzt, äh,
use, if I now, uh,
andere haben möchte. Genau.
want to have others. Exactly.
Ja, aber das ist halt, ähm,
Yes, but that's just, um,
so ist die Welt, ja,
that's how the world is, yes,
und es ist halt ein Riesenfehler,
and it is just a huge mistake,
Software für die Anforderungen
Software for the requirements
einer bestimmten Stakeholder-Gruppe
a specific stakeholder group
auszulegen,
to interpret
und sich dann zu überlegen, ach, vielleicht
and then to consider, oh, maybe
könnten wir mal die Ops-Leute noch fragen,
could we ask the Ops people as well,
ob sie auch Wünsche haben, und, na, Security
if they have any wishes, and, well, security
fragen wir am besten erst gar nicht, die haben ja immer,
let's not ask at all, they always have,
na ja, komische Wünsche, ähm,
well, strange wishes, um,
das führt dann halt schnell ins Desaster,
that quickly leads to disaster,
dass wir, also,
that we, well,
nicht, dass es schon mal passiert wäre, na ja, aber dass
not that it has ever happened before, well, but that
wir halt Software liefern, die den Bedürfnissen
We provide software that meets the needs.
bestimmter Stakeholder überhaupt nicht
certain stakeholder at all
genügt. Ja, ich erinnere an den Salat mit den
is enough. Yes, I recall the salad with the
Zwiebeln, also, ja, ja,
Onions, well, yes, yes,
das sind halt desaströse
those are just disastrous
Situationen, gerade,
Situations, just,
na, Operations-Anforderungen zu vergessen,
Well, to forget about operational requirements,
Security-Anforderungen zu vergessen,
Forgetting security requirements,
ähm, ist ein Weg ins sichere
Um, it's a way to safety.
Desaster, na, das wollen wir nicht machen.
Disaster, well, we don't want to do that.
Jetzt hast du schon ganz viel darüber
Now you already have a lot about it.
gesprochen, dass wir Dinge vergessen oder zu
spoken, that we forget things or too
wenig liefern, ich habe auch schon das Gegenteil
deliver little, I've also had the opposite
erlebt, äh, also, dass Teams
experienced, um, well, that teams
wahnsinnig viel, ähm,
insanely a lot, um,
äh, Wert auf
uh, importance on
irgendetwas gelegt haben,
to have laid something down,
wo ich sagen würde, dass es eigentlich
where I would say that it actually
für das, was sie dort baut, äh,
for what they are building there, uh,
gar nicht so wahnsinnig relevant
not so insanely relevant at all
gewesen, also, die haben sich dann
been, so, they then got together
verkünstelt und haben dort mit,
artificial and have there with,
äh, Metaprogrammierung
uh, metaprogramming
gearbeitet, um eine,
worked to a,
äh, bessere, äh,
uh, better, uh,
Portabilität, äh, zu erlangen,
Portability, uh, to achieve,
und von, äh, C-Sharp
and from, uh, C-Sharp
auch, äh, zu anderen, äh,
also, uh, to others, uh,
Programmiersprachen wechseln zu können, sollte
Being able to switch programming languages should
irgendwann die Notwendigkeit, äh,
at some point the necessity, um,
äh, da sein, wo
uh, to be there, where
wir auch gesagt haben, sehr viel,
we also said, very much,
ähm, Energie, sehr
uh, energy, very
viel Geld, sehr viel Entwicklungsaufwand
a lot of money, a lot of development effort
reingesteckt in irgendetwas,
stuck in something.
äh, was eigentlich niemand
uh, what actually nobody
gefordert hat und was halt einfach nur,
demanded and what just simply,
also, ich, ich gehe davon aus, es hat
So, I assume it has
Spaß gemacht, weil das sind
It was fun because those are
tolle, tolle Werkzeuge,
great, great tools,
so, äh, äh, Metaprogrammierung,
so, uh, uh, metaprogramming,
äh, Programmiersprachen zu
uh, programming languages to
lernen und damit herumzuspielen,
to learn and play around with it,
aber so richtig, äh,
but really, uh,
Grund gab es dafür eigentlich
There was actually a reason for that.
nicht, dass man das gemacht hat. Ja,
not that anyone did that. Yes,
das, äh, ist so ein Phänomen,
that, uh, is such a phenomenon,
wir haben das ab und zu mal Überleisten
We occasionally have that overlaid.
genannt, ne, also, dass Teams
called, no, so, that teams
gewisse Eigenschaften weiter optimieren
further optimize certain properties
als nötig, und
as needed, and
wir wissen, dass alle, das kostet mehr
We know that everything costs more.
Geld, ne, das, also, das dauert
Money, no, that, well, that takes time.
einfach länger, das, äh,
just longer, that, uh,
sozusagen Arbeitszeitvergeudung,
so to speak, a waste of working time,
ne, und, äh,
no, and, uh,
natürlich passiert auch das genau Gegenteilige,
of course the exact opposite also happens,
dass wir halt unterliefern, also unterleisten,
that we just underdeliver, so to speak,
also minder leisten, zu wenig,
also perform less, too little,
ne, also, beispielsweise zu
no, well, for example to
schlechte Performance oder eben zu
poor performance or just too
schlechte Security, und
poor security, and
um das auszutarieren, also,
to balance that out, so,
um wirklich halt hinzukriegen, dass wir
to really manage to get that we
passgenau als Entwicklungsteam
tailored as a development team
liefern können,
can deliver,
müssen wir einfach konkrete
we just need to be concrete
Qualitätsanforderungen haben,
have quality requirements,
ne, da müssen wir einfach diese
No, we just have to do this.
Eigenschaften, Ausprägungen,
Properties, manifestations,
ne, gegeneinander müssen wir einfach,
no, we just have to face each other,
ne, so gut kombinieren,
no, to combine so well,
dass sowohl Stakeholder sich
that both stakeholders are
verstanden fühlen, als auch, dass
to feel understood, as well as that
Entwicklungsteams
Development teams
verstehen können, was denn wirklich die
to be able to understand what really the
Zielgröße ist, also, die wir halt
The target size is, well, the one we have.
erreichen müssen.
must reach.
Ja, ich glaube, da gibt's
Yes, I think there is.
doch irgendwas von, äh,
but something about, um,
ARC 42 zu dem Thema
ARC 42 on the topic
Qualitätsanforderungen, also, ich glaube,
Quality requirements, well, I think,
mich zu erinnern, dass da irgendetwas
to remind me that there is something
drin stand, von wegen, äh,
it said, like, uh,
das Wort Qualitätsziele
the term quality objectives
kommt darin vor, und das Wort Qualitätsziele
is included, and the term quality goals.
Szenarien, äh, kommt mir
Scenarios, uh, come to me.
in den Sinn, ähm,
comes to mind, um,
das ist tatsächlich eine Form,
that is indeed a form,
äh, die ich auch schon in der Praxis
uh, which I have already experienced in practice
benutzt habe, um diese,
used to, to this,
diese Sachen, äh, mit
these things, uh, with
Stakeholdern zu diskutieren, festzuzurren
Discussing and finalizing with stakeholders.
und zu sagen, lasst uns
and to say, let us
das doch mal konkret machen, wie viel ihr
let's make it concrete, how much you
tatsächlich wirklich braucht,
actually truly needs,
oder zumindest wie viel wir annehmen,
or at least how much we assume,
dass ihr braucht, das ist natürlich eine
that you need, of course, is a
ungeschriebenes Gesetz der
unwritten law of the
Informatiksoftware auszuliefern,
to deliver computer software,
ändert die Anforderungen,
changes the requirements,
äh, das, äh, werden wir damit
Uh, that, uh, we will do with that.
auch nicht aushebeln, aber wir kriegen
not undermine either, but we’ll get it
zumindest eine Chance, einige der Dinge
at least a chance, some of the things
schon frühzeitig zu fangen.
to catch early on.
Ähm, äh, um das, also,
Um, uh, to that, well,
danke, dass du das ansprichst,
Thank you for bringing that up,
ne, auf dieses, äh, ARC 42
no, on this, uh, ARC 42
Zeugs kommen wir vielleicht, äh,
Stuff might come, uh,
äh, gleich nochmal zu sprechen,
uh, let's talk again soon,
aber lass uns noch einen Schritt zurückgehen.
But let's take a step back.
Du hast, äh, Qualitätsziele,
You have, um, quality goals,
Qualitätsanforderungen gesagt,
Quality requirements said,
ähm, der
um, the
Begriff aus der Literatur, den ich da
Term from literature that I am referring to
schon seit langer Zeit kenne,
I have known for a long time,
äh, ist der der
uh, is he the
Qualitätsszenarien, ähm, dass
Quality scenarios, um, that
die, das amerikanische Software Engineering
the American software engineering
Institute vor Urzeiten mal,
Institute a long time ago,
ne, mal propagiert hat, erfunden hat,
no, has propagated, has invented,
ne, du hast mir im Vorgespräch gesagt,
No, you told me in the preliminary discussion,
dass, äh, du dich damit auch
that, um, you also with it
in der Praxis häufiger mal auseinandergesetzt hast,
you have dealt with in practice more often,
vielleicht magst du das jetzt nochmal,
maybe you like that again now,
na, konkret für uns
Well, specifically for us.
hier
here
kurz erklären, zusammenfassen, was sich mit
briefly explain, summarize what is happening with
diesem Qualitätsszenarien, also Szenario,
this quality scenarios, thus scenario,
da hab ich so eine Vorstellung, was das ist, aber
I have some idea of what that is, but
Qualitätsszenario, ähm,
Quality scenario, um,
äh, erklär es doch bitte nochmal eben.
Uh, could you please explain it again?
Das ist tatsächlich relativ
That is actually relatively.
ähnlich zu, äh, wenn man sich das
similar to, uh, when you look at it
vorstellt wie so eine Art Szenario,
imagines something like a scenario,
zum Beispiel im, äh,
for example in, uh,
äh, Acceptance Test Driven oder
uh, Acceptance Test Driven or
Behavior Driven Development, dass
Behavior Driven Development, that
ich wirklich hergehe und versuche
I really go there and try.
ganz konkret auszuformulieren,
to formulate very concretely,
was es denn eigentlich ist, was ich mit
what it actually is that I have with
so einem, äh, mit so einer
such a, uh, with such a
Anforderung erreichen möchte. Also ich hab
I want to meet the requirement. So I have
mal ein Beispiel mitgebracht für,
brought an example for,
äh, das Qualitätsziel,
uh, the quality goal,
äh, der, äh,
uh, the, uh,
ich glaub, das war Fehlerfreiheit,
I believe that was error-free.
ich hab's mir nicht dazu geschrieben, äh,
I didn't write it down for myself, um,
auf jeden Fall, das Entwicklungsteam erweitert
In any case, the development team is expanding.
das System um eine neue Funktion,
the system for a new function,
im Durchschnitt führt das Hinzufügen
On average, adding
einer neuen Funktion
a new function
während der ersten 10
during the first 10
Betriebstage zu 1,5
Operating days at 1.5
neuen Defects im Issue Tracker.
new defects in the issue tracker.
Das wäre zum Beispiel
That would be for example.
so eine Sache, wenn ich ein
such a thing, when I am a
sehr zuverlässiges System haben
have a very reliable system
möchte, das halt einfach sehr wenige,
want that, well, just very few,
äh, Issues oder
uh, issues or
Defects in Production, äh, hat,
Defects in production, uh, has,
dann könnte ich dadurch eine messbare
then I could achieve a measurable
Metrik, äh, vereinbaren
Metric, uh, agree
oder messbare Anforderungen
or measurable requirements
niederschreiben, die mir ganz
write down, which is completely to me
genau sagt, wann ich dieses Ziel
exactly says when I achieve this goal
erfüllt habe oder wann ich dieses Ziel
I have fulfilled or when I will achieve this goal.
nicht erfüllt habe. Ja,
I have not fulfilled. Yes,
und da, na, das ist jetzt ein, finde ich
And there, well, I think that's now a...
ein schöner Rückgriff auf zu dem, was wir
a nice reference to what we
vorher, was du vorher uns erklärt hast
before, what you explained to us earlier
über, äh, inhärente, emergente
about, uh, inherent, emergent
Eigenschaften, na, dem
Properties, well, the
Source Code selber, dem seh ich erst mal nicht
I don't see the source code itself for now.
an, ja, also dem Hello World
Ah, yes, so the Hello World.
Source Code, ja, vielleicht, aber realistisch,
Source code, yes, maybe, but realistically,
realistischem Source Code seh ich halt erst mal nicht an,
I don't see any realistic source code at first.
wie viel neue Fehler der
how many new errors the
Emissio Tracker auslösen wird,
Emissio Tracker will be triggered,
na, weil das halt erst
Well, because that's just the way it is.
durch die zusammen,
through the together,
das Zusammenspiel mit
the interplay with
anderen Systemteilen und
other system parts and
Usern und Infrastruktur und so weiter,
Users and infrastructure and so on,
na, rauskommen wird. Aber, na,
Well, it will come out. But, well,
ich finde das ein sehr schönes Beispiel,
I find that a very nice example,
äh, weil das eine,
uh, because that's one,
ähm, so eine diffuse, ja, soll
uhm, such a diffuse, yes, should
fehlerarm oder fehlerfrei sein
to be error-free or to be without errors
Formulierung, ähm,
Formulation, um,
entscheidbar macht. Also ich kann
decidable. So I can
als Entwicklungsteam, ne, kann ich jetzt
As a development team, no, I can't do that now.
in die Historie gucken und sage, guck mal, die letzten
looking into history and saying, look, the last
fünf Mal haben wir es, äh, geschafft,
we have managed it five times, uh,
na, und das ist
well, and that is
natürlich keine Prognose, dass wir das immer
of course no prediction that we will always
schaffen werden, aber
will succeed, but
äh, ich halte das,
uh, I'll hold this,
solche Art Formulierungen für,
such types of formulations for,
für riesen viel besser, als
for giants much better than
gar nichts zu wissen oder als nur so
to know nothing at all or just so
eine Lexikon-Definition von Fehlerfreiheit
a dictionary definition of flawlessness
zu hören. Ja.
to hear. Yes.
Und, ähm,
And, um,
Qualitätsszenarien als
Quality scenarios as
Begriff, ähm, na, das,
Term, um, well, that,
äh, das fände ich schon schön, wenn du deinen
Uh, I would really like it if you...
POs statt zu sagen, na, sag mir mal für
POs instead of saying, well, tell me for
alle Eigenschaften, was du willst, na,
all the qualities you want, well,
sagen würdest, ja, gib mir doch mal die
would you say, yes, just give me the
fünf wichtigsten Qualitätsszenarien.
five most important quality scenarios.
Man kann
One can
das zum Teil sogar richtig, äh,
that's partially even correct, uh,
gut scopen und kann sagen,
good scoping and can say,
bei dieser Funktion ist mir diese Eigenschaft
In this function, this property is important to me.
sehr wichtig und bei anderen Funktionen
very important and in other functions
ist sie mir zum Beispiel nicht wichtig. Also,
for example, she is not important to me. So,
Klassiker ist, ähm, wenn ich, äh,
A classic is, um, when I, um,
Report-Generierung habe,
I have report generation,
äh, kann es zum Beispiel
uh, can it for example
sein, dass es vollkommen egal ist, ob es so ein
to be that it doesn't matter at all whether it is such a
Report innerhalb von zwei Minuten
Report within two minutes.
oder von zehn Minuten bereitgestellt wird,
or provided within ten minutes,
weil er einmal am Monatsende ausgeführt
because he was executed once at the end of the month
wird und die Person, die
will and the person who
den anfordert, vielleicht einen Kaffee trinken
requesting that, maybe have a coffee
gehen kann. Während das vielleicht
can go. While that might
bei einem anderen System,
in another system,
wenn das täglich, äh, alle fünf Minuten
if that daily, uh, every five minutes
passiert, äh, etwas ganz, ganz
happens, uh, something very, very
anderes ist, dass ich sage,
the other is that I say,
alles, was dieses System macht, ist mir
everything this system does is to me
Reports zu generieren und, äh,
Generating reports and, um,
deswegen muss das einfach zackig,
that's why it has to be done quickly,
äh, äh, funktionieren.
uh, uh, function.
Äh, das Szenario gibt
Uh, the scenario gives
mir halt die Möglichkeit, nicht nur zu sagen,
I have the opportunity to not only say,
es muss gut performen, sondern was muss gut
It must perform well, but what must perform well?
performen und wie gut muss es performen.
perform and how well does it need to perform.
Genau. Das, äh, das
Exactly. That, uh, that
finde ich ist ein sehr wertvolles,
I find it very valuable,
ähm, sehr, sehr wertvolle
um, very, very valuable
Methodik, sehr wertvolles Verständnis,
Methodology, very valuable understanding,
dass ich damit halt sehr, sehr feingranular,
that I am therefore very, very granular,
gleichzeitig aber auch sehr, sehr
at the same time also very, very
einfach, also methodisch einfach
simple, thus methodically simple
in der Lage bin, so Anforderungen,
able to meet such requirements,
Ziele hinsichtlich bestimmter Qualitätseigenschaften
Goals regarding specific quality characteristics
zu beschreiben.
to describe.
Das, das ist nicht trivial, das fällt auch
That, that is not trivial, that also falls.
nicht vom Himmel, ähm, aber
not from the sky, um, but
es ist, ähm, na, ich brauche dafür
Well, um, I need that for...
kein spezielles Tool, keine spezielle
no special tool, no special
Notation, das ist letztlich
Notation, that is ultimately
Plaintext, also Klartext, na,
Plaintext, also clear text, well,
auf einer verbalen Ebene,
on a verbal level,
der aber durch dieses, na, das hast du halt
but through this, well, you just have it
gesagt, es gibt halt eine Metrik da drin,
said, there is a metric in it,
äh, dieser 1,5 Defects,
uh, this 1.5 defects,
äh, in 10 Tagen oder,
uh, in 10 days or,
na, die 500 Millisekunden
well, the 500 milliseconds
bis ein Ergebnis irgendwo erscheint
until a result appears somewhere
und das macht es
and that makes it
einfach, zwischen verschiedenen
simple, between different
Stakeholdern auch so ein gemeinsames Verständnis
Stakeholders also have a common understanding.
zu produzieren.
to produce.
Schon, schon ganz
Already, already quite
hilfreich. Ich kann mir das sehr gut
helpful. I can imagine that very well.
vorstellen bei so Dingen wie bei Performance
Imagine things like performance.
oder auch selbst bei Defects
or even in the case of defects
oder so, dass ich da messbare Metriken
or so that I have measurable metrics there
dran packe, aber es gibt so Wischi-Waschi
I can get to it, but there's so much wishy-washiness.
äh, Anforderungen, wie
uh, requirements, how
das System muss hübsch aussehen oder
the system has to look nice or
das System muss, äh,
the system must, uh,
nutzerfreundlich sein
be user-friendly
und da muss man, glaube ich, auch so ein bisschen
and I think you have to be a little bit like that too
kreativ werden, was die Metriken
become creative with the metrics
betrifft, also irgendwie sagen,
concerns, so somehow say,
ich formuliere das als Experiment
I formulate that as an experiment.
und sagen, ähm, ich zeige
and say, um, I show
das 100 zufälligen Leuten, die ich
the 100 random people that I
auf der Straße treffe oder die auf meiner
On the street, I meet or the one on my...
Webseite vorbeikommen und frage, die
Come by the website and ask, which
findest du das schön? Oder so.
Do you find that nice? Or something like that.
Ähm, das,
Um, that,
das klingt immer brutal aufwendig,
that always sounds brutally elaborate,
ja, also ich kann ja nicht 100 Leute fragen,
Yes, well, I can't ask 100 people,
aber, äh, du könntest ja mal
but, um, you could maybe once
zufällig 10 Leute in der Kaffeeküche
coincidentally 10 people in the coffee kitchen
fragen, ja, und, ja,
questions, yes, and, yes,
wenn ich, äh, na, wenn ich das blöd
if I, uh, well, if I find that stupid
formuliere und sage, ich will das von 10.000
I want that from 10,000.
Leuten, ne, 9.000
People, no, 9,000.
das irgendwie cool finden,
to find that somehow cool,
na, aber da könnte man ja auch so ein Kompromiss,
Well, but one could also come up with a compromise.
finden und sagen, hm, ne, ich nehme
find and say, hmm, no, I'll take
eine etwas kleinere Zielgruppe,
a slightly smaller target audience,
ne, und mache damit halt mal so einen Versuch.
No, and just give it a try.
Ja, ja, ja.
Yes, yes, yes.
Vielleicht können wir, äh,
Maybe we can, um,
Johannes, jetzt noch einen kleinen
Johannes, now just a little more.
Rückgriff machen. Du hast eben schon mal angesprochen,
Make a reference. You just mentioned it earlier.
dass es da von AKT 42
that there is from ACT 42
einen Vorschlag gibt.
there is a proposal.
Der ist, äh, wirklich
He is, um, really
entstanden aus der Not
born out of necessity
aus Projekten, dass wir gesagt
from projects that we said
haben, also ich in Projekten
have, so I in projects
das Problem hatte, dass
the problem was that
ich nicht so richtig genau wusste, wie ich bestimmte
I wasn't quite sure how I should handle certain things.
Eigenschaften beschreiben soll.
Should describe properties.
Und mir fällt immer sowas viel leichter, wenn ich
And it always comes much easier to me when I
eine Vorlage habe, ein Vorbild.
I have a template, a role model.
Also habe ich mich auf die Suche gemacht nach
So I set out in search of
Vorbildern, na, nach, nach Beispielen
Role models, well, after, according to examples.
für alle Arten
for all kinds
von Eigenschaften und
of properties and
ich habe 10 Jahre lang
I have been for 10 years.
auf der, auf irgendeinem GitHub-Repo
on the, on any GitHub repo
bei AKT 42 so ein Word-Dokument
at ACT 42 such a Word document
gepflegt, ne, wo ich, wo halt
Well-groomed, no, where I, well, where
so ein paar Szenarien gesammelt waren. Das war
a few scenarios had been gathered. That was
relativ, ähm,
relatively, um,
dünn, na, es waren
thin, well, there were
jetzt keine, so, nicht, nicht viele Dutzend,
now none, so, not, not many dozen,
solcher Szenarien. Ich glaube,
such scenarios. I believe,
es war besser als gar nichts. Und irgendwann habe ich
it was better than nothing at all. And at some point, I have
dann gesagt, ja, die Idee ist gut, aber die
then said, yes, the idea is good, but the
Umsetzung ist noch nicht gut genug. Ich, ich brauche
Implementation is still not good enough. I, I need
mehr Szenarien, weil ich einfach,
more scenarios, because I simply,
na, in, in größeren Systemen doch
well, in larger systems yes
eine Vielzahl von Eigenschaften
a variety of characteristics
habe, wo es keine Vorbilder gab. Also nichts
I have, where there were no role models. So nothing.
zum Abschreiben. Ja. Ja, und dann haben
to copy down. Yes. Yes, and then we have
wir bei AKT 42, äh,
we at AKT 42, uh,
gesagt, so, wir machen, wir, wir versuchen das
said, so, we do, we, we try that
jetzt mal in bisschen größerem Maßstab,
now on a slightly larger scale,
sodass wir zumindest mal,
so that at least we,
ähm, für diese ISO-Norm
um, for this ISO standard
sowieso und am liebsten auch,
anyway and preferably also,
direkt für diese 90, die bei
directly for these 90, which are at
Wikipedia stehen, na,
Wikipedia stands, well,
dafür jede dieser genannten Eigenschaften
for each of these mentioned characteristics
mal ein, zwei solche konkreten
maybe one or two such specifics
Beispiele haben, also solche konkreten
Have examples, so concrete ones.
Szenarien haben. Mhm. Und
to have scenarios. Mhm. And
das ist Open Source, also das ist eben
that is open source, so that is just
komplett frei benutzbar, also im Gegensatz
completely free to use, in contrast
zum ISO hat das überhaupt keine Paywall.
There is no paywall at all for the ISO.
Wir verlinken das mal in
We'll link this in.
den Shownotes, ähm,
the show notes, um,
und das war halt für mich ein,
and that was just a,
äh, erst mal, das ist ein
Uh, first of all, that's a
relativ junges Projekt, also im Gegensatz zu
relatively young project, so in contrast to
AKT 42 selber ist das halt, na,
ACT 42 itself is just that, well,
relativ jung, na, freut sich
relatively young, well, is happy
auch über Pull-Requests und, ähm,
also about pull requests and, um,
und Vorschläge, aber das war halt wirklich
and suggestions, but that was really just
aus der Not geboren, na, dass
born out of necessity, well, that
ich halt auch keine Antwort geben konnte
I also couldn't provide an answer.
aus dem Stehgreif auf so,
on the spot like that,
ja, wie mache ich das denn mit Ästhetik
Yes, how do I do that with aesthetics?
oder Usability oder im Security-Umfeld
or usability or in the security environment
gibt es so einige, na, ein bisschen
There are quite a few, well, a little.
diffizile, nicklige
difficult, tricky
Eigenschaften, äh, und
Properties, uh, and
ja, jetzt gibt es zumindest so
Yes, now at least there is so.
eine Art Portal, wo halt solche
a kind of portal, where such
Beispiele mal gesammelt sind und,
Examples have been collected and,
ähm, ja, ich kann nur
Um, yes, I can only
sagen, dass Leute, die da dieses Problem
saying that people who have this problem
haben, Eigenschaften, Qualitätseigenschaften
have, properties, quality characteristics
zu beschreiben, mal dort mal suchen gehen.
to describe, sometimes go there, sometimes look.
Ja, super.
Yes, great.
Das, äh, klingt doch
That, uh, sounds good.
auf jeden Fall nach einem guten
definitely after a good one
nächsten Schritt, wenn ihr diesen
next step, when you have this
Podcast gehört habt.
listened to the podcast.
Schaut euch quality.akt42.org
Check out quality.akt42.org
an oder klickt in den
on or clicks in the
Shownotes.
Show notes.
Dann würde ich sagen, Gernot?
Then I would say, Gernot?
Ähm, dir, Johannes, ganz, ganz vielen Dank
Um, thank you very, very much, Johannes.
für das interessante Gespräch.
for the interesting conversation.
Euch und Ihnen,
To you and you,
allen Zuhörerinnen und Zuhörern, ganz
to all listeners, very
vielen Dank fürs, hoffentlich
Thank you very much for, hopefully.
bis hierhin zuhören. Wir freuen uns
Listen up to this point. We are pleased.
über Rückmeldung und Feedback.
about feedback and response.
Ähm,
Um,
und, äh, ich bin ziemlich
and, um, I'm pretty
sicher, dass wir zu diesem Thema
sure that we are on this topic
Qualität nochmal weiter
Quality once again further.
reden werden. Wir werden
talking will be. We will
definitiv mit, äh, Micha Stahl
definitely with, uh, Micha Stahl
zusammen nochmal eine Episode
together again one episode
fortsetzen, wo wir drüber reden,
continue where we left off discussing,
wie kann man denn vielleicht diese
How can one perhaps this?
jetzt geforderten Eigenschaften
currently required properties
auch erreichen. Ja, weil das,
also achieve. Yes, because that,
ähm, wäre ja für euch Architektinnen
Um, that would be for you architects.
und Architekten noch ein großer Schritt.
and architects is still a big step.
Und der Johannes hat da ganz, ganz viele Ideen,
And Johannes has so many ideas there,
deswegen müssen wir den dann, wenn wir den
That's why we have to do it then, when we do it.
auch wieder dazu einladen.
also invite again.
Also, vielen Dank und
Well, thank you and
euch alles Gute bis zum nächsten Mal.
Wishing you all the best until next time.
Macht's gut, ciao. Tschüss.
Take care, bye. See you.
Continue listening and achieve fluency faster with podcasts and the latest language learning research.