Conference Presentations

You Can Always Get What You Want

Agile, waterfall, iterative, staged, gated, phased-none of it really matters if all you create are a few early "wins", mediocre solutions, and quick fixes. Many organizations twist the time pressure screws so tightly that creative thinking can only be done after work or surreptitiously during the five-minute coffee break or the fifteen-minute lunch at your desk. We often are told that "good enough" software is what the company needs. Although "good enough" is acceptable when the systems we create neither differentiate us from our competitors nor are critical to our mission, why do we waste precious resources creating those kinds of systems? Tim Lister knows that there is hope because many organizations do create superior systems-systems that set them above their competitors and wow their customers. What are these organizations doing to yield innovative, superior results from their software development?

Tim Lister, Atlantic Systems Guild
Implementing Agile Testing

Once the company decides to move to an agile development methodology, questions invariably arise: How should we implement this methodology? What are the expected benefits and pitfalls? How does testing fit into this new approach? Join Robert Reff as he describes real world experiences that helped his test team move from the design-code-test approach to a test-driven, agile development philosophy. Robert offers concrete advice on how to integrate testing, what testing activities to include or drop, and what to expect from both automation and exploratory testing. He describes possible practices, focus, and pitfalls, rather than the all-or-nothing approach often recommend by well-meaning experts.

Robert Reff, Thomas Reuters
Agile Architecture: Patterns and Technology

Despite our wishing it were so, software architecture is not static throughout a project, especially within an agile development environment. Agile architecture is defined by our willingness and ability to embrace and accommodate architectural changes that emerge during the project. Agile architecture issues are both temporal-when to make architectural decisions-and structural, demanding that the architect and architecture remain flexible and able to accommodate change. Kirk Knoernschild examines these two aspects of agile architecture, exploring the concepts of architecture throughout the agile lifecycle and describing the activities agile architects perform. Join with Kirk to discuss architecture modularity issues, and how to deconstruct large systems to increase flexibility, reusability, maintainability, extensibility, and testability.

Kirk Knoernschild, Burton Group
Iteration Management: Unclogging Your Development Process

Within the agile development lifecycle, the role of "iteration manager" is crucial for maintaining the rhythm and flow of the project. From leading the stand-ups, reviewing plans and estimates, communicating the status of the iteration to the customer, and escalating roadblocks to executive management, the iteration manager focuses on and supports the team's daily efforts. Tiffany Lentz and Petra Skapa describe the role of iteration manager and compare it to other roles, including ScrumMaster, technical manager, project manager, and product manager. Tiffany and Petra describe the key activities and skills required to be an effective iteration manager from the beginning of the iteration to its end, including the characteristics of a good IM, the best methods for acquiring necessary skills, how to apply them, and the risks your project incurs if no one takes on this role.

Tiffany Lentz, ThoughtWorks
Agile Development Practices 2009: The Agile PMP: Teaching an Old Dog New Tricks

Agile methods emphasize trust, empowerment, and collaboration-moving us away from command and control project management to harness the passion, creativity, and enthusiasm of the team. In established organizations, success with agile practices hinges on how well traditional project managers adopt new ways of thinking about project structure and control. Building on the principles of the Project Management Body of Knowledge (PMBOK®), Mike Cottmeyer explores how PMPs experienced in traditional development can adapt their styles and practices to become effective agile project leaders. Mike tackles the hidden assumptions behind the PMBOK® and explores agile approaches for managing time, cost, and scope. Taking an in-depth look at PMI processes and knowledge areas, he also explores ways you can adapt them to agile projects.

Michael Cottmeyer, VersionOne, Inc.
Storyotypes: The Patterns Within the Stories

Have you noticed that similar stories appear over and over again as you develop a system? According to Dan Rawsthorne, stories-those small chunks of work that make up your backlog and provide demonstrable value to the project-can be categorized by purpose as: Production, Analysis, Cleanup, Infrastructure/Environment, Business Support, or Other. Within each of these categories are different "storyotypes"-patterns that define the commonalities among the stories themselves. Dan defines and describes some of the most prevalent storyotypes, explains why they are useful, and demonstrates the concept with examples. These examples include "Alternate Path" and "Clean-Up Interface" for the production category, "Talk to Stakeholders" and "Exploratory Testing" for the analysis category, among others.

Dan Rawsthorne, Danube Technologies, Inc.
Sixteen Essential Patterns of Mature Agile Teams

Many teams have a relatively easy time adopting the tactical aspects of the agile methodologies. Usually a few classes, some tool introduction, and a bit of practice can lead you toward a somewhat efficient and effective adoption. However, such teams quite often are simply going through the motions-neither maximizing their agile performance nor delivering as much value as they could. Borrowing from his experiences and lean software development methods, Bob Galen explores essential patterns-the "thinking models" of mature agile teams-including large-scale emergent architecture, relentless refactoring, quality on all fronts, pervasive product owners, lean work queues, stretching above and beyond, providing total transparency, saying "no", and many more.

Robert Galen, Software Testing Consultant
Pragmatic Personas: Putting the User in User Stories

When making choices about a system's functionality, the easiest thing is to ask yourself, "What would I like the software to do?" Unfortunately, when a team uses this approach, the result is usually constant argument, uncomfortable compromises, and that never-popular "designed-by-committee" feel. A persona is a simple model that describes an example user of a system. It's easy and fun for a team to create pragmatic personas that describe what we know about our users so we can talk about the product from their perspective. A good set of personas help us avoid the trap of self-referential design, and the act of building personas helps us identify what we don't yet know about our users. Jeff Patton shares the basics of creating simple personas and leads you through an exercise of creating one during class.

Jeff Patton, Independent Consultant
Coaching Agility and Producing Value

Why do some agile communities succeed while others are struggling or failing? Communities that struggle often do so because they are prescriptively follow processes instead of descriptively adopting practices and principles that amplify their existing strengths and address their challenges. David Hussman shares successful coaching techniques he uses to grow sustainable agility that lasts beyond the early iterations or the first few agile projects. David begins with a series of initial adoption tools-assessments, pragmatic practice selection, personas and story maps, chartering, and development manifestos. He then moves on to discuss ideas and tools for keeping the agile spark alive and glowing. As a full time working coach, David uses coaching stories and experiences to discuss establishing strong, sustainable delivery cadences while also building the essence of coaching and coaches.

David Hussman, DevJam
Going Agile - How It Affects People, Teams and Process

Agile development provides the opportunity for new levels of productivity and value for software delivery-yet the agile approach brings new challenges that impact people, teams, and processes. Joachim Herschmann describes how a traditional waterfall-oriented development organization can become more agile and how software delivery can be transformed into a managed, efficient, and predictable business process. Using the real-life example of the Borland Linz development center, a traditional organization that has been undergoing an agile transformation for more than two years, Joachim shares the company's experiences throughout this culture shift. Because not everything in this transition was easy and straightforward, Joachim discusses the pitfalls and challenges that the Borland Linz development center encountered-short sprint cycles, shared quality responsibility and accountability, and an increased need for test automation.

Joachim Herschmann, Borland Software

Pages

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.