As you can see, these three types of Agile processes each have unique strengths that compliment one another. However, like any good superhero movie, the origin back-story usually gives us great insight into our hero’s motivation (if the robber hadn’t killed Peter Parker’s Uncle Ben, our superhero Spiderman would never have been born). So, let’s take a quick look at the three Agile processes.
Lean originated within the Toyota production line as a way to remove waste, optimize across the organization, flow value from demand and focus on those who add value. The success of Lean at Toyota led innovators such as Mary and Tom Poppendieck to begin applying Lean to software development. They found that Lean, as a set of thinking tools rather than a distinct process, could greatly improve the efficiency of the software delivery lifecycle and help “shorten the time from problem recognition to software solution” (Poppendieck, 2002).
Lean development promotes seven key principles:
Lean thinking has been applied across a myriad of industries and has been found to regularly produce significant customer value add. Let’s look at an interesting example with the recent decision by Spirit Airlines to begin charging $45 for carry-on overhead luggage (no charge for luggage that fits beneath the seat). At first glance you might think this decision yet another airline tactic to penny-pinch the customer, but consider for a moment the three main concerns of a frequent flyer: speed, comfort and cost. When the overhead bins are stuffed, the three main customer concerns are negatively affected. First, the boarding and deplaning takes longer. Reduced speed and greater cost emerges as an issue the longer the plane sits idle. Second, customers need to check carry-on bags that don’t fit in the overhead bins. Have you ever boarded a plane and found all the overhead bins were already full (try as you might to stuff your bag into that too small of a space)? Finally, the plane weighs more. It makes sense: more weight, more fuel, more cost. Spirit’s lean decision to charge for carry-on baggage arguably creates greater customer value and choice. As Spirit's Chief Operating Officer Ken McKenzie put it, "Bring less, pay less. It's simple" (Huffman, 2010).
The Scrum process provides a simple framework that facilitates team organization and getting high-quality work without sacrificing productivity (Sutherland, 2007). The name Scrum derives from the rugby term that refers to the “mechanism to restart the game after an infraction. It is the general idea of a team huddling together to move the ball toward the goal” (Lane, 2006). Like Lean, the concept of Scrum originated in the manufacturing world. At the Easel Corporation in 1993, Jeff Sutherland first applied the Scrum concept to software development. Finally, in 1995, Ken Schwaber and Jeff Sutherland formally introduced the Scrum process after analyzing common development processes and concluding that they were not suitable for empirical, unpredictable and unrepeatable processes (Coetzee, 2008).
Scrum focuses on team organization (ScrumMaster, Product Owner and Development Team) and practices (Daily Scrums, Sprints and Retrospectives). Scrum has an interesting delineation between those committed to building and delivering software frequently (the “Pigs” – Product Owner amp; Development Team) and those interested in the project but not committed to delivery (the “Chickens” – Stakeholder amp; Managers). The terms “Pigs” and “Chickens” comes from a classic joke on commitment, wonderfully illustrated below by Mike Vizdos and Tony Clark:
Extreme Programming (XP)
Extreme Programming, the most widely adopted Agile process in the US, is a “programmer-centric methodology that emphasizes technical practices to promote skillful development through frequent delivery of working software. [Extreme