SoCraTes UK is an event in the series of Software Craft and Testing open spaces unconferences. There are other similar events happening throughout the year (the main one being in Germany, and others in Belgium, France, Greece, Switzerland, Romania, Chile, etc.). Each has its own set of unique characteristics, but as far as I know they all tend to focus primarily on the technical aspects of Agile Software Development.
Format
The “unconference” term is chosen on purpose to prepare participants about the differences from a traditional conference.
An unconference is a participant-driven meeting. In other words: you decide what topics you want to talk about, and work on, with whom — instead of hoping a “speaker” will address that topic at least briefly.
Open Space (“Open Space Technology”, OST) is a specific form of an unconference that starts with an empty schedule:
- No times are set,
- No rooms are allocated,
- No topics are mandated,
- No separations made between “speakers” and “audience”.
- All participants work out a schedule by suggesting, planning, holding and evaluating sessions, collaboratively.
Audience
Even though the audience for SoCraTes UK was certainly not exclusively developers this year (and I don’t have any kind of formal statistics about participants’ professions tbh) my impression is that the vast majority of participants had a (strong) technical background. If I had to somehow quantify it this belief, I would blindly guess an average of 7+ years of experience. I felt among peers, but there is something much more than just experience level that contributed to that, so please allow me to elaborate.
As with most open spaces events there is no separation between “speaker” and “attendee”; rather, we are all “participants”. Sounds simple, but I cannot stress this enough. It completely transforms the dynamics between the people at the event.
In a traditional conference, socializing is awkward.
People are usually in groups of acquaintances (e.g. they work together, or are friends) and I never feel so comfortable to join a discussion such a group might be having, even if I am sitting next to the group and even if I feel like I have something to contribute to that discussion!! I will mostly keep to myself, or to others attendees that I happen to know prior to the event.
Then we have the relationship with the speakers. They are put on a stage, and they are made to look down on the (usually) hundreds of people who have chosen to listen to their talk (and who, conversely, are made to look up at them). This almost forces the speaker to take on the “all-knowing expert“ role in a what seems to be more of a performance and less of a knowledge exchange. And there is another role in the performance; the role for the audience. Let’s think about this role for a moment:
If hundreds of members of the audience gather to sit down and patiently listen to this person, what exactly would we expect the interaction with the speaker to be? What is the power dynamic created between these two roles in our play?
Certainly, I wouldn’t consider them peers…
After giving a few talks myself, I am always amazed by the expectations that members of the audience have of me when they come to ask me questions after the talk. I sometimes find myself openly admitting to not knowing something, and the reaction I usually get back is very strange. It is as if I am making people uneasy.
How can I possibly not know?
I am almost made to feel like an imposter. And don’t get me wrong, yes, a speaker should have some expertise in the particular area they are giving their talk in. What we are ignoring, most of the times, is that plenty of members of the audience have their own areas of expertise.
The power dynamic is created simply by the fact of someone being on stage and others off it, not — as you would might expect — by what they respectively know.
Contrast this with the open spaces experience: we are no longer passive attendees who sit down and listen to talks, but are rather expected to participate in forming the event itself. This is a completely different basis for social interaction, as I am not only invited, but rather ** expected to cooperate with everyone else**.
Walking up and joining a conversation is not so intimidating anymore. I’m not doing something strange, I’m doing what’s expected of me in this particular setting.
Over the years participating in open spaces (primarily JCrete, AgileCrete), I have come to realize the “attendee” vs. “participant” distinction to be one of the key differences that really make an open spaces event feel like such a different experience to a traditional conference. Someone I can’t remember, once described this difference as that of an “one-way” vs. “two-way” communication and I think that’s spot on! In the first case you are a passive recipient of information, whereas in the latter you participate in an active exchange of information and can challenge the ideas you hear about. I very much prefer the latter setting. You?
Venue
The SoCraTes UK venue for 2019 was Wotton House, in Dorking, Surrey — outside London. It is a beautiful country estate, surrounded by English nature, at its finest.
Very very suitable for hiking and even having sessions outside (alas, this is the UK, so rain does get in the way). The accommodation offered is very nice, and breakfast/lunch/dinner was very good (with both veggie and vegan options) and it was great that everything was included in the price, so we had less to worry about.
The venue is great for open spaces events! It offers an inspiring setting, plenty of options for breakout spaces, it is in the middle of the countryside so very quiet (in the mornings!), and even offers enough space for anyone to break away from the buzz of the event and get some quiet time for reflection, work, reading a book, etc.
The main downside to the venue is that it’s a popular wedding venue, and that meant wedding parties were taking place next to our conference rooms in the afternoons / evenings. Definitely a distraction and something that takes away from the “retreat” format that this event otherwise has.
Another, minor, downside is also that the venue is not the easiest to get to, however the remoteness of it is also nice. If you drive there, you will end up going through what is basically a small road in a forest and I really enjoyed that part of my trip there.
But they need to do a better job of separating their events! It is not that I mind that there is some other event happening at the same time. The venue is more than big enough. It is that we are in each others’ way…
Drunk wedding guests and passionate software developers who are happily night hacking at 1am is a combination that doesn’t really work. And it is unfair to have all the hard work that the org team / facilitators have put in, voluntarily, out of their precious free time, tarnished by the things excessively drunk people do. The hotel staff can only clean up / prevent so much… : (
A shame really, because the venue has a unique character and would otherwise be an excellent choice. I felt tremendously inspired and creative in this setting, not least of all because I was among fellow crafters, whose presence clearly outweighed everything else. It is still very inspiring to find yourself among others who really care about how we work and how we develop software.
Highlights from Sessions
In terms of the open space sessions themselves now, I am just listing some examples of sessions I joined that I found particularly interesting / useful, given my current context. The list is in no particular order.
Please keep in mind that — because this is an open space, where the schedule is made up by whomever turns up on the day — this list is not necessarily representative of the sessions you might find in another SoCraTes instance.
Test && Commit || Revert (TCR)
A very enjoyable, code-retreat style, hands-on session where I got a chance to practice this. Setup took a bit of time, so we didn’t get a chance to explore this as much as I would have liked (ran out of time), but this is certainly on my todo list after the event. I want to explore how TCR can be combined with a specific commit notation that allows us to categorise commits (Hat tip to @ollispieps and @pawelduda for sharing this idea! Also, a thank you to Anita for enduring my Spock-related distractions!)
Value at Customer
A role-playing game by @maaretp where we explored the importance of tracking the real business value of a feature, after it was delivered (i.e. not the estimated business value we might use when prioritising backlog items, e.g. in scrum). As far as I know, tracking the actual ROI on a per feature basis is still not something we have “figured out” as an industry, and I think we’ll see more on this space in the years to come.
Toxic pairing
Another role-playing game, but this time focusing on problematic behaviour when pair programming. The folks who took on the role-playing did a fantastic job of keeping this a fun session! GJ (Hat tip to @TimSchraepen for proposing it and @pawelduda (I think) for the “tell, don’t ask” joke 🙇)
Contract Testing with Pact
I had had contract testing on my radar for a while now but I’d never quite found the time to play with it. @doktor500 and @MoleiroAlex ran an excellent 2h workshop that finally gave me the chance to get a better feel of how it actually works. Law of mobility took me to another session near the end, but I got back round to finishing it off later in the afternoon. Nicely put together workshop, albeit ruby only atm.
Note to self: contribute a setup in another language, for folks who are not comfortable with ruby!
Incorporating SoCraTes UK
Looks like most volunteer-driven communities are faced with similar dilemmas… Do we move forward and create a legal entity to back up our events, and, if so, how do we deal with the overhead this brings? Doesn’t that mean we need to devote extra hours to our community work? Doesn’t that mean extra commitment, at the expense of our own free time? This keeps coming up with the developer community in Crete and AgileCrete, time and time again and it was nice to hear we’re not the only ones who are struggling with this.
Need to look at initiatives like Open Collective) in more depth, to fully understand how they work. Looks like they only solve the logistics issue, but, not, e.g. legal liabilities issues we might be accountable for.
Self-Selection: Don’t let your Manager pick what team you work on — Pick yourself!
A topic I am tremendously interested in, primarily because I think it is one of the pillars that have brought this shining success to Open Source Software.
Companies are now starting to apply this in closed source projects as well, and I had the chance to discuss this at length during the event — once, in a session where we proved that in an open space, even 2 people are enough to run a really interesting session (thanks Keith!), once in the bar, and once in the taxi (thanks @ollispieps), on the way back to the airport.
Remote Working
As a fully remote worker myself, I had the chance to exchange experiences with others who are working remotely, whether full-time or part-time. One incredibly interesting insight that came up in the session (hat tip to Ryan for vocalising it explicitly) is the tradeoff between the benefits of:
- working asynchronously (think e.g. how PRs work in OSS) which allows teams to scale beyond a specific timezone / set of work hours, and
- pairing, which offers maximum communication bandwidth and is generally considered as a sound approach to tackling the harder problems in software development
Our impact on society
An open discussion and brainstorming session, initiated by @tomw, on how technology is transforming our world and the responsibility / role that software engineers can / should play in this. @istepaniuk in case you don’t know it, this blog post of yours means I am your friend.
Mob Testing with Rock-Paper-Scissors
Another hands-on session by @maaretp, this time with @sharathb. We followed the mob programming principles, with a twist: we were exploratory testers. Great fun and learning happening along the way, adapting our testing strategy, shifting positions every 3 mins, beating the bots in the end! Go Humans!!
Note to self: make sure @maaretp or @sharathb make it to Crete at some point, so we can run this here too! ; )
Evening activities
One of the great benefits with a “retreat” kind of event is that everyone stays together in the same venue. This allows activities to carry on till the early hours of the mourning, so your limit to how much you participate in really is the sleep you need.
- Board & Video games — it was awesome to be in an event where there were more (board|video) games than I had the time to play! (too much else going on!!) Really good laugh playing magic maze with @AmelieCornelis and Ben and others whose names I don’t remember.
- Night hacking with languages: amazingly, at 1:30am on either of the two nights I found myself looking at an entirely new language: Rust and F# That was great fun! \o/
- A NEW kata: (available here) because the Game of Thrones scenario might just have been based on the rules of Conway’s Game of Life… Co-created with Anita, Ben and Jordan and probably some other passers by… (don’t know all your twitter handles for proper attribution, sorry folks! :( )
Conclusions
Although this was just my first time at SoCraTes UK, it was already great fun and definitely a learning / growing experience! I would recommend it to anyone, as a safe and welcoming environment where you can learn about the craft of making software, and get a chance to practice it alongside others. The “hands on” part allows you to go back home with some new skills and ideas already in your (virtual) luggage!
I am only too curious to find out what other SoCraTes events look like now!!