Many flavors of Agile have emerged: Scrum, Lean, Feature Driven Development (FDD), and Extreme Programming just to name a few. These methods have numerous complementary and distinguishing features, but the gamut of choices can be confusing and disorienting - as if being told to choose the best from 31 flavors of ice cream. Return on Investment (ROI) is important to me, so Lean must be the answer. But wait, I also want to be agile with my business priorities so I’ll choose Scrum. We are left wanting a simple question answered: “Which Agile method should I choose for my organization?”
The essence of Extreme Programming (XP) is making the customer a part of the team who works very closely with the developers, ideally communicating on a daily basis. However, what about a situation where your development team is offshore? Is it possible to have the best of both worlds, realizing the gains of offshoring without losing the benefits of XP? How do you keep the momentum and the communication flow going, at the same time ensuring seamless integration of the deliverables into the customer's production environment at the XP pace?
Feature-driven development (FDD) has the more traditional progression of a systems-engineering life cycle mode as compared to agile methods. It uses distinct phases in its iterations while still being highly iterative and collaborative. FDD does conduct up-front planning, design and documentation and relies very heavily upon domain modeling.
A key component to being agile is the adoption of testing from the very inception of the project. According to Bob Galen, to achieve a high degree of quality assurance, there needs to be a careful balance among development and test automation, software testing, and cross-functional team practices.
Like any great process methodology, agile (and Scrum specifically) can lose sight of the best way to facilitate a development lifecycle from concept to delivery. David Hussman frequently encounters teams that are going through the motions. If your sprint planning meetings have disintegrated into quick listmaking exercises, David will show you how to reinvigorate your team.
If a process tool or service claims to be agile it must be good, right? Not necessarily. The term "agile" has become abused and, since we don't have a standard dictionary definition, it is open to interpretation. So, let's look beyond the label to what really matters—value.
We all know the power of Google—or do we? Two types of people use Google: normal users like you and me, and the not-so-normal users—the hackers. What types of information can hackers collect from Google? How severe is the damage they can cause? Is there a way to circumvent this hacking?
How far can you take agile within an organization? Is it enough to just focus on agile development practices such as Scrum and XP or is something more needed? Agile is much more than just a development methodology. Beyond product development, it can become an organizational strategy for increased success. Skip Angel shares an example of one company's journey from no knowledge of agile to an organization of high agility. He answers many of your questions about transformation that can help your company on its journey to agility, especially how to get started. Skip describes the preconditions a company must be ready to accept-significant organizational changes and the major activities and events that happen during the transformation process. Agile changes organizations in terms of who they are, how they think, and what they can achieve.
One of the things testers often notice about Extreme Programming (XP) is that there is no defined role for testers on the team. Yet XP teams describe themselves as "test infected." They practice Test-Driven Development (TDD), writing executable unit tests before writing the code to be tested. Many teams practice Acceptance Test-Driven Development (ATDD), writing executable acceptance tests before implementing a feature. They use continuous integration to give them rapid feedback about the effects of changes. They practice pair programming, a technique that results in all code being peer reviewed before it's checked in. In short, XP teams test continuously from the very first moment of any given project. You could even call them "test obsessed." That obsession helps explain why Elisabeth Hendrickson, author of Test Obsessed, likes XP teams so much.
Elisabeth Hendrickson, Quality Tree Software, Inc.
One of the things testers often notice about Extreme Programming (XP) is that there is no defined role for testers on the team. Yet XP teams describe themselves as “test infected.” They practice Test-Driven Development (TDD), writing executable unit tests before writing the code...