Agile Development Practices 2007


Overcoming Waterfallacies and AgilePhobias: Tales of Resistance and Woe

If there's so much to like about agile, why do some team members resist it so strongly? Mike Cohn explores two of the main reasons for resistance to agile: Waterfallacies and AgilePhobias. A Waterfallacy is a mistaken idea or belief about agile that stems from prolonged exposure to waterfall projects. An AgilePhobia, on the other hand, is a strong fear or dislike of agile, usually due to the uncertainty of change.

Mike Cohn, Mountain Goat Software
Pragmatic Learning: Improve Your Learning Skills (Part 2)

Your approach to learning a new technology or acquiring a new skill is key to your personal success. So, how do you learn how to learn? What tricks can you use to learn faster and retain more of what you learn? Andy Hunt presents a brief recap of The Dreyfus Model for learning and explains how you can learn more deliberately by managing your “knowledge portfolio.” Andy explores practical learning techniques including mind maps, reading techniques, and situational feedback.

Andy Hunt, The Pragmatic Programmers

Refactoring Your Wetware: Thinking Differently About Thinking (Part 1)

Software development happens in your head-not in an editor, IDE, or design tool. We're well educated on how to work with software and hardware, but what about wetware--our brains? Join Andy Hunt for a look at how the brain really works (hint: it's a dual-processor, shared bus design) and how to use the best tool for the job by learning to think differently about thinking. Andy looks at the importance of context and the role of expert intuition in software development. Learn to take advantage of pole-bridging and integration thinking.

Andy Hunt, The Pragmatic Programmers

Scaling Agile Processes

Agile processes are revolutionizing the software development industry. Projects embracing agile development are expected to be faster and more efficient than traditional software development. Agile processes enable developers to embrace requirement changes during the project, deliver working software in frequent iterations, and focus on the human factors in software development. Unfortunately, most agile processes were designed for small or mid-sized software development projects-bad news for large teams.

Jutta Eckstein, Jutta Eckstein
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.

Hubert Smits, Rally Software Development
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.

Hubert Smits, Rally Software Development
That's Not Right! Using Fit to Prevent Business Rule Defects

Sophisticated applications involve huge numbers of detailed domain business rules. These rules are the heart of the application, determining critical details such as how much money is transferred between two banks (in a financial application), which compounds have been identified in a sample (in a chemistry application), or how a customer's money should be refunded (in a point-of-sale application). These details, while crucial, are too easy to get wrong. Sometimes, only the business experts can tell when the software is right or wrong.

James Shore, Titanium IT LLC
The First Thing To Build: Trust on Agile Teams

Trust is the bedrock of self-organizing agile teams. Trust allows agile teams to communicate quickly and respond rapidly to changes as they emerge. Without sufficient trust, team members can waste effort and energy hoarding information, forming cliques, dodging blame, and covering their tracks. A climate of trust provides the foundation for effective team processes, adaptability, and high performance. How can we help this essential trust to emerge and shatter the deep-seated cycle of distrust in many organizations?

Diana Larsen, FutureWorks Consulting
The Gentle Art of Pair Programming

Based on their experiences as software developers and the pair programming practices they use at Oxygen Media, Wendy Friedlander and Oksana Udovitska describe the principles of pair programming, explain why it is a worthwhile practice, and show you how to get started. They share ways to take full advantage of pairing and how to cope with its challenges. For those new to pair programming, this class serves as a good introduction and includes concrete first steps for getting into a new way of programming.

Wendy Friedlander, Oxygen Media
The Impact of Poor Estimating - And How to Fix It

The team, running Scrum by-the-book for three months, was continually failing to meet its delivery dates. As a result, trust between the business managers and the team degraded almost to a point-of-no-return. The team, which held bi-weekly retrospectives, could not pinpoint the problems causing its inability to ship. Mitch Lacey was asked to assist the team in finding the root cause of its problems. He analyzed multiple aspects of the project-from individual work items to planning meetings.

Mitch Lacey, Ascentium Corporation


CMCrossroads is a TechWell community.

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