My Top3 Talks at NewCrafts Conference

Julien Janvier
jjanvier
Published in
5 min readJun 6, 2018

Three weeks ago I attended the NewCrafts Conference which took place in Paris. Here is my very short feedback about this amazing event, with the 3 talks I enjoyed the most before closing with my general impressions.

Paul Rayner at NewCrafts Conference

#3. Sandro Mancuso — A Case for Outside-In Design

In this talk, the author of “The Software Craftsman” describes outside-in development: “an approach that focuses on building just enough well-engineered code to satisfy an external need, reducing accidental complexity by removing speculative work”.

Sandro Mancuso starts by telling a hard truth: we, as developers, all have design biases. Whether they are structural (procedural, object, functional…), architectural (ports and adapters, CQRS, performances, micro services…) or directional (domain first, persistence first…), we are all concerned. When the “domain first” bias reaches its height, it can for instance lead to building a complete backend system without having started the frontend, or to code a brilliant domain model that turns out to be useless. The inside-out design, as every method, is not a recipe to follow blindly.

Then, Sandro Mancuso advocates for outside-in development by explaining each practice he uses and what problem it aims to solve:

  1. Product box helps to identify the main areas and features of the system.
  2. Impact mapping allows to agree on what to be built according to their value.
  3. User journey mapping helps to understand the business flow of each feature.
  4. Mockups define a contract between presentation and application layers according to the presentation needs.
  5. Outside-in TDD builds well designed and tested features according to a well defined contract.

Every practice should be used at different frequencies. From every 6 to 12 months for the product box, to a daily usage for outside-in TDD.

If you want to know more about outside-in design, you can take a look to the slides and to the original blog post.

#2. David Evans — Telling Better Stories

I’m a BDDphile, even if I know that I don’t know how to write stories correctly. That’s something I’ve been trying to improve for a few months now. This is the reason I bought “Fifty Quick Ideas To Improve Your User Stories” for last Christmas. Shame on me, I haven’t read the book yet. So I couldn’t miss the presentation of its co-author, David Evans.

David Evans starts by talking about the famous “As a… I want… So That…” template. About the fact that despite being a good simplification, this template ruined the way we write stories. It’s now taken as a recipe to follow. It has became so popular that it hides the true meaning of stories, which is to tell something. He recommends to use other templates to clearly make the distinction between the sphere of influence and the zone of control of the story. In this regard, “In order to…, For…, We will…” is his recommended choice.

Another problem is that often the why part is poorly written. It’s either a lazy restatement of the what part or it’s too high and completely non specialized. Building a value map of the project can give a few potential reasons of why this story is important.

Sometimes the complexity of the story is not clear, because we don’t know how big the change is. To avoid this, a “whereas currently” part can be added to describe the current behavior and thus reflect how the change is.

The talk was fun, dynamic and sadly too short. I wish David Evans had the time to explain his fifty ideas. But no problem, I’ll read his book soon ;)

#1. Paul Rayner — Fighting the Invisible Enemy

Paul Rayner once again demonstrated what an amazing speaker he is. I’m always fascinated by people able to make you wonder: “This is so simple, so evident, why didn’t I think about it before?”. And that’s exactly what this talk is about for me.

I feel it everyday in my work, I see it everyday in my team, I suffer from it everyday in my company. The flow of work is continuously slowed down, diverted or even stopped by invisible and unmeasured queues. Even with retrospectives and continuous improvements, there is no way to work smoothly. According to Paul Rayner, the Agile community doesn’t put emphasis on flow. It’s focused about trying to fix structural problems. Capacity is seen as parking lot, instead of thinking about it as a freeway. On a freeway, the most important is to avoid congestion by all means. On a parking lot, the goal is to maximise its utilization. This simple analogy explains so well a feeling I’ve been struggling to express for such a long time. I feel it, see it and suffer from it everyday, even if I work in a so-called Agile company. We see capacity as a parking lot, which leads us to take the wrong decisions…

An event storming session can be used to depict the development flow and identify hotspots. Then, queues should be measured so that we can manage and constrain the most expensive ones. When queues start to grow, we should make quick and forceful interventions. At the end of the talk, Paul Rayner lists several ways to deal with emergent queues, to fight the invisible enemy.

That was just… amazing!

The agenda of this conference was sick. There are so many other talks that I enjoyed: Jessica Kerr with “The Origins of Opera and the Future of Programming”, “Endangered Species: Senior Craftsmen” by Cyrille Dupuydauby, Felienne Hermans with “What is programming anyway?” and the “BugsZero Kata” driven by Johan Martinsson.

There are also so many slots where I struggled to choose where to go as everything seemed so damn interesting! That’s why I’m looking forward to watch the videos of Jenny Martin about “Death by User Stories”, Bruno Boucard & Thomas Pierrain with “Discover Example Mapping: the real essence of BDD” and Adrian Bolboacă with “Evolutionary Design — Evolve your code like growing a live organism”.

It was the perfect balance of talks, workshops, lightnings and breaks. Speakers and topics were diverse and high-quality. Thanks to the organizers of this event. It was my first time at NewCrafts, but definitely not the last 😊.

--

--

Julien Janvier
jjanvier

Web builder. Continuous learner. Interested in use cases, decoupling and teamwork. Senior Software Engineer — Freelance