As IÂ’ve discussed here before, Lean manufacturing, typified by Toyota and HondaÂ’s production system of the 1980s, was one of the most influential precursors to agile development practices. Specifically, LeanÂ’s emphasis on ongoing evaluation of the teamÂ’s performance, constant pursuit of process improvement, and continued waste elimination can be directly observed in agileÂ’s tenets of incremental and iterative inspection and adaptation. Tony Baer, an analyst who covers agile, discussed how Lean has become a hot topic of discussion of late among the agile community.
Vikas Hazrati filed a fascinating report recently over at InfoQ, in which he discusses an experiment conducted by agilist Steve Bockman. In the experiment, Bockman tasked eight subjects to build a particular kind of paper airplane within a five-minute time box. He then provided three different ways to learn how to construct the airplane: written instructions (i.e. documentation); a completed airplane (i.e. reverse engineering); and step-by-step demonstration (i.e. mentoring).
In a recent post at InfoQ, Mike Bria reports on two recent articles by Johanna Rothman which discuss best practices for agile implementation. The right way to go about an agile transformation is a controversial subject, in which some agile practitioners advocate an Â“all-inÂ” approach to adoption and other recommend a Â“toe-dippingÂ” strategy. According to Rothman, both approaches are valid, but what matters is the context in which these approaches are applied.
I just came across a really interesting read on the Dr. Dobb’s site. In Ivar Jacobson and Bertrand Meyer’s article Â“Methods Need Theory,Â” the two consider the natural impulse for the creator of something to tout it as the latest and greatest. Drawing parallels to the fashion industry’s flash-in-the-pan fads, Jacobson and Meyer suggest that software, like fashion, is not immune to the crazes its most influential tastemakers promote.
Most agile methodologies were created to be used with small teams who are all located in the room. So what happens in agile environments where there are many teams, some of which are un-collocated, working on complex development projects? The answer is to employ an agile tool. However, agile tools have historically focused on communication and collaborationÂ—that is, they have been most effective at simply uniting team members who are geographically distributed, ensuring that everyone is apprised of task progress and other critical updates.