Release Management

Conference Presentations

Using Technical Debt to Predict Product Value

Overly complex code? Duplicate code? Inherent coupling? Been there, done that. Beyond these specific code issues, you may believe that something is inherently wrong with your project-increased pressure, decreased velocity, those broken functions that just never get fixed. Although there are no magic bullets to fix these problems, Emad Georgy shares how he has applied a novel, technical debt model as a predictor of overall product value. Emad has used this model at strategic and business levels to bring focus to the issue of technical debt and to obtain resources and prioritization to address debt. You also can use the technical debt model to identify anti-patterns-architecture, process, and project perspectives-in your organization.

Emad Georgy, Experian
Avoiding Over-design and Under-design

The question of how much-or how little-design to do up-front on a project often leads to a conundrum. Too much design often results in overkill engineering that results in extra complexity and wasted effort. Too little design results in insufficient system structures that result in extra complexity and wasted effort. So, how can you determine the right balance for a given application or system? Alan Shalloway offers a proven approach to determine how much design work to do before beginning the code-build steps in a project. Alan has learned that the trick is to discover and ponder what you don’t know, how it may affect you, and then how to isolate these risks in your code in the simplest way possible.

Cory Foy, Net Objectives
Agile Development Conference East 2011: A Software Quality Engineering Maturity Model

You are probably familiar with maturity models for software development such as CMMI. In this thought-provoking session, Default.aspx Pope and Ellen Hill describe a corresponding five-stage maturity model for software quality engineering-not just testing-which addresses the challenges organizations face when attempting to improve the their software’s quality. Default.aspx and Ellen introduce their model for software quality maturity and discuss how you can use this model to baseline your organizations' current level and map out a path for improvement. You'll learn how to assess where you are now on the ladder: (1) do nothing, (2) write documents and create forms, (3) measure the process, (4) improve based on metrics, or (5) automate tools and process.

Gregory Pope, Lawrence Livermore National Laboratory
Eight Limitations of Mobile Platforms

Soon mobile devices will be able to do most everything, right? Although it's fun to talk about how much mobile devices can or will do soon, limitations and constraints remain now and will for a long time. With the lower-tier market offering scaled-down devices, even the latest generation mobile devices have hardware, network, and operating system constraints. These limitations will seriously affect the architecture, design, and testing decisions for your mobile development projects. Jacob Stevens offers a primer on the unique dynamics and constraints of these lucrative platforms. Learn about the implications of mobile platform constraints that impact development and, ultimately, your customers' experience. Discover potential failure points hidden in hardware specifications and explore the trade-offs necessary for mobile success.

Jacob Stevens, Quardev, Inc.
Cloud Enabled Development: Making Fast Go Faster

As software development teams seek greater efficiency and effectiveness, they often find that they are held back by old IT architecture for development and test. They wrestle with low-powered servers, difficult-to-scale static environments, and a slow IT provisioning and change processes. Today, software leaders at Calypso, Centric Group, Serena Software, and others have radically changed the way they build, test, and deploy software-almost exclusively using cloud computing to power their development processes. Some teams report benefits of 75% faster development cycles with 70% lower operating costs. Brian White describes the techniques and practices employed and success factors you can follow to achieve similar results. Brian provides specifics on which application workloads are ideal for the cloud model and how the use of cloud computing supports Agile development practices.

Sundar Raghavan, Skytap, Inc.
STAREAST 2012 Keynote: What Managers Think They Know about Test Automation—But Don’t

Managers play a critical role in the success or failure of test automation. Although most testers and some test managers have a realistic view of what automation can and cannot do, many senior managers have firm ideas about automation that are misguided—or downright wrong.

Dorothy Graham, Independent Test Consultant
Understanding and Using Code Metrics

Have you heard any of these from your development staff or said them yourself? "Our software and systems are too fragile." "Technical debt is killing us." "We need more time to refactor." Having quality code is great, but we should understand why it matters and specifically what is important to your situation. Joel Tosi begins by defining and discussing some common code metrics-code complexity, coverage, object distance, afferent/efferent coupling, and cohesion. From there, Joel takes you through an application with poor code metrics and shows how this application would be difficult to enhance and extend in the future. Joel wraps up with a discussion about what metrics are applicable for specific situations such as legacy applications, prototypes, and startups. You'll come away from this class with a better understanding of code metrics and how to apply them pragmatically.

Joel Tosi, VersionOne, Inc.
Implementing a Security-focused Development Lifecycle

Assaults against digital assets are unquestionably on the rise. If you create applications that handle valuable assets, your code WILL be attacked. In addition to lost revenue and productivity, the consequences of compromised systems can include loss of trust, a tarnished reputation, and legal problems. Much like quality assurance, it’s important to have a holistic approach to security that unifies people, process, and technology. Cassio Goldschmidt introduces defense techniques that measurably reduce the number and severity of software vulnerabilities. These include secure coding techniques, minimizing the use of unsafe functions, use of compiler and linker security options, and specialized static analysis tools. Enrich your development lifecycle with threat modeling, security code review, penetration testing, and vulnerability management.

Cassio Goldschmidt, Symantec Corporation
Avoiding Over and Under Design

The question of how much design to do up-front on a project is an engaging one. Too much design often results in overkill, complexity, and wasted work. Too little design results in insufficient system structures that require rework, additional complexity, and wasted effort. How can we know what the right balance is? Alan Shalloway shows how to use the advice from Design Patterns coupled with the attitude of not building what you don't need from Agile. The trick is in discovering what you don't know, how it may affect you, and then how to isolate these risks in your code in a simple manner. Alan describes the essence of emergent design–that is, starting with a simple design and letting it evolve as the requirements evolve. He also demonstrates how to refactor to better designs and how this is different from refactoring bad code.

Alan Shalloway, Net Objectives
Prefactoring: Extreme Abstraction, Extreme Separation, and Extreme Readability

Developers often run into the same issues on every project. As the software is created, design problems start to creep in-causing maintenance releases with no new features, project delays, and worse. While some of these problems can be resolved by simple refactoring, others can be fixed only by a complex code restructuring effort. But you can avoid most these issues in the first place with prefactoring-using your experiences in previous projects and the experiences of others to help in early detection of common design errors and problems.

Ken Pugh, Net Objectives


CMCrossroads is a TechWell community.

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