Conference Presentations

No Silver Bullet? Silver Buckshot May Work

During Greg Pope’s forty years in the industry, many great processes and new tools have been promoted by incredibly gifted people. It seems that someone is always promising a cure all-the proverbial “silver bullet”-for software woes. Still, the most common request Greg gets from software developers and managers is to “look at our development process and tell us how to make it better.” Greg’s goals for this presentation are for us to understand what “better” really means, to discuss common problems and potential solutions, and to become empowered to make our personal and our group’s practices better. He examines valuable ideas that seem to reincarnate themselves periodically and explores the challenges of today’s modern software.

Gregory Pope, Lawrence Livermore National Laboratory
Enterprise DevOps: Breaking Down the Barriers between Development and IT Operations

Agile processes were originally designed to break down the barriers among users, programmers, and testers. Now, DevOps-an emerging set of principles and practices for communication, collaboration, and integration between development and IT operations-seeks to break down the development/operations barriers. By applying agile principles to operations and re-architecting the interfaces between these groups, DevOps empowers organizations to deliver high-value software faster and with fewer errors. Jez Humble describes how to implement DevOps practices in large enterprises-and small organizations. Starting with an investigation of the crisis facing large IT departments, Jez discusses the root causes of operations challenges and how DevOps addresses them.

Jez Humble, ThoughtWorks Inc
Mission Critical Agility

Whether it is controlling interplanetary spacecraft, managing medical records, or "merely" staying in business, it seems that more of us are facing the pressure of building and managing mission-critical systems and teams. Although it's tempting to think that reliability is all that matters, we're also forced to adapt to constantly advancing technologies, shifting priorities, and relentless competitive pressures. What can we learn about agility from great inventors like Alexander Graham Bell and the pioneers at NASA who risked everything to change the world? Is it wise to embrace innovation and take risks when so much is at stake? Can you afford to be agile when failure is not an option, or can you afford not to? Jeff Norris explores key principles of agility from a fresh and entertaining perspective by drawing on inspiring stories of people who demonstrated agile work practices long before anyone had heard of a ScrumMaster.

Jeff Norris, NASA
Performance Engineering for MASSIVE Systems

Dealing with a single system is challenging enough, but the game changes dramatically on a multi-system, distributed platform. MASSIVE platforms can consist of more than fifty distributed systems and components, integrated to process millions of transactions per day-from millions of users-while processing hundreds of terabytes of data. The ramifications of one component or system not scaling to support this load might cost hundreds of thousands or millions of dollars in lost revenue for a single system disruption. Mark Lustig explains how to integrate performance engineering across the entire development lifecycle. The world of MASSIVE platforms requires a disciplined approach to building, measuring, and ensuring system scalability, performance, and throughput.

Mark Lustig, Collaborative Consulting
Better Software Conference East 2011: Writing High Quality Code

Quality in delivered software is intangible and very different from quality in physical goods. Some external attributes of quality software-free from defects and easy to maintain-are reflections of the code's internal qualities. When classes and methods are cohesive, non-redundant, well-encapsulated, assertive, and explicitly coupled, they are less prone to mistakes and far easier to debug, test, and maintain. David Bernstein asserts that paying attention to code quality helps us focus on the key principles, patterns, and practices used by expert developers. If you don't pay attention to critical code quality attributes, iterative development practices can quickly degrade code into a maintenance nightmare. Join David and your peers to take a deep dive into the code qualities that make software more maintainable and less bug friendly.

David Bernstein, Techniques of Design
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.

Pages

AgileConnection is a TechWell community.

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