1,064 karma · joined October 28, 2016
As a big fan of Domain Driven Design I found "domain storytelling" a useful technique when adapted to software systems.
With these diagrams it was much easier to convey complex systems and their temporal couplings. Especially to higher Management as they can actually "read" how the sequence of events flow.
Try it out and see if it can be another tool on your belt.
===
Other then that, as the article mentions, it all depends on the audience and their background/knowledge level. Why not gather Feedback from those your diagrams are intended for?
===
https://files.manager-tools.com/files/private/podcast/mp3/ma...
(1) Hue was not a good dimension for encoding magnitude information, i.e. rainbow color maps are bad.
(2) The mechanisms in human vision responsible for high spatial frequency information processing are luminance channels. If the data to be represented have high spatial frequency, use a color map which has a strong luminance variation across the data range.
(3) For interval and ratio data, both luminance- and saturation-varying color maps should produce the effect of having equal steps in data value correspond to equal perceptual steps, but the first will be most effective for high spatial frequency data variations and the second will be most effective for low spatial frequency variations.
===
[1] https://www.research.ibm.com/people/l/lloydt/color/color.HTM
or as pdf:
https://github.com/frankMilde/interesting-reads/blob/master/...
However, your advise is not very actionable, given that the current market is one hot bubble, where investments and valuation is not longer based on market fundamentals, see [1].
Your company is profitable but has slow organic growth in revenue/profit (single or low double digits). Everybody has more work on the table than is actually doable. To keep up with demand, you can hire sporadically one person in this department one in that... If you're numbers are good, maybe you can hire in the single digits per year.
Since salaries (especially in the tech sector) are rising much faster per year than your growth or inflation for that matter, you must pay much more to the new hires. This creates a salary gap in your team and leaves also less money for yearly salary adjustments for existing employees. Also since I hire only few per year, i cannot offer a meaningful Management career path, nor can i promote every Dev to a architect or principal. After all, to keep the business running, I need devs that do Dev work.
In the current artificially inflated tech market (thanks to easy money), if I job hop i can increase my pay by 20%. However which normal company is able to regularly increase the salaries of all their employees by that percentage and grow head count? Impossible.
I sometimes remember dreams from easily 15y - 20y ago absolutly vividly, although I have had forgotten them in the mean time. Suddenly, during the day, like in a split second (maybe triggered from a scene or scent) I feel that "feeling" (or more like a superposition of all impression of that dream i had) of a dream long lost and the dream is fully present in that moment and I kind of "remember" it completely. Then it is fading away fast.
Every so often I have these vivid dreams with what feels like long story archs. In my youth / pre 30s more often then now. At the end of my 20s I started to keep a dream diary, not very consistently, but still.
So now, when I have these dream flashbacks, I immeadiately grab this journal or a piece of paper. I write everything down and draw sketches of the scene and really try hard to remember specifics of that dream. And then something really weird happens... i start to remember scences form other forgotten dreams and it feels like I opened a door or pathway in my memory and can look/explore fragments of these dreams. And the harder I try the better results I get. It is really an odd experience.
Between my 20s and 30s I did a lot of selfdefense training. I would dream a lot about conflict situations where I would have to fight (or run). In real life I might have had 3 conflics in those 10 years. Anyhow, fighting in a dream was like being submerged in molasse: every movement had resistence and was painfully slow, while opponents moved normally. This was freaking me out.
On the surface that looks like clarity, but when do you have to look at that code? Often when you need to fix an issue or extend a functionality. You need to understand what's going on in detail.
When you debug a workflow or Algorithm in a code base like this you have to jump from one function to the next and suddenly you are 6 layers deep and totally lost the context. It is so much harder to grasp code structured like this compared to simple linear flows where each step is marked by inline comments.
===
[1] https://www.amazon.de/-/en/Robert-David-Steele/dp/1583944435
That sounds great in theory, but how long is your evolution time and do you keep track of the changes in practice? I would assume a good evolution time is 3 to 6 month. I would say half the time I work on a story i face that decision. If you close 1 to 3 tickets a week you have to track a lot these decisions [1]. Now add that you work on a team of 5 and you have 5 engineering teams overall.. it seems to me that this approach does not scale.
[1] granted not all tickets will be new decisions in new places of the coffee base and you do come across some of your old changes and do the actual evolution.
From what I see most metrics on an individual or team level can/will be gamed leading to worse outcomes.
Metrics on higher levels like on the level of the product or even revenue of the company/product depends on many other players outside of the control of the engineering team (product management, operations, QA, regulatory, marketing, sales, etc). This of course it's due to the fact that delivering value to customers is a team effort.
But how can you know/show your department is on the right track?
(1) Hue was not a good dimension for encoding magnitude information, i.e. rainbow color maps are bad.
(2) The mechanisms in human vision responsible for high spatial frequency information processing are luminance channels. If the data to be represented have high spatial frequency, use a colormap which has a strong luminance variation across the data range.
(3) For interval and ratio data, both luminance- and saturation-varying colormaps should produce the effect of having equal steps in data value correspond to equal perceptual steps, but the first will be most effective for high spatial frequency data variations and the second will be most effective for low spatial frequency variations.
===
[1] https://www.research.ibm.com/people/l/lloydt/color/color.HTM
or as pdf:
https://github.com/frankMilde/interesting-reads/blob/master/...
UnitOfWorkUnderTest_Scenario_ExpectedBehavior
Which mimics the internal GWT structure.