Conference Presentations

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
Flow, Pull, Innovate: How Agile Teams Mature and Scale

Jean Tabaka offers straightforward advice on how agile teams can mature and learn to scale up to larger and larger projects. The three steps of her approach emphasize a path based on principles of Lean Thinking--Flow, Pull, and Innovate. Flow is about creating smooth delivery of value. Pull is the way teams pull ready items for delivery, and the business pulls ready, tested, and valuable features into productive use. Innovate is about how the organization drives improvements rather than merely responding to issues. For each of the three steps, Jean outlines practices for growth and identifies pitfalls to avoid and roadblocks to navigate around. You can apply the disciplines discussed in this class to a single co-located team, a team of teams, or an entire organization eager to take advantage of both agile and lean approaches. Join Jean and learn to achieve the greatest innovations with a much lower risk of failure.

Jean Tabaka, Rally Software Development
Agile Development with Dynamic Languages

Developer practices for traditional and agile Java development are well understood and documented. But dynamic languages--Groovy, Ruby, and others--change the ground rules. Many of the common practices, refactoring techniques, and design patterns we have been taught either no longer apply or should be applied differently. In addition, some new techniques can come into play to improve your development. Join Paul King as he discusses and demonstrates new and modified techniques for agile development with dynamic languages, including closure refactoring, better ways to implement the delegation pattern, rules for creating domain specific languages (DSLs), and the pros and cons of static and dynamic typing. Paul further explains the impact of dynamic programming on dependency injection, immutability, aspects, mocking approaches, and interface-oriented design.

Paul King, Asert
Leading Agile Projects: Finding Your Groove

There are many books about agile, but most fail as a guide for navigating the beginnings of an agile project. Whether you are preparing for your first agile project or taking the lead for the first time, David Hussman provides a guided tour of an agile project's start-up filled with practical advice and a pile of anecdotes. David begins by walking you through a collection of preparatory techniques which foster a strong start-assessments, project chartering, setting up a lab, iteration 0, and creating a product backlog. From there, he moves into helpful coaching practices to feed an agile project and keep it going strong-fostering discussions, facilitating retrospectives, social radiators, developer manifestos, talking in tests, and more. These techniques will help you successfully lead and guide your newly forming agile community and get the project off to a good start.

David Hussman, DevJam
Maximizing ROI with Agile Release Planning

You're agile ... great! Now what? What does this mean for the organization's bottom line profits? Actually, it means a lot. You can use your agility to dramatically increase the value of your project to its stakeholders. Join agilist James Shore for an in-depth discussion of when, why, and how to use agile release planning to improve the functional and economic success of your project. Learn how agile release planning can turn a losing project into a winner in mid-stream. James describes five specific ways to use agile release planning to increase ROI on your project--work on one project at a time, release early/release often, learn as you go, plan adaptively, and keep your options open. James explains when to use these techniques and how to avoid the pitfalls of each.

James Shore, Titanium IT LLC

Pages

AgileConnection is a TechWell community.

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