# [Conversational BDD](https://socratesuk.org/training_day.html#conversational-bdd) by Liz Keogh - Role - Goal - Capability - Feature BDD is listening to people, rather than just "given, when, then", which is usually the final step once we understand. Titles of the scenarios are enough before you do the work and be able to estimate. The best time to have the conversation is when you pull into development, so they are the freshest in the head. Never write given-when-then in conversation, you could do it after; dev should write it. If you are limited with access to the right people, you can at least take a stab at it. JIRA is where helpful information goes to die, at least add given-when-then to the source, preferably as automated tests. ![[IMG_5106.jpeg]] ![[IMG_5108.jpeg]] ![[IMG_5110.jpeg]] ![[IMG_5111.jpeg]] ![[IMG_5112.jpeg]] ![[IMG_5115.jpeg]] ![[IMG_5116.jpeg]] ![[IMG_5117.jpeg]] ![[IMG_5118.jpeg]] ![[IMG_5119.jpeg]] ![[IMG_5120.jpeg]] ![[IMG_5121.jpeg]] # [Working with dates and times - hard, but possible](https://socratesuk.org/training_day.html#working-with-dates-and-times---hard-but-possible) by Jon Skeet - Machine time e.g. epoch vs Human time e.g. calendar - Most calendars use Y M D, but there are some unusual exceptions - Instant -> LocalDateTime, unambigious conversion - LocalDateTime -> Instant, not always 1-1 - Storing time in UTC doesn't solve all your problems (timezones can change over time), although storing times in past should not be problematic - Having LocalDateTime + offset is not enough, there is no timezone information; what if the timezone affects the result (which it might in some edge cases) - Periods aren't always equal in length, e.g. February is a month, but the number of days varies in a leap year - The right thing to do is "store what the user told you" - Try and do all datetime processing in one place, don't for instant split across database and service - If you are really smart, you could record the version of the timezone database used alongside timezone information # [Code Reading workshop](https://socratesuk.org/training_day.html#code-reading-workshop) by Marit van Dijk - We spend more time reading code that writing code - What if we practice it explciity? - Writing lots of code isn\t the best way to learn coding - Reading code, and then having expert people explain it can have a better impact See: - https://codereading.club - The Programmer's Brain # [TBD without Continuous Disaster](https://socratesuk.org/training_day.html#tbd-without-continuous-disaster) by Tim Ottinger ![[TBD-without-ContinuousDisaster-2023-06-02.pdf]]