Conference Presentations

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
Testing on the Toilet: Revolutionizing Developer Testing at Google

You work in an organization with incredibly smart and diligent software engineers. Deadlines are tight and everyone is busy. But when developers outnumber testers by ten to one and the code base is growing exponentially, how do you continue to produce a quality product on time? Google addressed these problems by creating the Testing Grouplet—a group of volunteer engineers who dedicate their spare time to testing evangelism. They tried various ideas for reaching their audience. Weekly beer bashes were fun but too inefficient. New-engineer orientation classes, Tech Talks by industry luminaries, and yearly “Fixit” days became successful and continue to this day. But no idea caught the attention of engineers like Testing on the Toilet. This weekly flyer, posted in every Google bathroom, has sparked discussions, controversy, jokes, and parodies.

Bharat Mediratta and Antoine Picard, Google, Inc.
A CMMI® Success Story: What Happens in Guadalajara Doesn't Stay in Guadalajara

Can a group of software developers, located in Mexico, achieve CMMI® certification and set the standard for their larger U.S. parent company to follow? A software branch of Freescale Semiconductors Inc., located in Guadalajara, did exactly that. Developing the CMMI® processes and procedures that made business sense for a remote software group was tricky, but not as tricky as assuring that they aligned their practices with the parent company's processes and requirements. The months of work that led to this achievement were filled with high points-and big challenges. Jeff Fiebrich discusses the planning, budgeting, and implementation that contributed to their ultimately successful CMMI® certification. He addresses the collaboration between their parent company and the local government that was an essential part of this effort. And, most importantly, Jeff reveals the immediate impact of their certification on the entire company.

Jeff Fiebrich and Diego Garay, Freescale Semiconductors, Inc.
SOA Governance: The Process Change Required for Succcess

The SOA revolution is already underway in many IT organizations. SOA creates new cultural, organizational, and technological challenges that must be met to ensure success. Merely implementing web services and enterprise service buses will not address the key issues in building organizational support and standardized adoption throughout the organization. Without the proper organizational process infrastructure, you will be left with SOA program chaos and SOA infrastructure shelf ware.

David Butler, Hewlett-Packard
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.
Quantitative and Statistical Management Applications

There is no longer any question that-when appropriately used-quantitative measurement and management of software projects works. As with any tool, the phrase "appropriately used" tells the tale. Drawing on his experiences using quantitative and statistical measurement, Ed Weller provides insights into the key phrase "appropriate use." Ed offers cases of useful-and not so useful-attempts to use the "high maturity" concepts in the Capability Maturity Model Integration® (CMMI®) to illustrate how you can either achieve a high return on your investment in these methods or fail miserably. After an introduction to the theory of statistical measurement, Ed presents examples of the successful use of statistical measures and discusses the traps and pitfalls of their incorrect implementation.

Edward Weller, Integrated Productivity Solutions, LLC
Establishing an Organization-wide Project Performance Baseline

Performance measurements have now become a mainstream management practice in many, often large, development organizations. Equally important to establishing strategic goals and objectives is identifying an appropriate set of measures to provide quantitative evidence that those goals and objectives are being achieved. David Garmus describes a project performance baseline that can be implemented throughout your organization or at the department level across multiple projects. These measurements must be matched to the business needs of stakeholders, not to the technical aspects of the project and process. For increased learning, measurements must be compared among projects, departments, divisions, or the entire organization. While quantitative measures are preferred, qualitative measures can also be very useful.

David Garmus, The David Consulting Group
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
Retrospectives: A Superior Alternative to Traditional Postmortems

Organizations have traditionally relied on project postmortems to assess the performance of product development teams. The irony is that "postmortem" literally means "after death," implying a discussion of project failures. These reviews, held at the end-either the completion or cancellation-of a project, often do not create a safe environment for team members to express their opinions. Postmortems rarely result in fundamental improvements in the development process as "lessons learned" sessions quickly become "lessons forgotten." And because they come at the end of the project, they have no chance to positively impact the current project. John Terzakis introduces the concept of retrospectives to address these problems and contrasts these two review methods.

John Terzakis, Intel
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

AgileConnection is a TechWell community.

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