agile

Conference Presentations

Guerilla Agile: Stop Playing Schedule Games

Chances are good that if you've worked on a project, you've encountered a schedule game or two (maybe, three or four). As part of a team, you may have seen Schedule Chicken played by management or Ninety Percent Done played by team members. If you're a project manager, you've probably pushed back against games such as: We Gotta Have It–We're Toast Without It, Queen of Denial, We'll Go Faster Now, or Split Focus. Using time-boxed iterations and other agile practices will help you stop playing-and even avoid-these schedule games. However, you can't do it alone. First, you need to help your team and your management understand they are playing schedule games. Once they understand that games are being played, enlist their help in solving the underlying problems that lead to this dysfunctional behavior.

Johanna Rothman, Rothman Consulting Group, Inc.
Five Practical Solutions to Agile Myths

The results are in-many ideas in the agile canon can actually decrease your velocity and slowly poison your code. James Coplien examines five of these common practices, why they can be harmful, and how to avoid their pitfalls. [1] TDD: Avoid architecture rot with a lightweight architecture and an appropriate level of testing. [2] YAGNI: Avoid being blind-sided by unexpected requirements by employing use case slices and lightweight architecture. [3] On-Site Customer: Avoid burning out the customer by adding a product owner. [4] User Stories: Instead of deferring detailed scenario development, employ use cases to bring the analysis out to the person who matters-your market constituency. [5] Domain-Specific Languages: Building a domain-specific engineering environment buys you only more costs and more headaches; so take the value from the analysis and run with it.

James Coplien, Nordija A/S
Toward a More Agile Culture

Culture is all about values and beliefs in action. Every team and organization has a culture that shows up in the way people are treated and promoted, how rewards are allocated, and even what's considered an acceptable topic for conversation. Esther Derby examines four common corporate cultures-cultures where power is the currency, cultures which control through policies and procedures, cultures that define clear goals and attract people to achieve them, and cultures where people are motivated by close relationships with co-workers. Agile methods flourish in some cultures and are quashed in others. If the values that underlie agile practices are at odds with established cultural norms within your team and company, what can you do personally to begin making changes? You’ll learn a simple method to "see" culture and begin to consciously create a more agile micro-culture within your team.

Esther Derby, Esther Derby Associates Inc
Looking Toward the Future of Agile

Agile methodologies are enjoying increased adoption and relevance. Will they continue to do so as time goes on? We understand that business needs change over time-sometimes quite rapidly. However, change isn't limited to the business or the requirements. Markets will wax and wane. Developers and business owners will experience a change in their own views, become older, and slowly be replaced by the next generation of workers and thought leaders. In this future world, will agile continue to prosper, or will it flounder? What might agile be replaced with or evolve into? Andy Hunt peeks into the future and considers some possible answers, including lessons from previous generations. He examines the effects of generational archetypes and how they affect adoption of core values.

Andy Hunt, The Pragmatic Programmers
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. Of the two, Waterfallacies have the potential to do the most damage to your transition effort, but fortunately, they are the more easily overcome. During his presentation, Mike examines the most common Waterfallacies and how to eliminate them. He also discusses the most prevalent AgilePhobias, how to identify the afflicted team members, and how to help them overcome their fears.

Mike Cohn, Mountain Goat Software
Perils and Pitfalls of the New "Agile" Tester

If your background is testing on traditional projects, you are used to receiving something called "requirements" to develop test cases-and sometime later receiving an operational system to test. In an agile project, you are expected to test continually changing code based on requirements that are being uncovered in almost real time. Many perils and pitfalls await testers new to agile development. For example, a tester new to agile might think, "I'll test the latest 'stories' on Tuesday when I get my next build.” And you would be WRONG! Waiting for a new build will almost always put you an iteration behind the developers and in a schedule hole from which you cannot recover. To avoid this trap, you must start testing as soon as the developer has completed a feature story, even before coding begins.

Janet Gregory, DragonFire Inc.
How Testers Can Help Drive Agile Development

Although some experts say that testers are not needed in an agile development environment, Lisa Crispin knows differently. Testers want to make sure customers get what they need; they look at the "big picture" and work to ensure the best experience for the user. Unfortunately, even in the agile development world, business needs and the users’ experience often are disconnected from the delivered software. Professional testers can help agile developers deliver what stakeholders want-the first time. Lisa describes how she uses tests cases to create a common language that business customers, users, and developers all understand. She explains the techniques for eliciting examples to define features and describes how to turn examples into executable tests. These tests define the scope of a feature, making it easier for everyone to envision how the feature should look, feel, and work.

Lisa Crispin, ePlan Services, Inc.
Using Agile Management Techniques on Traditional Projects

Project managers generally run a project based on the development methodology used by their company. If a product is developed in a traditional, more waterfall manner, project managers will slip into management techniques of heavy documentation, weekly status meetings and reports, and a “tell them what to do” mentality. On the other hand, if a product is being developed in an agile manner, then minimal documentation, daily stand-up meetings, and team-based direction will be more the norm. Brian Watson describes how his organization has incorporated many agile management techniques into all projects regardless of methodology required by the client or sponsor. They have successfully adapted their internal agile methodologies for clients that demand waterfall or spiral project reporting. The client sees the facade of a waterfall project, while the project is managed in an agile manner behind the scenes.

Brian Watson, Quick Solutions, Inc.
Timelines, Artifacts and Owners in Agile Projects

Knowledge of agile development processes is spreading through publications, training, and experience. And now organizations are taking on larger projects using agile methods. However, as more teams are involved in agile practices, organizations often stumble over what information is created and used during the various stages of an agile project and who is responsible for developing and reporting this information. Hubert Smits shares a model that describes the information created and consumed throughout the iterations, and describes the rhythms of an agile project(release, iteration, and day). The process Hubert describes focuses on creating the right artifacts at the right time, and with an accuracy-or acceptable level of inaccuracy-that enables project stakeholders to make good decisions.

Hubert Smits, Rally Software Development
Emergent Designs: Design Patterns and Refactoring in Agile Development

With the increasing deployment in agile development methods, many teams and organizations are learning about the practice of refactoring as an integral part of development. Refactoring is the process of changing a software system in such a way that it does not alter its external behavior yet improves its internal structure. Join Alan Shalloway as he discusses that, although refactoring is valuable in and of itself, it can be made even more powerful when complemented with the lessons learned from proven design patterns. Refactoring actually comes in two flavors: improving poor code, and turning good code into better code when requirements change. The dual practices of refining design and improving code will enable your software to retain the vibrancy that is essential to code flexibility and longevity.

Alan Shalloway, Net Objectives

Pages

CMCrossroads is a TechWell community.

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