Agile Software Delivery Methods and How They Fit the Manifesto
Some people like a bit of background before they get started, if that's you then you're in the right place. In this chapter, we're going to take a look at the various strands of the modern Agile movement and see how they've come together.
Alternatively, if you're the kind of person who likes to get stuck in first and then get some context later, once you've tried a few things out, skip this chapter and go directly to the next one. In it, we'll discover how to get your team up-and-running using the most popular Agile framework, Scrum. If that's you, see you there.
Here we're going to take a look at several Agile methods, including their backgrounds and how they fit the Agile Manifesto. Or perhaps, more importantly, how the Manifesto fits them because many Agile methods were developed before the Manifesto was written—the practical experience gained by the original members of the Agile Alliance is what gave the Agile Manifesto its substance.
Some have a number of prescribed artifacts and ceremonies; others are much less prescriptive. In most cases, there is no one-size-fits-all approach and most Agile practitioners will mix and match, for example, Scrum and XP. This chapter aims to help you decide which method might work for you.
We'll cover the following topics in this chapter:
- A detailed look at the most common methods: Scrum, Kanban, and XP
- A comparison of specific Agile methods
- Kanban for software is included in this chapter. Although it's technically a Lean approach to software development, Agile and Lean approaches are often combined
- How you can choose the right Agile framework
When the original 17 signatories to the Agile Manifesto came together in 2001 to form the Agile Alliance, they each brought with them ideas about how the industry could be changed for the better based on actual experiences. You see, many of them had already started shifting away from what they deemed heavyweight practices, such as the ones encouraged by Waterfall. Instead, they were putting new ideas into practice and creating SDLC frameworks of their own.
Among the signatories, that weekend were the creators of XP, Scrum, Dynamic Systems Development Method (DSDM), Crystal, Adaptive Software Development (ASD), Feature-Driven Development (FDD), and so on.
They initially called them "light" frameworks, to distinguish them from their heavyweight counterparts, but they didn't want the world to consider them to be lightweight. So, they came up with the term Agile, because one thing all of these frameworks had in common was their adaptive nature.
They noted at the time that some of their thinking was influenced by industrial product development and manufacturing.
The industrial heritage came from, predominantly, three sources:
- Product development and in particular how product development companies in the 1980s had been reducing the time to market for new products
- Engineering technical practices, which provided for better and, in some cases, fully automated quality assurance on a production line.
- Lean manufacturing as developed by Toyota Industries
In the following sections we're going to look at three of the Agile methods, first up is Scrum.