Application Lifecycle Management

Conference Presentations

It's 2005, Why Does Software Still Stink

We've now been writing software for an entire human generation. Yet software is arguably the least reliable product ever produced. People expect software to fail, and our industry has developed a well-deserved and widely accepted reputation for its inability to deliver quality products. James Whittaker explores the history of software development over the last generation to find out why. He uncovers several attempts to solve the problem and exposes their fatal flaws. James then looks forward to a world without software bugs and offers a roadmap-practical techniques that can be implemented today-for how to get there from here. Join James on this journey through the past and into the future-and be sure to bring something to scrape the bugs off your windshield.

James Whittaker, Florida Institute of Technology
Choosing the Best of the Plan-Driven and Agile Development Methods

We seem to be under a curse in our profession. Although not cast by a witch or a wizard, the curse affects us just the same. It is the curse of "either/or"-the curse that we must choose either "this" or "that" but we cannot choose parts of both. Nowhere is this more evident than in today's struggle between the adherents of the traditional "plan-driven" and newer "Agile" approaches to software development. What most overlook is that both groups want to achieve exactly the same goal: quality software that meets customer needs within the constraints of time, budget, staff, and technology. They differ only on the strategies to achieve this goal. For example, both groups agree that system requirements must be understood; their differences lie in questions of "how much of what to do and when to do it." Lee Copeland offers insights and suggestions on the methods and approaches that will be most valued on your project-control vs.

Lee Copeland, Software Quality Engineering
Six Impossible Truths about Developing Software - All Before Breakfast

Alice laughed. "There’s no use trying," she said, "one can't believe impossible things."

"I daresay you haven't had much practice," said the Queen. "When I was younger, I always did it for half an hour a day. Why, sometimes I've believed as many as six impossible things before breakfast."

--Alice in Wonderland

Tim Lister, Atlantic Systems Guild, Inc
Transitioning to Agile Development

The Agile development movement has started to transform the software landscape. Since February 2001 when the Agile Manifesto was published, Agile development has gone past the early adopter phase and now is regularly in use by such mainstream organizations as CapitalOne, the Federal Reserve Bank, Microsoft, Sun Microsystems, and major development departments in other organizations. For Agile practices to take hold-and more importantly to be sustained-all of the dysfunctional behaviors that organizations have acquired over the past twenty years or more must be discarded-and that is not easy or fun. However, the overwhelming benefits and value of Agile development are there, and for organizations in which software is their lifeblood, the effort will be made.

Jean Tabaka, Rally Software Development
Building a Requirements Foundation with Customer Interviews

Whether you are building a brand new product or evolving an existing system, understanding the business needs of your customers is the foundation of a marketable product or valuable internal application. Few of us are experts in interviewing techniques, and few customers talk about their tasks, needs, and context in neat, concise statements about requirements. Hone your elicitation skills and learn what it takes to get beneath the surface and understand your customers: their world, how they work, and what really bothers them. With effective interviewing techniques and skills, you will get inside their heads and better understand their needs within their context.

Esther Derby, Esther Derby Associates Inc
Using Code Metrics to Target Refactoring

Often times, deciding what code to refactor (rewrite) is based upon the code's smell, a subjective determination by developers. Learn about and see examples of static analysis techniques such as cyclomatic complexity, depth of inheritance, and fan-in/fan-out to augment developers' instinct with real data. For example, cyclomatic complexity is adept at spotting methods containing too much conditional logic. Deep hierarchy trees, problematic for testing, can be broken out into separate objects. Fan-in/fan-out analysis is effective at pinpointing brittle code that you should refactor. Armed with new methods to objectively spot smelly code and replace it with proven patterns, your code base will become more stable and maintainable.

Andrew Glover, Vanward Technologies
A Manager's Survival Guide to Going Agile

When software development teams move to Agile methodologies, they often leave the project managers behind. Traditionally trained project managers are confused about their new roles and responsibilities in an environment that no longer allows them to make stand-alone decisions. In this session, Michele Sliger focuses on re-defining the job of the project manager and their new-and often more important-role in development. Michele discusses the shift in a project manager's role from "boss" to one who serves and supports the team. Find out facilitation and collaboration skills can make you a better Agile project manager. Leave with a better understanding of the necessary changes to lead and support an Agile team and take away clear, practical guidelines to make these changes.

Michele Sliger, Rally Software Development
Agile Process Improvement and the Evolution toward Software Factories

The concept of software factories is becoming a hot topic in software engineering circles. So, how can the factory model fit with Agile development practices? Damon Carr makes the case that Agile development is a stepping stone-not an alternative-to software factories. This is not the dreary vision of mindless workers in a factory. Instead, think of highly skilled individuals working with multi-million dollar machinery to develop systems. Even if you are not considering the factory model, Damon offers new practices that can reduce overall Agile development costs by as much as 40 percent. These include explicit refactoring to design patterns in your iterations, quantitative risk management, metrics for understanding the health of your project, and a new approach to team structure.

Introduction to Agile Coaching Techniques

In Agile processes such as Scrum and eXtreme Programming (XP), there is a coach whose primary function is to shepherd the process along and help keep everyone on the same page. On a traditional software team, there may be a product manager, project manager, technical lead, software architect, or even a user who informally takes on the role of coach. Based on his and the experiences of others as coaches, Christian Sepulveda shares his insights on this important role and the patterns that he employs as a coach. Understand why every team needs a coach, find out about the typical day in the life of a coach, and learn whether an individual acting as the coach also function in other roles. Find out how to balance the coaching needs of your organization and process.

Christian Sepulveda, Nominum Inc
A Guide to Using XP for Geographically Distributed Development Teams

It has been said that eXtreme Programming (XP) and Agile development work only for development teams working closely together and collocated with their users. Because of the collaborative nature of Agile development, geographically disbursed team location often is used as a deciding factor against using Agile practices. So, how has XP worked at VA Software in the past two years with their distributed and offshore development team? In some cases it has worked very well ... in other cases, not well at all. The good news is that, because of XP’s fast turnaround and visibility, results were apparent after only a few weeks, allowing course corrections and schedule adjustments. Learn about the practices for XP, based on Mark Striebeck's real-world experiences, which can be applied to your teams whether they are distributed across town, across the country, or across the globe.

Mark Striebeck, VA Software Corporation


CMCrossroads is a TechWell community.

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