development lifecycles

Conference Presentations

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
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
Let's Do It Over Again: Configuration Mismanagement Techniques

Being told about good configuration management practices is boring and does not do this vital process justice. What if you do it badly, as many development groups do today? The ultimate failure in managing the configuration of a software product is having it so horribly out of control that it cannot be rebuilt and must be rewritten from scratch. Few developers can claim this spectacular achievement, but many projects employ configuration management practices that result in rework and a loss of reputation with customers. Using humor and sarcasm, Mark Pellegrini looks at examples of how poor configuration management practices can sabotage product development productivity and generally make everyone’s life miserable. Avoid embarrassment by creating and auditing baselines, releasing controlled betas, documenting build procedures, avoiding undocumented components, using version control, and much more.

Mark Pellegrini, Georgia Tech Research Institute
Getting to the Promised Land with CMMI® and CMM® Processess

In hopes of delivering better software, cheaper and faster, many organizations have implemented the Capability Maturity Model (CMM®) or the Capability Maturity Model Integrated (CMMI®) for Software. Thinking that such a successful model must work, other organizations have instituted many of these practices. Although some organizations have achieved their maturity level and improvement goals, most have seen little or no financial benefits. Find out if the underlying principles of the CMMI® and CMM® can help deliver higher productivity, predictability, and speed into your development. Get a truthful answer to the classic CMM® paradox: If you're doing more work, how can it cost less and take less time? You will take away practical tips and techniques for realizing the qualitative and quantitative benefits promised by CMMI® and CMM®.

Rick Hefner, Northrop Grumman Corporation
Better Software Conference 2005: Software Production Line Automation with Concurrent Development

In some contexts, the software development process can be optimized when it is thought of-and run-like a highly automated manufacturing production line. Rather than producing many identical widgets like a manufacturing plant, software organizations produce many programming changes. These changes may not be identical like manufactured widgets, but programming changes can start looking a lot like widgets when you look at the big picture. In this session, Tom Tyler describes how to bring the processes and benefits normally associated with manufacturing to software development-efficiency, reliability, and extensive automation. Manufacturing organizations invest heavily in tooling and infrastructure to automate production lines, and they reap great rewards in efficiency.

C Thomas Tyler, The Go To Group Inc


AgileConnection is a TechWell community.

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