NewCrafts Paris 2023
Posted on May 27, 2023
These are my quick notes from NewCrafts Paris 2023 conference which returned as an in-person event after 4 years of interruption.
Day 1
- Dave Farley keynote entitled “Modern Software Engieneering” was moderately interesting to me but was true to its title: A very modernist account of how software links to other engineering fields, rife with examples and analogies drawn from car manufacturing, planes, rockets. He summarizes the software engineering activity as a process to optimise 2 things: Learning, and Managing complexity
- To optimise for learning, we have iterative, incremental, experimental development: Start small with a goal in mind, evaluate result, adjust goal and plan for next stage, rinse and repeat
- To manage complexity, we have modularity, separation of concerns, and abstraction or interface segregatio
- Nothing really new, and it does not really answer the main questions which are Why? are we doing all this, which should probably be something engineers should start taking care of, and How these valid and somewhat obvious ideas should practically be applied, learnt, shared, transmitted within teams and organisations
- The next talk I attended was from Mirjam Aulbach who presented the underpinning of her Conference Buddy initiative: How to help people suffering from Social Anxiety to feel better in a conference, to encourage them to attend, participate, and speak. I wish she had gone past the surface of social anxiety as a personal illness and perhaps helped us understand better the mechanics that lead to the prevalence of this issue. I missed ideas and advices on how to make our teams, organisations, groups, communities more welcoming and less toxic, as I believe social anxiety is not so much about the individuals than it is about the society they grew up in.
- I was excited to watch Tomas Petricek’s talk but unfortunately it was postponed due to technical issues connecting his laptop to the videoconferencing system, and then I missed it on Day 2. I am really sad because I am deeply admirative of Tomas’ work.
- Computational Thinking has been quite thought-provoking, and full of interesting pointers to articles and books to explore. Damien Seguin is a designer, developer, generative artists, data viz engineer… that invites us to see “data as a medium” through which we can express ourselves and from which to create interesting experiments. He showed us a demo of Nodes which seems to be some kind of cool visual programming environment to produce data representations.
- The session on
Mob ProgrammingSoftware Teaming from Ulrika Malmgren was also great, and I learnt or rediscovered a few things even though I have been practicing various form of collective programming for a few years.- Have only one online presence for the team as a whole in all business related communications (Eg. IM): This is a really great idea to ensure that people outside the team clearly identify it as an entity of its own, with multiple “heads”. This comes with the need for everyone to attend every meeting to prevent repetition and possible deformations
- Likemindedness and the desire of everyone to explore and experiment, are tantamount to the success of the practice. It’s pointless to force it down the throat of reluctant team members
- Some activities and situations can be challenging, and can be dealt with in various ways was respecting the overall philosophy, including temporary splitting. Troubleshooting (debugging) can be particularly draining and challenging and requires to put in a place an explicit strategy to deal with the issue at hand
- She interestingly contrast Software teaming as Work-centered Team work, with the “traditional” Individual centered Team work which is the current default in most organisations, and invites us to change that default!
- The closing keynote was definitely entertaining with Felienne Hermans presenting us her work on Hedy, a gradual and multi-lingual teaching environment for text-based programming. Some pretty funny stories on how to produce helpful error messages, deal with the quirks of programming languages we don’t see anymore (eg. using quotes around strings), and challenges with internationalization from the relatively simple English -> Dutch move, to the support of Arabic
Day 2
- The day started with a great talk on Compassionate refactoring by Clare Sudbery, who reminds us that perfect is a verb, refactoring is about making tiny steps towards improvement, and we need to be compassionate with ourselves and our teammates. Among the many blockers to refactoring she identifies, impatience particularly resonate with my experience and ethos
- Maaret Pyhäjärvi addressed some of the widespread misconceptions about testing which triggered her to drop the word and call whatever she does Foo for want of a better word. Threading the classical Decimal-to-Roman kata throughout the talk, she demonstrates how testing, whether unit, integration, manual, automated, is ultimately an activity that’s performed by people, including testers, that “doesn’t break software, but breaks our illusions about code”, coining the term Modern Exploratory Testing to encompass all those activities a software development team at large undertakes to uncover things that were missed. Even such a modest example as transforming a decimal number into its equivalent Roman representation can be an extraordinary involved journey when one tries to uncover all the assumptions a seemingly correct code breaks that could turn out to be wrong depending on usage domain, context, deployment environment, etc. Notably she quotes this OSDI’14 paper that demonstrates more than 80% of failures can be prevented by simple unit-level testing.
- Marijn Huizenveld talked about how he uses Wardley Maps to relate OKRs to parts of a software system and how this helps refines and improve goals and metrics, to the point of making them sometimes irrelevant depending on the undelrying “landscape”. Even though I am not particularly fond of the way OKRs are usually implemented in large organisations, I think it’s critical for teams to define business-relevant goals and the accompanying scales to measure how far we are from accomplishing those goals, as long as these are collectively owned by the team. One thing I learnt is to add Health Metrics to Key Results to ensure we don’t sacrifice long-term capabilities to achievement of short-term goals.
- In the afternoon, I attended Diana Montalion’s workshop on Writing as Thinking, an inspiring hands-on excerpt from a longer training she gives on how structured hand writing improves our way of thinking, especially when we ensure a proper feedback loop is part of the process of Systemic Reasoning to investigate and objectivise solutions to hard (eg. without predefined good or bad solutions, part of the complex quadrant of Cynefin) problems. I really enjoyed the session even though it was too short and we only skimmed through the topic. It refueled my desire to do regular, daily, note taking and handwriting, an exercise I used to practice and love before the pandemics and dropped for no clear reason.
- The day, and the conference, closed on Kent Beck’s keynote of which I only attended the first half as I had to catch a train, so I can’t say much about it.