Stakeholders or Power Wielders?
Sprint reviews are the right place for stakeholders to ask questions, and to give some feedback from their perspective. Such questions and feedback can sometimes have the undesired effect of sounding overly critical or judgmental, an impression that may be amplified by the fact that some stakeholders are in managerial roles.
It’s important to remember that people in management positions (which is often the kind of people taking the stakeholder role in sprint reviews) don’t always automatically speak from a position of power. First and foremost, they have a different perspective, a more outside perspective, than the team running the sprint review.
One thing where that often creates confusion is the notion of achievement, or what constitutes a viable sprint goal.
In the spirit of Scrum, each sprint is a place “where ideas are turned into value”. Value! This should be something tangible, for someone - ideally, this is the ultimate customer. Value is however also added if, for example, thanks to a refactoring, the quality and maintainability of the code base increase. In this case, the value increases for the engineering team, but also for the ultimate customer, because the team will be able to deliver new features and fix bugs more quickly.
So then, ideally, a sprint goal is not a checkbox, but a description of added (incremental) value, expressed as outcome rather than output. It is meant to be a “single objective … encouraging the Scrum Team to work together rather than on separate initiatives”.
Back to the stakeholder perspective. Stakeholders, not being part of the team, have a hard time understanding a sprint goal that’s formulated as output because that’s often expressed in team-internal language. An outcome, however, inevitably takes on some form of customer perspective. There are two main advantages to this: apart from stakeholders having an easier time appreciating it, the team also understands, implicitly, what kind of value it is adding for whatever customers by completing the sprint goal.
Looping all the way back to the beginning: if stakeholders sound overly critical or judgmental when challenging sprint goals, that likely has to do with perspective, and with what may look like a missing connection of the team’s work to customer value. It’s not so hard to address this: consider thinking about sprint goals as achieving outcome instead of generating output.
Tags: work
Elektra, Shrinkwrapped
It may have transpired that I’m quite fond of large-scale music from the late-romantic era. Given that, it may be odd that I’ve had a really hard time coming to terms with one of the more progressive works from that period, Richard Strauss’ opera Elektra. I really like Strauss’ music for its exuberant (some might say: excessive) expressivity, so that’s not the issue.
It’s the singing. Yes, me, an opera fan, has a problem with an opera because of the singing. In Elektra, the majority of the cast is female. That, in itself, is also not the issue (oh please, what a stupid idea), but it’s the type of singer that is typically taking the stage in late-romantic large-scale opera music. Those voices aren’t exactly lyrical and soft, but voluminous and blaring, and combined with the high pitches that has an unnerving characteristic. This is fine in a mix with male voices, but when, say, 90 % of the singing is done by female voices in this style, and the overall mood in the piece is more on the high-drama side of things, it’s hard (for me) to appreciate the music. Sorry, Richard; sorry, sopranos and altos.
Happily for me, conductor Manfred Honeck and arranger Thomas Ille have had the glorious idea of distilling the 100-minute opera into a 30-minute symphonic poem (of which Strauss has written several) without any singing. I came across this when my favourite radio station, DLF, broadcast a documentary in which Honeck was explaining the piece.
It’s wonderful: this version has all the high expressivity and drama, but none of the unnerving aspects. I can finally admire, appreciate, and access the piece in a way that enables me to approach the actual opera again.
There’s a YouTube video. Give it a try, the performance is amazing.
Tags: music
Self-Hosted News Aggregation
RSS is highly useful to keep track of news sites and blogs. I’ve been using a TinyTinyRSS (tt-rss) instance hosted in my personal web space for many years. When I started using it, tt-rss software supported the Fever API, which my preferred reader (Reeder) connects to. All of tt-rss is written in PHP.
When my web space hoster decided to put the (somewhat oldish) PHP version my tt-rss instance was running on under a paid maintenance plan, it was time to update tt-rss to the latest version. However, the manual installation was no longer supported. Docker was the new preferred way now. Since my hoster package didn’t include Docker support, I decided to move the tt-rss instance to my Oracle Cloud tenancy (the always-free tier is really quite usable), where I wanted to use a Linux VM to run things.
Once I had gotten it all up and running, I discovered that the Fever API support had been discontinued. Also, none of the (many) other APIs that Reeder can connect to were supported by tt-rss. At this point, I have to mention that the tt-rss maintainer doesn’t really care much about users: “we have an API of our own, just use that” is a standard response to questions about this matter. While I have great sympathy for OSS projects (and support some financially), I also have little tolerance for that kind of attitude.
Consequently, another RSS aggregator was needed. The relevant ones are all written in PHP, for some reason, which isn’t really my preferred language, but if it’s tucked away in a neatly packaged Docker configuration, why not give it a try?
I ended up installing FreshRSS, and it is really quite convincing. It imported my feeds right away, happily keeps them updated, and Reeder can connect to it easily. Things are good, and I don’t have to pay my web hoster to keep an old PHP version alive for me.
The setup I chose involves the FreshRSS Docker image, and a PostgreSQL 14 one. That turns out to be a bit of an overkill for the tiny VM I’ve got running in OCI: it only has 1 GB of memory, and the sync with Reeder is a bit on the slow side because of constant swapping. Happily, FreshRSS also comes with an option to run using SQLite, which is as lean-and-mean as it gets. I’ll set up the thing again with that as the database backend.
Tags: hacking, the-nerdy-bit
Password Managers
Since back in 2008 or so, I had been using 1Password as my personal password manager. This had to come to an end when the software was switching to a subscription-only, enforced-cloud-storage model. I despise both of these ideas. While I’m perfectly fine with paying for software and major upgrades, subscriptions aren’t really my thing (one reason to call me old-fashioned maybe, but there it is). Also, I strongly disagree with the idea of storing my password vault on someone else’s server (another reason to call me old-fashioned, which I’ll gladly accept), even if encrypted (feel free to also call me paranoid).
My research took me across the landscape. Disappointingly, many password managers these days are really, really in love with that cloud storage model, and don’t allow offline storage. There are some interesting open-source ones, such as Bitwarden and KeePass, which allow this, but I didn’t want to use them for different reasons.
Bitwarden requires a server in all cases - it can be set up locally, but that requires Docker (or some such) and dancing around with containers. Just to have a local password manager? No thanks. As for KeePass (in its KeePassXC incarnation), the UX just put me off: it feels clunky to me.
Enter Enpass. It’s local storage first, with a sync option that I don’t plan to use but which allows for choosing what sync service to use (Google Drive, Dropbox, iCloud, you name it). Also, it can be used for free, or with a subscription, or with a one-time payment for a lifetime licence.
That sounded like just the thing for me, so I ended up trying it, and, satisfied, purchasing that licence. So far, I haven’t found a reason to complain: Enpass imported my 1Password vault without a hassle, and it’s been working smoothly with its Firefox plugin. Good.
Enpass does have some downsides. For several versions, the application wasn’t “in your face” about upgrades being available, and would just crash silently when the laptop was closed. The crashes don’t happen any more, but upgrade notifications still aren’t noticeable unless you open the main app window. I rarely do that, but rather use the tray icon or browser plugin.
The Enpass UX is also a tiny bit “noisy”, as in: too many clicks to get a simple thing done. Weighing this against all the advantages, it’s fine.
(This is, of course, not a paid ad.)
Tags: the-nerdy-bit
Bubble Alert
Unpopular opinion: Mastodon, by nature, is worse than Twitter when it comes to diversity of perspectives.
(Yes, I’m aware Twitter has been renamed, but I don’t really mind.)
Like other social networks, Twitter has been criticised for fostering filter bubbles through tightly knit followerships that work as echo chambers wherein those representing the bubble mainstream single out, shun, condemn, and frequently banish those harbouring opinions diverting from said bubble mainstream. The criticism is not without merit. However, the “flat” platform structure with its single server instance (Twitter itself) made it easy to reach out and find things, including those pesky points of view from outside one’s own bubble, and engage. To those with tolerance for ambiguity and diversity of opinion, that’s an asset.
Mastodon, with its federated nature, allows to manifest the concept of filter bubbles at the infrastructural level. Instead of the single server instance, there is a multitude of instances. Each Mastodon instance’s administrator has the power to decide which other instances’ content is visible for users of the admin’s instance. If an admin decides to establish a bubble by banning certain instances, it becomes much harder for users of that instance to get that horizon-widening extra perspective.
You may be inclined to point out that Twitter suppressed (before the ownership change) and suppresses (since the ownership change) certain opinions, and that Mastodon is here to change that. Oh, really?
Tags: the-nerdy-bit
Planning Granularity
Large projects require some planning ahead. Many companies and teams also like to do annual or quarterly planning. In this, considerable time and effort are invested in preparing for execution, laying everything out in detail, often down to what should be achieved in individual sprints. That’s two-week windows several months out, from the perspective of the planning event.
Does that really sound realistic?
Sure enough, the meticulously arranged activities nailed down in quarterly or annual planning usually don’t play out. Reality has a different opinion, or, it simply takes place.
When having a long-term objective in mind, it does make sense to plan how to get there. Plans should be coarser the farther in the future the steps one looks at to plan are. It just saves a lot of time to not be too detailed on things that are likely to change anyway.
What should be planned in more detail is the next few concrete steps. Restricting fine-grained planning to that, and still bearing in mind that the plan might just not work out, saves a lot of frustration.
It requires some tolerance for ambiguity to work like that.
(Also, this, for more details and insight.)
Tags: work
Forth in Hardware
My interest in the Forth programming language is no secret. Imagine my amazement when a friend pointed me to this little piece of goodness. It goes without saying that I’m going to need a soldering iron soon: the My4th machine is so basic that you can’t purchase it assembled, but have to get the parts and assemble it yourself. Fun!
Tags: the-nerdy-bit, hacking
Why We Do Things
John Cutler has delivered another nice piece. This time, he’s giving the question of why someone (an individual, or a team) is doing something a satirical spin by giving wrong answers only.
I particularly like how each of the wrong answers is immediately decorated with follow-up questions that illustrate why the answer was wrong to begin with. And then, there’s the bit at the bottom of the posting that lists some indicators for giving the right answer instead.
It’s a solid reminder that we must always keep in mind why we’re doing something. Does it really add value, and is it the value we’re meant to deliver? What Cutler writes here also nicely complements some thoughts I had written up about how the whole “agile” thing can be reduced to just two simple questions.
Tags: work