Episode 171 – Beyond Legacy Code with David Bernstein

Craig is at Agile 2017 in Orlando, Florida and speaks with David Bernstein, author of “Beyond Legacy Code“, and they chat about agile technical practices:

  • Agile does have something to with software development
  • Agile 2017 talk “Create Software Quality
  • The real value of Agile is in the technical practices so we can build iteratively, but still very few people practice them
  • The future is already here, but it is not very well evenly distributed – the same applies to Agile
  • Companies are being consumed by their technical debt and they don’t even recognise it
  • What is always cheaper in the virtual domain is building quality
  • Continuous Integration makes the most painful thing in software development (integration) our greatest asset – this in turn gives us feedback
  • We don’t necessarily know there is a better way to do things – but there is a better way to do things
  • We traditionally think of software as a write once event, but it is write many – users want it changed
  • We think procedurally so object oriented code often ends up being procedural with a class statement wrapped around it
  • Test First Development – very few developers know how to write a good test because they haven’t been taught, it was intended to assist with refactoring
  • Studies show about 10% of people follow the Agile technical practices like XP, and only 10% of those are doing it correctly
  • The mindset of testing is different to the mindset of coding and they are mutually exclusive (in the same way we need editors when writing a book)
  • Refactoring is at two levels because we learn in chunks – we need to do while doing test first as well as in the large
  • The Art of Agile Development” – spend 10% of your time refactoring
  • Communication – say what, why and for whom before how – we think in implementation
  • CLEAN code – cohesive, loosely coupled, encapsulated, assertiveness and non-redundant
  • Need to understand what quality means in software
  • Troy Magennis talk “I love the smell of DATA in the morning (Getting started with Agile Data Science)

TheAgileRevolution-171 (34 minutes)

Advertisements

Episode 151: Software Craftsmanship with “Uncle Bob” Martin

Craig and Tony are at YOW! Conference and are honoured to sit down with Robert C. Martin (aka Uncle Bob), signatory to the Manifesto for Agile Software Development and author of numerous books including “Clean Code“, “The Clean Coder” and “Clean Architecture” and they discuss:

  • YOW! 2016 keynote “The Scribe’s Oath” as well as “Effective Estimation (or: How not to Lie)
  • Software craftsmanship has always been the work of individuals – not sure we have really achieved collaboration in programming
  • Pair programming – some surgeons like to wash their hands and some surgeons don’t!
  • Woody Zuill’s talk “Mob Programming, A Whole Team Approach
  • CODE – Uncle Bob’s “terrible” software development process before he stumbled across Extreme Programming and the wiki
  • Kent Beck’s “Extreme Programming” article for the C++ Report
  • The story behind the forming of “The Lightweight Process Summit”
  • The 1995 OOPSLA Scrum Paper
  • Jim Coplien “Borland Software Craftsmanship” paper and later “Organizational Patterns of Agile Software Development” – the foreshadowing of Agile as we know it today
  • Test Driven Development is something you learn over very many difficult weeks or months, it is a hard concept to teach, it is becoming more accepted but still slowly
  • “Clean Code” – had to abandon a tradition in software development when writing this book and laid out rules telling people what to do
  • “The Clean Coder” – was a backlog from “Clean Code” about how to be a professional programmer
  • The ranks of programmers are doubling every 5 years, so half the people doing the work have less than five years experience, the industry is in a state of perpetual inexperience
  • Programming 101” on cleancoders.com – we need to understand the basics
  • Craftsmanship movement began as a response to the technical community feeling like they were kicked out of the “agile” house that they built as it became more about people and process – the desire is to bring the two camps back together
  • Kent Beck said “The goal of agile was to heal the divide between technology and business” – the focus has been mostly on the business side
  • We need a set of ethics and standards that define a profession for software development – the agile and software craftsmanship communities are the right ones to do this as it needs to be done by practitioner
  • The Programmer’s Oath – a starting point for the ethics conversation

TheAgileRevolution-151 (45 minutes)

Episode 143: One Last Jam with The “Dude” David Hussman

The Agile community recently lost its friend and one of its most inspirational members in David Hussman. Craig and Tony were privileged to speak to him in one of his last interviews at YOW! Conference in Brisbane.

  • David Hussman’s YOW! 2017 talk “Learning in Product: How Wrong are You Ready to Be?”
  • Extreme Programming Explained” is Agile’s White Album, just don’t read it backwards!
  • We make stuff up in software too much, rather than learning from the past and patterns
  • You can’t look at code and tell it is going to be a good experience and we don’t know our ideas are going to be great until we interact with them
  • The tenth principle – simplicity is essential
  • A good developer needs confidence and war wounds, same for Product Managers – they have shipped something crappy and don’t want to do that again
  • Cardboard User Story Mapping app
  • The Shallot (The Onion’s little brother)
  • Craig’s InfoQ interview with David Hussman
  • Dude’s Law – Value = Why / How, when how equals zero you get infinite value
  • Nonban – the least amount of process with the most real and measurable value
  • First follow the product, then follow the process
  • Product Discovery – you need a discovery cadence and a delivery cadence, we need product engineers as much as software engineers
  • Alan Cooper “You listen to what people say, but you don’t necessarily do it”
  • There is not enough written about how products are delivered well across multiple teams
  • We need more clever visualisations in our tools
  • We don’t need more UX designers, we need more people with UX skills
  • Interactions cut across stories – interaction driven design
  • Chaos engineering – moving beyond resilience to intuition, feels like the early days of Agile, no judgement just people trying cool things
  • ProductAgility.org website

TheAgileRevolution-143 (48 minutes)

Episode 95: User Story Mapping (Something Something) with Jeff Patton

JeffPattonAfter chasing him across the east coast of Australia, Craig sits down with Jeff Patton at YOW! Conference in Sydney. Along the way they fail to remember the subtitle of Jeff’s “User Story Mapping” book and talk about:

  • Art school dropout to software developer to early Extreme Programming
  • Extreme Programming Explained” by Kent Beck (and we agree the first edition was the better version!)
  • One of the secrets to success is having a great relationship with customers
  • Early Agile colleagues included Eric Evans (“Domain-Driven Design“), Joshua Kerievsky (“Refactoring to Patterns” and Industrial Logic), Rob Mee (Pivotal Labs)
  • The product decisions on what to build matter most
  • YOW! Talk “User Story Mapping: Discover the Whole Story
  • Story Mapping addressed the problem of losing sight of the big picture when building very small things
  • Larry Constantine and Lucy Lockwood “Software For Use” – task modelling was the inspiration for Story Mapping
  • Impact Mapping was inspired by Effect Mapping
  • There is no way to build a story map and not stand in the shoes of someone using your product
  • They were initially called “stories” not “user stories”, because of the way we use them – it’s not a change in the way we write documents, its a change in the way we work
  • As a… I want… So that… is just a conversation starter, and they need titles!
  • Dependencies in story mapping – the map helps you see in slices, using stories helps you build the thing you need now
  • Passionate Product Owner course
  • The hope of the User Story Mapping book is that people think differently about stories
  • Your job in software development is not to build more crap faster, your job is to change the world
  • Jez Humble “Lean Enterprise” – output and impact
  • What we do now builds on an Agile foundation – but it is more than Agile – we are missing an umbrella term for product centricity
  • Raccoon! – Jeff likes it, but it doesn’t work in mountain states as they knock over garbage cans!

    TheAgileRevolution-95 (43 minutes)