Join us on:

T17. Software "Best" Practices: Agile Deconstructed and Adopted

Steven D. Fraser, Cisco Research Center

Steven Fraser is the Director of the Cisco Research Center ( and is responsible for managing external research program funding and tech transfer—with personal expertise in software and agile processes. From 2005 to 2007, Steven was senior staff at QUALCOMM's Learning Center, with responsibilities for technical learning. From 2002 to 2004 Steven was an independent software consultant on tech transfer and disruptive technologies. Previous to 2002, Steven held a variety of software roles at Nortel and BNR including: Process Architect, Senior Manager (Disruptive Technology and Global External Research) and Software Reuse Program Prime. In 1994 he spent a year as a Visiting Scientist at the Software Engineering Institute (SEI). Steven holds a Doctorate in Electrical Engineering from McGill University in Montreal, Canada. Steven is a Senior Member of the IEEE and a member of the ACM. His work focuses on alleviating the "soft" challenges of developing and deploying products highly dependent on software.

This tutorial will explore the intersection of agility and software development in a world of legacy code-bases and large distributed teams. Organizations with hundreds of developers and code-bases of a million or more lines of code are seeking new ways to expedite development while retaining and attracting staff who desire to apply "agile" methods. Now agile practices are embraced outside of their usual zone (for example, small co-located teams) of applicability where "projects pick agility" rather than "agility picks projects". Now practitioners must understand both what "best practices" already exist in the organization—and how they might be improved or modified by applying "agile" approaches.

What is "best" depends on context—and this tutorial will explore software "best" practices in a hybrid world where existing strategies for development invite agile to move beyond small co-located teams. Topics for discussion will be dependent on participant interests and might include:

  • What constitutes software "best practices" and their related limitations and failure modes—specifically in the context of large systems and teams
  • What constitutes team collaboration "best practices" and how they might be optimized in light of continuous change
  1. Overview of software practices and processes
  2. Provide caveats and checklists for software development in a hybrid world (large legacy systems - desiring to embrace agile practices)

The tutorial will consist of a mix of lecture-style presentation, case studies and interactive discussions.

Audience: This tutorial is intended for individuals (developers, managers, researchers) with an interest in the adoption of agile practices in a large distributed (by geography) software organization.
Please email any questions to . This e-mail address is being protected from spambots. You need JavaScript enabled to view it