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)

Advertisements

Episode 150: FailAgility – Live from LAST Brisbane 2018

Craig and Tony were privileged to be asked to be the keynote speakers at LAST Brisbane 2018. This is the audio from the keynote with introductions from long time listener Dave Pryce. You can follow along with the slides below:

TheAgileRevolution-150 (49 minutes)

 

Episode 149: Continuous Delivery with Dave Farley

Craig, Tony and honorary Revolutionist Pete Sellars are at YOW! Conference and sit down with Dave Farley, co-author of “Continuous Delivery” and they chat about the following

  • There are anti-patterns with doing XP at scale, continuous delivery was born from the learnings from that
  • Continuous delivery is just extending continuous integration to more of the software development practice (and continuous integration requires test driven development)
  • Continuous delivery works because it is the application of the scientific method to software development
  • If you work in an iterative, imperative, experimental way and you take continuous learning seriously and take cycle time as a serious measurement you will naturally drive out agile, lean, systems theory and DevOps
  • YOW! 2016 presentation “The Rationale for Continuous Delivery
  • Most common two ways to introduce continuous delivery to your organisation – need to get cover from senior management to make change or you do it secretly at the grass roots – the fast feedback cycle is important (build feedback in about 5 minutes and ready and deployable in about an hour)
  • DevOps is a terrible name – we are talking about collaborative cross functional teams and it is more than just developers and operations
  • Continuous delivery is focused on shortening the feedback cycle from having an idea to getting the idea into the hands of users and figuring out what our users make of the idea – that’s software development, to do whatever it takes
  • Continuous delivery is working in a way so that my software is always in a releasable state, continuous deployment is if all my automation says my software is in a working state I can just automatically push it to production
  • We have data to show that continuous delivery makes high quality software faster, creates more money for the organisations that use it, reduces defect rates significantly and makes people working in that environment happier
  • It changes the way you design, approach databases and the way you test
  • Scott Ambler’s “Refactoring Databases” book
  • Continuous Delivery tools still aren’t mature enough
  • The deployment pipeline is a seriously strategic resource because it is your only route to Production – need to be able to version and test it like any other Production code
  • It’s as much about the culture of the team than it is about the technology, it frees teams up to do experimentation

TheAgileRevolution-149 (40 minutes)

Episode 147: YOW! Speaker Vox Pop with Woody Zuill, Paul Rayner, Laura Bell, John Lamping and Andrea Burbank

Craig and Tony are at YOW! Conference in Brisbane and wander around the hallways talking to different speakers and some attendees and volunteers:

TheAgileRevolution-147 (20 minutes)

Episode 146: Agile, Architecture and Technology with Rebecca Parsons

Tony and Craig are at YOW! Conference in Brisbane and catch up with Rebecca Parsons, the Chief Technology Officer at ThoughtWorks and the co-author of “Building Evolutionary Architectures: Support Constant Change” and chat about the following:

  • Rebecca’s keynote talk at YOW! “The Past and Future of Evolutionary Architecture
  • Evolutionary Architecture is the next stage on applying Agile practices to software development at the systems level and be able to respond to changes in the environment that affect the architecture
  • Need to determine for your system what constitutes good, fitness functions are the documentation and tests to ensure your system meets those characteristics
  • Need to move the needle on architecture, need to develop tools and techniques to decompose the role
  • Agile Alliance is looking at what it means to truly be an international organisation (there are now affiliates in Brazil and New Zealand), expanding conferences from the large North American conference to OnAgile and Deliver:Agile and member initiatives to support local events such as Agile Open Space, Agile Conference Sponsorship, Community Group Support Initiative and Speaker Reimbursement
  • YOW! CTO Summit talk “The CTO is Dead: Long Live the CTO
  • CTO role is more now to set technical direction by setting up communication channels to mine insights that can be rolled out and presented to the market
  • ThoughtWorks Tech Radar started as a hot technology list of what ThoughtWorkers would love to work on, became a visual radar that is now released twice a year, starts with 250-300 items and they try to get it down to 100 items, something will fade after being in the adopt ring more than twice, the radar is also available as an open source tool or radar as a service
  • Women leave technology at double the rate as men leave technology, mostly because they are not treated well in the environment
  • Anita Borg Institute Top Company for Women Technologists award
  • What does it mean to be Agile in new technologies like machine learning and data science?

TheAgileRevolution-146 (34 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 132: Usability Made Easy with Steve Krug

Tony, Craig and Renee are at Agile Australia and catch up with Steve Krug and talk usability and along the way try to figure out whether Tony is lean, agile or just old…

TheAgileRevolution-132 (27 minutes)