Lost Knowledge in KDE
How the hell did we make pyramids again?
Kevin Ottens
Introduction: What do we mean with knowledge loss
Examples of lost knowledge in KDE, both technical and organizational
(although mostly technical)
Conclusion: How to deal with knowledge loss
Knowledge Loss
Refers to the loss of relevant knowledge that was intended to stay with the
organization
The loss of critical knowledge through labour turnover. It involves what the
departing employees know about their job tasks, but also who they know and
collaborate with to get work done.
How can it look like?
Brace yourselves, this one is time travel…
Extreme example to make the point. Egyptian people was apparently good at making
them… but we don’t really know how anymore.
Indeed if I cite Wikipedia:
Egyptian pyramid construction techniques are the controversial subject of
many hypotheses
These techniques seem to have developed over time; later pyramids were not
constructed in the same way as earlier ones
In addition to the many unresolved arguments about the construction
techniques, there have been disagreements as to the kind of workforce used,
slaves or skilled workers?
Pseudoscientific theories have proliferated in the vacuum of official
construction explanations.
So yeah, one very serious case of knowledge loss at scale.
Maybe something less dramatic?
Warning: quotes coming…
Alright, was purposefully huge and a bit preposterous… closer to us
Organizational knowledge loss can be defined as the intentional or
unintentional evaporation of knowledge that accumulates from learning and from
individual and collective actions (Perrott, 2007).
Understanding and Managing Knowledge Loss
Journal of Knowledge Management 2013
The HR literature has studied knowledge loss from an employee turnover
perspective. HR practices such as motivation and reward systems (Menon and
Pfeffer, 2003) were mentioned among suggested retention strategies to reduce
knowledge loss in organizations.
Understanding and Managing Knowledge Loss
Journal of Knowledge Management 2013
Departing employees take with them subject-matter expertise, routines
explaining why decisions are made, awareness about work practices and routines
and knowledge about company’s failures and successes.
Understanding and Managing Knowledge Loss
Journal of Knowledge Management 2013
Do we have organizational Alzheimer’s?
We’re likely no different right… let’s see a bunch of examples spotted in
the wild
It’s obviously not exhaustive but I contacted a few contributors and that’s
what they came up with
Also for most it doesn’t necessarily mean it’s completely gone… but clearly
only a few dinosaurs still know or use them purposefully
Forgotten Technologies We Could Use More
ki18n is ridiculously amazing!
David Edmundson
Cheating a bit here, we do use it… but we tend to underestimate it a lot
It’s doing a job not as simple as it sounds
This is why we have things like KPluralHandlingSpinBox
Example: it translates “half past 4” into German, which is randomly “halb 5”,
this means manipulating placeholders with maths!
We tend to forget those things because in English it seems to always
work
Pology was our in-house application for managing PO files
Sébastien Renard
Pology checks spelling, merge branches, have rule based control and so on
Unmaintained
Hard to understand
Python2 based… rotting…
More people should know about Andreas Hartmetz’s dferry
David Faure
This is a small one but still…
Useful tool to trace D-Bus calls in a GUI tool
Use it more! (I plead guilty as well)
The KParts concept still makes sense in many cases!
David Faure
KParts concept: embed a viewer or editor for any kind of document
Most applications receiving any file types have a use for it
KMail, KOrganizer and friends can have attachments
Why launch a full fledged application to preview a PNG or PDF attachment in
a mail? an event? a chat message?
Consumer app don’t necessarily have to use it, it’s their UX choice
But if you’re making a document viewer please please provide a KPart to give
the choice to others between embed or launch
KConfig has a bunch of secret things that are useful to a distro
David Edmundson
Cascading (BTW, I use that to manage my dotfiles, I got an extra prefix for
the settings I want to force and manage by hand)
Immutability for entries and groups
Expansion of environment variables
KAuthorized is an interesting piece of forgotten API
David Edmundson
Just a wrapper around config value reading
Standard way of locking down features (blocking konsole, blocking logout)
Turning your machine you can leave safely on a stand without code change
Who even remembers KioskTool? It was a GUI for sysadmins to control KConfig
secret features and KAuthorized
KCModules should rely on KConfigXT
Kevin Ottens
like recently due to the job, I realized that the knowledge about KConfigXT has
been completely lost it’s still there, but everyone does KCModules the wrong way
for it to be effective and whoever designed the QML integration with KCModule
was so ignorant about the thing that it’s just impossible to make KConfigXT work
properly with it we did a pass of porting and fixing but there’d be more to do
it’s interesting in some way, first hand witnessing knowledge loss inside
a group of humans with the generational changes and so on
Forgotten Technologies Invented Before Everyone Else
Remote Data Engines, today it could be called an IoT protocol
Marco Martin
Yes… we did invent IoT before it was a thing
Imagine if your phone or tablet could discover compatible devices around you
and display corresponding plasmoids
More than an idea there was code (QtJolie)
Nowadays dataengines are even on the way out with the advent of QML,
dataengines were elegant in theory but in practice developers seemed to not
like them
Plasma Active was an attempt to go on mobile while staying out of the race of
who has the most applications
Marco Martin
Goal: use a semantic database and gather data from the sensors (location,
wifi networks, time of day,emails and other communications..) to give
suggestions on what are the most important documents, websites, activities
and apps for this time and place
Yes… we invented Google Now before it was a thing… and without the
privacy invasion
Failed to gain traction because of hardware availability for mobile mostly,
also probably too expansive to do on the terminal alone
Maybe to resurrect coupled with a Nextcloud application?
Forgotten Organizational
Practices
Translations were almost to a point where all teams converged to a common
tool…
Sébastien Renard
Here we’re talking about the language specific translation teams, the core
team doing the link between devs and translators seem to work well
“Almost”… then everyone went back in their respective corners neglecting
their tools
Some teams went back to just sending emails to know who works on what, before
we had up to date booking pages
Lots of translators without the big picture so as soon as the “leadership”
disappears it spirals out of control
Then at some point someone else shows up and starts from scratch
Seems to be cycles happening regularly
People have forgotten what the FLA is
Alumn Anonymous
Again small one but keeps happening…
No… it’s not about licensing your work to KDE
Do you know what the FLA is?
You should! And you should sign it!
The “KDE e.V. is not the community” mantra keeps popping up
Alumn Anonymous
Where do you think the KDE e.V. membership is coming from really?
What I’m missing the most nowadays is paced communication at large scale
Aleix Pol
Remember blogs and mailing lists?
Did you notice they’re getting less and less used?
Instant communication went up which is good in its own ways but it seems to
have happened to the expense of tools which made it harder to miss things and
easier to build consensus
This one is interesting because it’s a practice we had which reduced chances
of knowledge loss… which will make me transition to my conclusion
Well at least now you’re aware of it
The results of the study indicate that knowledge loss can lead to significant
and widespread performance implications for an organization. They show that
strategies that target the retention of tacit knowledge and its inclusion in
firm’s routines are effective to mitigate knowledge loss.
Understanding and Managing Knowledge Loss
Journal of Knowledge Management 2013
What can we do about it?
Hopefully now you see why I think about it and would like to see KDE improve
there, so the obvious question is on the slide now. :-)
Let’s see what can be done to tackle it, it’s a few ideas there are probably
more.
Knowledge Management
Knowledge management is the process of creating, sharing, using and managing
the knowledge and information of an organization
Large field established end of 20th century
That’s where academic papers kind of let us down a bit… most advices are
very much company oriented
Still there are a few things to take from it
Documentation!
Documentation!
Documentation?
To make sure existing practices are not out of sight of newcomers
Onboarding, developer story, documentation, wikis… they need to be
maintained properly
We can learn a thing or two from GitLab, they are really good at
documenting how they work
Be careful, too much documentation is like no documentation at all… hard to
maintain and people will just stop referring to it
Focus to high priority knowledge in all areas
At least make processes explicit, especially the necessary to hand over to
another team later on (continuity!)
Storytelling
Powerful tool to help people remember for a long while
To make sure old practices are regularly reminded to everyone (old timers
included)
In a group discussion a process of collective narration can help to influence
others and unify the group by linking the past to the future
We started to do things like this around the goals for instance: see those
reserved slots
This was also what I tried to do here and during my Akademy 2013 keynote “The
KDE Democracy”
Retention / Continuation
To make sure nothing gets lost when someone leaves or becomes inactive
Knowledge retention also known as Knowledge Continuation: activities addressing
the challenge of knowledge loss as a result of people leaving
Mapping knowledge competencies, roles and identifying current or future
predicted gaps
Defining for each chosen role the main knowledge that should be retained, and
building rituals in which the knowledge is documented or transferred on, from
the day they start their job
Transfer of knowledge and information prior to employee departure by means of
sharing documents, shadowing, mentoring
Keep a list of alumnis that could be consulted on specific topics