On Process, and software development

Today I had a chat with a coworker about the process we use at work; the method by which we develop software, from conception (“The site should be blue”), to doing the work (filing a ticket, writing the code to make the site blue, ensuring it is the expected share of blue), to various legal and compliance requirements (“it must be documented that on such-and-such a date, so-and-so did change the site to blue, signed by someone other than so-and-so”).

In short, we hate the process.

On the one hand, it’s cumbersome. Most processes are. They are build from small parts to a Big Thing, because one time, something REALLY fucked us, and That Must Never Happen Again. So layers got added, workflows got created, and before you know it, you need knowledge of the inner workings of a complicated state machine to make the site blue.

There was a time when you could just do it, man. It was great. But now it really optimizes for the common case, and we all know what happens then.

Anyway, what got me thinking was, what’s really at fault, here.

I think there’s a couple of big problems.

As an industry, we aren’t entirely sure what the hell it is we’re doing. There is a wing of the software industry that thinks we’re some kind of code-poet-ninja-rockstar who makes these beautiful and amazing things because it’s what drives us.

Me? I think we’re just skilled labor in an information economy. We’re assembly-line workers. And that’s good: skilled labor built this country. We should reward it! We should revel in it! That used to be a fucking awesome job, that people aspired to.

But the thing about those industries was, for a long time the pace of chance was slow. Carpenters had the hammer thing settled long before most of my ancestors came about. No one showed up with a tack hammer expecting it to be useful to build a building.

Our processes don’t protect us from outside interference. They don’t give us certainty about what it is we’re doing and why.

Building codes let every tradesman building a building know, to some degree of certainty, that when followed the pipes won’t burst, the sockets won’t catch on fire, and the support beams will hold. They’re why flood walls work and why buildings survive earthquakes.

It’s a process no one likes to follow, but it moves at a pace people understand; can be comprehended and relied upon for the duration of one’s career; and has visible results.

Today a bunch of code broke because our fragile human meat made mistakes that, in retrospect, may have been impossible in the common case to prevent. A couple of jobs ago, we changed fundamental pieces of our software at least twice; last job, we went tripled the number of languages you needed to do things at work in the space of a month.

It’s madness.

We are not wizards, ninjas, rock stars, or artisans. We are the skilled labor of an information economy; a noble profession, and one that benefits from a slower pace of change.

Our processes should reflect that. They should not just protect us from lawsuits or pass a perfunctory compliance inspection, they should provide a bedrock upon which to make solid decisions when tired, or confused, or hurried, or unsure.

A review: Dungeon Fantasy (powered by GURPS)

On the surface, Dungeon Fantasy (hereafter, DF) is pretty simple:

  1. Take GURPS
  2. Remove anything not relevant to a generic fantasy milieu
  3. Remove anything that’s not, well, generic
  4. Streamline and simplify any rules you have left
  5. Bundle together a bunch of stuff into generic fantasy tropes (e.g. a “bard” class)

As they point out, the entire game is fewer words than Volume 1 of 4E. When I say “remove” or “simplify”, I mean it.

Most of it is easily and quickly recognizable as GURPS; the edit job is very good. Anyone with a few games of GURPS under their belt will quickly and easily make sense of it all. The streamlining is also very good, so people who were intimidated by GURPS will have no trouble picking things up.

It makes you ask the question, though: who is this for?

Experienced GURPS gamers have little need for a generic rules-light fantasy game.

[Sidebar: I struggled over the term ‘rules-light’. Even in its slimmed-down form, DF has more rules than what usually passes for rules light in the latter half of 2017. That said, compared to GURPS is practically Apocalypse World, so maybe rules-light is the best descriptor.]

A very experienced GURPS group might be doing something like a big custom setting with massive customization. GURPS makes one-shots very difficult. If nothing else just telling everyone the parameters for character creation can take a ton of effort! DF takes all that and lets you do simple exploration/dungeon crawl fantasy games.

Inexperienced gamers in search of more crunch but hesitating to take the plunge into the very heavy game system of GURPS will benefit from the simpler rules, that they can later switch to if it pleases them.

Overall, I like it, but I’m uncertain just how much staying power it has compared to a full-fledged GURPS game. Once you’ve run a few one-shots and leveled up a few characters, what then?

Edited to add: I forgot to mention a couple of points. First, production design and quality are as you’d expect from SJGames: really good. The books have a somewhat minimal style with good (but not great) art. The text is clear and readable, “scannable”, and everything is indexed and easy to find.

Second, the more I think about it, the more I like it. My initial “what then”, the more I think about it, gives way to an organic “sandbox” style of gaming instead of the big, up-front games we’re used to. Maybe that’s good.

“Troupe” style play

Back in the dark ages, there was a really fun game called “Ars Magica”. It was set in “Mythic Europe”, a semi-historical version of late “dark ages” Europe (~1100AD, give or take) where magic was real.

The idea was that each player controlled a group of characters: a Mage, who was incredibly powerful; a Companion, who was more or less like a regular fantasy RPG character; and a coterie of grogs, who were semi-expendable cannon-fodder (but who could, over time, grow to power and become full-fledged companions).

I have looked around and not seen any system for more traditional AD&D/3E/Pathfinder; the rules are strongly aimed at regular party groups.

What got me thinking about this is Darkest Dungeon, which is one of my favorite games (despite its tendency to provoke cursing fits that would have George Carlin asking me to “tone it down a little”). To a lesser extent, another game I love, Guild of Dungeoneering.

In it, you command a company of mercenary dungeon delvers, who die QUITE OFTEN. However some grow to considerable power.

I was wondering how to run a desktop version of that; a kind of “you get d4 new recruits every ‘phase'”, kind of thing. The question is how to keep everyone connected to the story, I guess.

The Sprawl thoughts: Matrix hacking

This is apparently a PbtA gripe/ideas blog now, but it’s on my mind lately.

I like the abstract hacking rules quite a bit: it’s abstract but captures the flavor, keeps the hacker types in the game, and after several reads feels right. But PbtA is all about hacks, right?

My thoughts were mostly about the D&D-style/wargaming inspired maps from Cyberpunk 2020 and Shadowrun, combined with my day job as an actual doer of Internet computer maths. A few minutes with Paper and I got this:

network map
network map

ICE is colored per-link or system. The basic idea is that each node on the network is either one of the specific types listed in the rules, or a generic node the MC can use to riff on or as a story element or whatever (“I leave a backdoor on node X”). The links between nodes show visibility to each other, and the MC can introduce soft-fail elements like “high network traffic” or whatever on certain links.

From a purely descriptive point they remain the giant whatever of your Matrix geography: maybe they are individual geometric shapes, or streets on a synthetic New York City, or literally green screen characters. Doesn’t matter.

A guess at the plot to John Wick 3


If I had to guess:

  • he’s on the run
  • he meets a small group of other excommunicated assassins/people connected to this weird secret society run by the High Table
  • we get lots of flashbacks as a result (eg the Bowery King having fought against him in the past)
  • someone has some info or whatever that will “bring the whole thing down”
  • someone’s a turncoat
  • uh something something dog


Libertarians don’t exist

This image is pretty popular:


But here’s the thing: those are all just facets of the same person.

I have yet to meet a single “libertarian” who votes anything other than straight-party Republican. Not once. They even do this neat trick where they claim “but I do vote for libertarians”, and point to a Republican who self-identifies Libertarian; but recursively that person always votes Republican.

This election cycle we at least got a few Republicans voting Libertarian as a protest, and a few who will loudly and proudly proclaim their support for ol’ stoned-what’s-his-name as proof of their bona fides, but for the most part … Libertarians don’t exist.