Episode 186: Managing the Unmanageable with Ron Lichty

Craig fires some questions at Ron Lichty, co-author of “Managing the Unmanageable” and the “Study of Product Team Performance“:

  • Author of machine Language programming books “Programming the Apple IIGS in Assembly Language” and “Programming the 65816
  • Managing the Finder team at Apple – hired for stellar C++ coding ability and customer empathy
  • Software development is a team sport – including QA, a dedicated product manager / product owner and designers
  • After Dark and Flying Toasters at Berkeley Systems
  • “Managing the Unmnageable” is 9 chapters and around 300 rules of thumb and nuggets of wisdom (the creamy centre), the tools used to manage software development teams plus the authors own insights
  • There were very few books (7 at the time) on managing software developers (unlike project management and agile)
  • Fred Brooks – “The Mythical Man-Month
  • Situational Leadership – opens your eyes to delegating and supporting the people on your team
  • The most important rule – always be recruiting
  • The Study of Product Team Performance – effective onboarding correlates with the highest performance teams (yet 7% consider this to be a best practice)
  • Self organising teams are where every single member of the team is a leader from their expertise
  • A team created definition of done may be one of the most important practices in Agile
  • The frequency of standups correlates with the performance of the team
  • The Daily Standup was not intended to be a status meeting but rather a replanning meeting
  • Teams that have stories for their entire backlog are correlated with the highest level of team performance
  • Steve Bockman – “Practical Estimation” and “Predictability
  • Pragmatic Institute framework – the skills of a Product Management
  • Ambiguities in the requirements typically popup in the middle of the programming, which is why it is so valuable to have a Product Owner nearby to address these
  • Software development is a team sport – what gates teams is collaboration and communication – we need to nurture and provide support for that to thrive
  • We have two ears and one mouth and we need to use them in that proportion
  • We can’t over communicate in software development

TheAgileRevolution-186 (49 minutes)

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 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)