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)

Episode 161: State of Agile in Singapore with Stanly Lau

Craig is at YOW! Singapore and catches up with Stanly Lau, organiser of the Agile Singapore conference and the Agile Singapore meetup:

  • Bas Vodde was one of the early advocates for Agile in Singapore
  • The state of Agile in Singapore has progressed from “doing a standup” in 2010 to now many companies thinking about how they develop software better
  • A lack of knowledge in design principles by new software developers seems to affect how they tackle problems
  • The art of being able to sit down and pair in a team is an art that is being lost in the Agile community
  • You can learn a lot about a team by looking at their codebase
  • Good agile development practices require know-how and habit – does not come by nature

TheAgileRevolution-161 (26 minutes)

 

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 38: Coding With Exceptions (The Agile Story)

Mark Derricutt & Craig AspinallThis is a special mashup episode recorded in Auckland, New Zealand. Craig catches up with Mark Derricut from the Illegal Argument podcast and Craig Aspinall from the Coding By Numbers podcast. Not your usual Agile podcast, the discussion starts around the definition of Agile (“crash often, crash regulary”) and trying to define quality and ends up in a chat about wicked problems, devops and software development skillsets.

This episode has been released on the other channels as well (take a listen if you haven’t already)

  • Illegal Argument (Episode 83)
  • Coding By Numbers (Episode 37)

TheAgileRevolution-38 (67 minutes)