agile

Conference Presentations

Scrum: Roadmap for Implementation (Part 2)

With quite a few successful agile implementations under his belt, Hubert Smits guides you through the steps for implementing Scrum in an organization. Scrum implementation grows from a single team working on a pilot project, to multiple development programs running in parallel-all with Scrum as the underlying methodology. Hubert explains how to train and motivate your pilot teams and replace your project requirements documents with a backlog. He outlines the roles of architect, business analyst, and tester in a Scrum-led project. Learn what happens when multiple teams have to work together and how dependencies between teams are discovered and managed. Find out how change management becomes an integral part of the project and discover new management tools that you can use in an agile project.

Hubert Smits, Rally Software Development
Organizational Patterns: The Foundations of Agile

Organizational patterns describe the inner-workings of organizational structures. These patterns are the foundation for agile competence and take you far beyond basic out-of-the box methods to provide deeper insights into agile. Both Scrum and XP have their roots in these patterns, focusing on project management and developer practices respectively. Jim (Cope) Coplien explains the other 75% of the good stuff--the things that Scrum, XP, and other methodologies gloss over. Cope presents the “Top 10” organizational patterns-those that correlate most strongly to organizational success. Do you capitalize on DOMAIN EXPERTISE IN ROLES? How about ARCHITECT ALSO IMPLEMENTS, or the important role of the manager as FIREWALL to distance the developers from "those who want to help?" What important concepts are you missing in your agile practices?

James Coplien, Nordija A/S
Climbing the Decision Tree: Reaching High Quality Team Decisions

When teams "go agile," members of the whole team take on greater responsibility for thinking and deciding as a unit. Though individual team members may know how to make great individual decisions, few people bring the skills or perspective needed to make high quality decisions as a group. Teams need to plan for all elements of high quality team decisions, balancing technical quality, commitment to implementation, efficiency, and opportunities for team development. Rather than relying solely on a consensus model, an effective team will have a repertoire of decision-making methods and select the best approach for their decisions before they face each choice point. Diana Larsen introduces a decision tree model for teams and covers the what, who, when, where, why, and how of team decision-making.

Diana Larsen, FutureWorks Consulting
API Design for Testability

Many who try to unit test their applications-whether using agile or traditional methods-quickly find that doing a thorough job can be difficult if the code was not designed with testability in mind. Roy Osherove describes dependency injection methods for designing APIs so that they are easier to test. He explains how design patterns can help and how to implement applications with interface-based programming. Roy shares his insight on what "evolving a design" really means in the context of test-driven development. For those who are living with legacy code, he discusses special techniques for managing and implementing unit testing. In addition, Roy discusses the build life cycle and how continuous integration fits into the mix.

Roy Osherove, Team Agile
Scrum: An Introduction (Part 1)

Scrum is the most popular agile project management method today. Hubert Smits illustrates the basics of this method based on his experiences in implementing Scrum in many organizations. He explains the concepts of Scrum to software developers, development managers, and CIOs who are adopting-or thinking about adopting-Scrum in their organizations. After discussing the position of Scrum within the agile world and comparing it to methods like Extreme Programming and Lean Software Development, Hubert takes you through the full Scrum methodology and explains the meanings and practical implementations of Product Backlog, Sprint Planning, Product Increments, and Retrospectives. Join Hubert for a highly interactive discussion of this important project

Hubert Smits, Rally Software Development
Agile Development Practices 2007: Making People and Processes Congruent

Agile processes work better if developers and customers have specific aptitudes and attitudes, such as the ability and willingness to handle rapid change. Members of an agile product team cannot always be selected to ensure that they innately possess these capabilities. Developers may not appreciate the need for unit testing. Customers may not be able to interact easily to create just-in-time requirements. You must adapt your agile implementation so that team members can work effectively within their capabilities. In this interactive class, participants first outline people issues they have faced. Based on common issues, the class self-selects into small groups to discuss their challenges in more depth. Each group develops ways to approach these issues and improve their teams. At the end, groups share their key results with the whole class.

Ken Pugh, Net Objectives
Using the Theory of Constraints to Coach Agile Teams

Even as a large number of teams are adopting agile methods, some teams are finding this transition to be a big leap. Because each team is unique, they are not able to follow all of the practices "by the book." Each team must customize certain practices to best suit its needs and abilities. Naresh Jain shares his experiences guiding agile teams through this transition. He introduces a technique of coaching teams that employs Goldratt's Theory of Constraints to identify the bottlenecks and issues faced by the team during the agile adoption process. Naresh shows how more experienced agile teams can use the Theory of Constraints technique as a just-in-time practice to eliminate bottlenecks and deliver new knowledge and experience to the team.

Naresh Jain, ThoughtWorks Technologies (India) Pvt. Ltd.
Behavior Driven Database Design

In Behavior Driven Development (BDD), you write behavioral tests of an application just-in-time, one test at a time to express its design. You can take a BDD approach to a database schema in the same way. Scott Ambler presents the Behavior Driven Database Design (BDDD) technique. He explains its relationship to Agile Model Driven Development (AMDD) and how it fits into agile software development in general. Find out how to refactor a database by applying simple changes that improve the design without changing its semantics. Create a comprehensive regression test suite to validate your database on a regular basis, ideally whenever a change is made to the database schema itself or when the database is accessed in a new way. Go even further and implement continuous database integration where the database is automatically rebuilt and retested whenever its schema changes.

Scott Ambler, IBM Rational
Leading Successful Projects in Changing Environments

There’s no doubt about it--agile has gone mainstream. Short delivery iterations give organizations the means to incorporate change safely, reach go/no-go decisions early, and discover realistic team velocities. Managers can better determine if market windows can be reached--thus placing successful products in customers' hands. What if the ground beneath the project team is changing rapidly even as it is trying to make progress? Pollyanna Pixton shares a collaboration model and iterative delivery process that will help you succeed, even in unstable conditions. She shares her ideas on creating an open environment, identifying the talent the team needs, managing risks, and creating team ownership to ensure great results.

Pollyanna Pixton, Accelinnova
Maintaining Sustainable Agility

Once your agile project is rolling, there are still many bumps and roadblocks-any one of which can derail the train. Whether you are leading the project formally or informally, there are a variety of useful techniques to keep the project alive and innovative. David Hussman shares his coaching approach and techniques for growing and maintaining sustainable agile communities. David starts by reviewing basics that must be in place and then moves on to advanced techniques-maintaining a living backlog, adapting to change, growing meaningful metrics, radiating information, working with project members, anti-coaching, and more. He also discusses a collection of useful monitors-spontaneous pairing, "us" and "them", presence of pride, emergence of leaders-to determine when to effectively employ one or more of the coaching techniques.

David Hussman, DevJam

Pages

AgileConnection is a TechWell community.

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