Episode 191: Accelerating DevOps with Jez Humble

Craig and Tony are at Agile Australia in Sydney and after many years of chasing him around finally get to speak to Jez Humble, co-author of many fine books including “Continuous Delivery“, “Lean Enterprise“, “The DevOps Handbook” and “Accelerate” and they discuss:

TheAgileRevolution-191 (27 minutes)

Advertisement

Episode 180: Extreme Programming & 3X Explained with Kent Beck

Craig and Tony are at YOW! Conference in Brisbane and have a rockstar moment and catchup with Kent Beck, the creator of Extreme Programming, the pioneer of xUnit and author of numerous books including “Extreme Programming Explained” and “Test Driven Development“:

  • Extreme Programming (XP) was born at Chrysler by letting go of conventional wisdom and pushing practices to eleven
  • Software development is a social process, not a sum of individuals process
  • Nobody cares about certificates, we care about competence
  • It’s time for a renaissance and reboot of XP – this time it needs to be inclusive and no barriers to entry
  • We know how to make a difference – it starts with execution and continues to empathy
  • Big tent agility can become an excuse not to tackle hard problems
  • “Not thinking about all the legs on the stool leaves you sitting on the ground” – some of the legs of agility require a fundamental change in belief
  • As a programmer am I responsible for my code running – once you have that belief, unit testing falls out of that
  • TDD is a set of feedback loops and an incentive system to encourage confidence and certainty
  • Test, Commit, Revert takes TDD further – run the tests, if they pass you commit and if they fail you revert the changes – incentive to take small steps
  • “Silence is the sound of risk” – you need feedback (unless you are perfect)
  • XP was a better product, but it lost (round one)
  • Electric or blade?
  • If XP starts with the premise that we want a process that anyone with talent and skill can contribute and grow at maximum velocity, the rest will take care of itself
  • Agile as a name is so attractive, nobody doesn’t want to be agile – the brand of Extreme Programming means if you are not extreme you are not going to say that you are
  • The fundamental question to ask first is “what do we have to lose” – if you have nothing to lose you need to try short and crazy experiments to find things nobody else is doing
  • 3X model (explore, expand, extract) – YOW! keynote “3x Explore, Expand, Extract” – depends which part of the curve you are on as to which tools in your bag you should use, rules of the game change depend on whether you are looking for a new source of value (explore), growing fast and trying to keep up (expand) or continue growing to pay for new explorations (extract)
  • poker vs software development
  • we will win with community and inclusion

TheAgileRevolution-180 (45 minutes)

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 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 145: Working Effectively with (Legacy) Code with Michael Feathers

Craig is in Atlanta at Agile 2016 and catches up with Michael Feathers, author of “Working Effectively with Legacy Code” and they talk about the following:

  • Working Effectively with Legacy Code originally started as a book about Test First Programming but morphed into a book about the techniques for refactoring code in legacy systems
  • The Pinned Progress Curve – for many people there is no incentive to change so the mean gets larger between the status quo and good practices
  • Agile Alliance Deliver:Agile conference
  • Organisations that have technical founders have a very different character to their work internally, need to make knowledge of the quality of software more pervasive – the business need to understand more about the technical side, and the developers need to understand more about the business
  • Code that has excessive error handling typically has other design problems – benefit in thinking about whether certain things should be treated as errors or not
  • Entropy happens in all systems, including code, so technical debt is not a surprise, need to make the case for hygiene, putting a dollar amount on technical debt does not add much value
  • Use low impact probing to determine whether code is dead
  • Potsel’s Law – an implementation should be conservative in its sending behaviour, and liberal in its receiving behaviour
  • State of quality is improving and there is more recognition to build quality in
  • Property based testing is becoming more prevalent as we move from object oriented to functional languages
  • Holacracy was designed by a software person, Sociocracy talks about applying democratic principles to governance, these are all interesting experiments
  • It can be hard to recognise if something is intrinsically difficult or not something you are familiar with
  • We weren’t really battling waterfall, it was the lack of any process at all…

TheAgileRevolution-145 (33 minutes)

Episode 125: 10 Minutes with Dan North

dannorthAfter many failed attempts to get him on the podcast, Craig finally catches up with Dan North at YOW! Conference on his way out the door to the airport and in a quick chat they cover:

  • BDD – developing an application by looking at its behaviour from the perspective of its stakeholders (people who’s live you touch)
  • Given When Then – “given” is setting up the world in a well known way, “when” is me interacting with the application as a stakeholder and “then” is what I expect to happen
  • BDD is not the same as writing automated tests, they are orthogonal – “Test-Driven Development Is Not About Testing
  • Software, Faster – collection of patterns for people who have been around Agile and are asking “now what” – “Software, Faster” book in progress
  • YOW! 2015 talk “Delivery Mapping: Turning the Lights On

TheAgileRevolution-125 (12 minutes)

Episode 117: The Changing Role of a Tester with Mark Pedersen

mpCraig is at the YOW! Connected conference and talks to Mark Pedersen, the CTO at KJR, and they talk all things quality and testing:

  • the changing role of a tester in an Agile environment, it clarifies the role rather than making it blurrier
  • in an Agile environment it does not make sense to have a Test Manager role anymore
  • the number of dedicated testing roles are decreasing, but becoming more important and valuable
  • most organisations say that they use both waterfall and agile frequently
  • build your skills in either a quasi analysis / product owner / acceptance criteria role or get up to speed with sensible technical automation tools for your tech stack
  • TDD – good idea but not many organsations practicing it in a dedicated way, unit testing in most industries is a luxury
  • BDD – does not make TDD obsolete, defining acceptance criteria upfront helps understand what we need to code
  • pair programming – does not deliver much benefit from a test perspective, unless the tester has technical expertise, adoption is still very low
  • YOW! Connected talk “Building Mobile App Test Automation
  • mobile testing is challenging and IoT will take it to another level – customer expectations are higher for these devices, they are thought of more like traditional mechanical devices
  • mobile and IoT is driving the demand for testers to become more technical – more API and distributed technology tests

TheAgileRevolution-117 (37 minutes)

Episode 83: Making Impacts with Gojko Adzic

GojkoAdzicGojko Adzic “does computers” which means he helps people deliver software and he caught up with Craig on a recent YOW! DepthFirst tour of Australia. Gojko is the author of numerous books including “Bridging The Communication Gap“, “Specification by Example“, “Impact Mapping” and “50 Quick Ideas to Improve Your User Stories“.

  • XP – started with “Extreme Programming Explained” which was really about developers ruling the world – XP is not dead, it won!
  • TDD has crossed the chasm to mainstream
  • Sturgeons Law – 90% of anything is going to be crap
  • Continuous integration and automation has opened up a world of possibilities
  • “Bridging the Communication Gap” – about finding ways to break dysfunctional processes in organisations
  • Agile Testing” by Lisa Crispin and Janet Gregory
  • The most valuable companies in the world are software companies
  • It’s more about the right people being involved rather than narrowly defined roles
  • “Specification by Example” – a collaborative way of coming up with good requirements and tests involving a cross functional team
  • Pschologically people perceive that tests come after development – in that case you have already failed
  • BDD – no canonical definition, would love BDD and SBE to be the same thing
  • “Impact Mapping” – based on a Swedish interaction design process – about setting goals and strageies
  • Impact Mapping uptake outside of IT – Marcus Hammarberg on Doctors in Indonesia and Ahmad Fahmy on helping orphanges in Egypt
  • “50 Quick Ideas To Improve Your User Stories” – a lot more to good user stories than just a template
  • Hamburger Slicing – last resort technique for technical story breakdown to think about options for value
  • Product Management is the big missing piece – teams could benefit from doing this better
  • As an industry we produce too much software – need to change the percentage of software that can achieve something big

TheAgileRevolution-83 (45 minutes)

Episode 73: What Made You An Agile Coach?

AgileCoachTony asks a philisophical question , whilst Renee harnesses her nineties pop star – Ice Ice Baby and Craig marvels at Tony’s  cool intro – probably the coolest intro he’s done since the eighties.

The Agile Revolution – 73 (54.21)

Episode 58: Don’t Drink and Podcast!

Beer CheersCraig and Renee are in Sydney and dangerously podcast after Renee’s one (1) drink and Craig’s two (2) drinks. Along the way they fumble over the following topics:

Quotes:

TheAgileRevolution-58 (55 minutes)