Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Beyond Craft - Revisiting Our Relationship with Software Craft [NewCrafts 2023]

Beyond Craft - Revisiting Our Relationship with Software Craft [NewCrafts 2023]

14 years after its debuts as a movement, Software Craft is still alive and well, with more and more company adoption and with the best conferences even having "Craft" in their names! But the world changed since 2009, with new technologies now mature or mainstream, and even more disruptions coming in.

Moreover, the success of Craft also comes with some fetishism which can be worrying. In this session, we'll review the history of Software Craft so far and what's been accomplished through it. Most importantly, we'll suggest how to reconsider your attachment to it, how to fully embrace and get the best out of each shinny novel thing, and where to invest learning in an increasingly post-craft universe!

Conference talk presented at NewCrafts 2023 in Paris: https://ncrafts.io/speaker/cyrillemartraire

Cyrille Martraire

June 27, 2023
Tweet

More Decks by Cyrille Martraire

Other Decks in Programming

Transcript

  1. @CYRIUX BENEFITS TIME TO MARKET RELEASE FREQUENCY DEFECTS BY RELEASE

    TIME TO RECOVER EASIER EVOLUTIONS & MAINTENANCE REDUCED COST OVER TIME MORE VALUES DELIVERED DIGITAL FRUGALITY
  2. Test = Just enough Speci fi cation Code = Just

    enough Code Refactor = Just enough Design TDD
  3. @cyriux Fraud Détection Payment Gift Cards n mpany ting Review

    Shopping Cart REWRITE EXTERNALIZE KEEP AS-IS KEEP EXTRACT EXTRACT AS LIB
  4. @CYRIUX RIGID & SLOW C++, ASM MALLEABLE & FAST JAVA,

    C#, JS, PYTHON Plan, execute Specs, code, test Separate tasks Start - Finish Iterate Specs+code+test Collaborate Continuous
  5. 105

  6. 106

  7. 116

  8. NO

  9. Software developers have long known that automated testing is essential

    for managing complex codebases. Great Expectations brings the same discipline, confidence, and acceleration to data science and data engineering teams. UNIT TESTS FOR DATA: DEEQU, GREAT EXPECTATIONS
  10. Machine Learning: The High Interest Credit Card of Technical Debt

    ”Using the framework of technical debt , • boundary erosion, • entanglement, • hidden feedback loops, • undeclared consumers, • data dependencies, • changes in the external world, • and a variety of system-level anti-patterns” unfamiliar technology… …familiar stuff indeed!
  11. @CYRIUX @CYRIUX No more. Highly managed cloud is about new

    opportunities: speed, elasticity, fast innovation, cost structure… This is achieved through a new architectural style. "Cloud is just hosting"
  12. Event Bus / Observer pattern Ticke t Booked Bookin g

    Service Bookin g Confirmed Inventor y Service Bookin g Cancelled Capacit y Updated Ticketin g Service CHANGE IN ONLY 1 PLACE
  13. Event Bus / Observer pattern Ticke t Booked Bookin g

    Service Bookin g Confirmed Inventor y Service Bookin g Cancelled Capacit y Updated Ticketin g Service Notificatio n Service CHANGE IN ONLY 1 PLACE
  14. References • Sandro Mancuso ”Agile Hangover” : https://www.infoq.com/articles/mancuso-software-craftsman/ • McKinsey

    Developer Velocity Index: https://www.mckinsey.com/industries/technology-media-and- telecommunications/our-insights/developer-velocity-at-work-key-lessons-from-industry-digital-leaders#/ • Mob Programming (Woody Zuill): https://mobprogramming.org/ • Testing in Production (Charity Major): https://www.infoq.com/presentations/testing-production-2018/ • Functional Core Imperative Shell: https://www.destroyallsoftware.com/screencasts/catalog/functional-core- imperative-shell • Property-Based Testing: https://blog.jessitron.com/2013/04/25/property-based-testing-what-is-it • Machine Learning: The High Interest Credit Card of Technical Debt: https://ai.google/research/pubs/pub43146 • Weird ideas to try in your team: @weirddev (Twitter) • My book: Living Documentation: http://www.informit.com/livingdoc • Université Devoxx 2018 sur l’architecture (YouTube, FR): https://www.youtube.com/watch?v=1igv2rHGKfo