Review SoCraTes 2018
Once again, isolutions sent two colleagues to the Software Craftsmanship “unconference” SoCraTes CH in the beautiful location of Ftan, Engadin. In the HIF (Hochalpines Institut Ftan) around 45 keen software practitioners, from about 10 different countries, gathered to share knowledge and experience as well as have some fun.
We got together at 8:00 in the morning for the marketplace, where everyone has a chance to propose a session they will host. This can be a presentation/talk, a discussion, a hands-on workshop, or just a cry for help to people more expert in a subject you need to get better at.
The marketplace lasts about an hour until all the session proposals have been stuck onto the white board in a suitable place, covering 6-7 possible tracks per timeslot. We had 4 one-hour sessions in the morning and 2-3 in the afternoon, followed by a wrap-up session before dinner, where we shared our highlights of the day. The day then hangs around this:
Modern agile practices are very common topics, as are hands-on sessions, often pair programming to learn some new aspect of development or toolset. Also, human aspects played a big role in many sessions, emphasising how important it is to be working as successful teams in successful organisations to get the best out of time and budget. Subjects such as empathy, team interaction with project planning poker, or teaching kids to program seemed to be very popular.
My personal favourite experiences this time were:
- Learning of Requirement Shaping. This is a technique to simply categorise the complexity of a new user-story or slice across the application architecture (UI, Business Logic, Model). For example, a V-shaped slice has more to do in the top, UI, layer and will offer more features on the glass than an A-shaped slice which is the opposite – lots of backend work for little UI. Think search here. The letters VAOIH were presented. O is more business logic (i.e. in the middle). I and H are similar – mostly even, with I being a very small change, i.e. thinner.
- Levels of Abstraction – a double hands-on session doing baby-step refactoring and realising the change in a code base from low to higher levels of abstractions, e.g. values become variables or constants, variables become fields. Fields can become methods, constants can become enums or classes. , all the way up to an interface, probably the highest level of abstraction. The session was done with a ready-made code kata, which made it more productive than starting from scratch
- Rethinking the game of fizz-buzz by doing a test-driven implementation in Scheme until midnight. This was my first experience of the language and great fun. I’ve never done anything with a very functional language – lots of parentheses!
- Other things of note were learning a bit about reactive programming, a discussion on Framework vs. Library choice and a session on working in very small teams with multiple projects; measures we can take to avoid the one-man-show effect, lack of knowledge sharing, etc.
In the evenings there were organised activities – a walk in the snow up to a mountain restaurant for fondue and sledging down again, or a visit to the famous Bogn spa in Scuol nearby. Back at the host venue, there were always people sitting together doing coding or talking tech till late, and on the last night a Pub Quiz with very geeky questions.
We will be back next year!