Brandon Carlson discusses his Agile journey, measurement and some code metrics tools he is working on. He also shares his views on professionalism and the importance of not fearing your customers.
Brian Foote looks back at the promises of OOP and discusses which, if any, of them became reality. Also: a look at NoSQL, refactoring and code quality, testing and static typing and more.
Simon Thompson and Huiqing Li explain refactoring with functional languages and Wrangler (Erlang) and HaRe (Haskell). Also: how Wrangler's ad-hoc mode allows everyone to write custom refactorings.
Kostis Sagons talks about how type checking can help with a dynamic language like Erlang and how static analysis tools like Dialyzer or automated refactoring tools like Tidier help keep code clean.
In this interview, Cyndi Mitchell talks about ThoughtWorks’ concept of “Continuous Delivery,” which focuses on the last mile of software delivery. Mitchell also discusses the “adaptive” in ThoughtWorks Studios’ Adaptive ALM (Application Lifecycle Management) strategy, in which Agile solutions must be adaptive to users’ needs. And Mitchell describes ThoughtWorks Studios tools: Mingle, Go and Twist.
Kevin Rutherford talks about the challenges of refactoring Ruby code, and his open source tool 'reek' which automates the discovery of certain code smells in Ruby code.
In this interview from OOPSLA 2007, Michael Stal talks about architecture refactoring. He describes what architecture refactoring is, its relationship to code refactoring and patterns, and he gives real world examples of how architecture refactorings have been done and when not to do it.
Debate sprang up at JAOO '07 around Bob Martin's assertion that "nowadays it is irresponsible for a developer to ship a line of code he has not executed in a unit test." In this InfoQ video, he debated with Jim Coplien on this and other topics, including Design by Contract vs. TDD and how much up-front architecture is needed to keep a system consistent with the business domain model.
Ramnivas Laddad talks about domain aspects, how aspects fit in the design phase, how to model aspects in UML, how to enforce policies with Aspects, how he used Aspects to diagnose production problems including touch threading problems, and using aspects to simplify design pattern implementation.