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 systemsThe Pinned Progress Curve – for many people there is no incentive to change so the mean gets larger between the status quo and good practicesAgile Alliance Deliver:Agile conferenceOrganisations 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 businessCode that has excessive error handling typically has other design problems – benefit in thinking about whether certain things should be treated as errors or notEntropy 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 valueUse low impact probing to determine whether code is deadPotsel’s Law – an implementation should be conservative in its sending behaviour, and liberal in its receiving behaviourState of quality is improving and there is more recognition to build quality inProperty based testing is becoming more prevalent as we move from object oriented to functional languagesHolacracy was designed by a software person, Sociocracy talks about applying democratic principles to governance, these are all interesting experimentsIt can be hard to recognise if something is intrinsically difficult or not something you are familiar withWe weren’t really battling waterfall, it was the lack of any process at all…https://theagilerevolution.com/wp-content/uploads/2018/10/theagilerevolution-145.mp3
TheAgileRevolution-145 (33 minutes)