design patterns

Conference Presentations

Agile Development Conference & Better Software Conference East 2013: Avoiding Overdesign and Underdesign

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 effort. Too little design results in insufficient system structures that require later rework, additional complexity, and wasted effort.

Ken Pugh, Net Objectives
Behavior-Driven Design in Practice

One of software development’s  greatest challenges is combining business needs with technical abilities to build products that customers want. Many development methodologies attempt to achieve this, but Nir Szilagyi and Janarthanan Eindhal think that few connect the dots as well as...

Nir Szilagyi, eBay, Inc. & Janarthanan Eindhal, eBay, Inc.
A UX Strategy for Persona Research

Research into your users’ personas can provide deep insights into their needs and validate your product design. This research doesn’t have to take months; it can often be done in two weeks, during sprint 0. Unfortunately, many companies using agile methods don’t invest in personas and a...

Nellie LeMonier, Perforce Software, Inc.
Database Development: The Object-oriented and Test-driven Way

As developers, we've created heuristics that help us build robust systems and employed test-driven development (TDD) to improve code design and counter instability. Yet object-oriented development principles and TDD have failed to gain traction in the database world. That’s because database development involves an additional driving force-the data. Max Guernsey shows how to treat databases as objects with classes of their own-rather than as containers of objects-and how to drive database designs from tests. He illustrates a way to give these database classes the ability to upgrade old data without introducing undue risk. Max also shares how to apply good object-oriented design principles to database classes and how to enforce semantic connections between databases and clients.

Max Guernsey, Hexagon Software LLC
Danger! Danger! Your Mobile Applications Are Not Secure

A new breed of mobile devices with sophisticated processors and ample storage has given rise to sophisticated applications that move more and more data and business logic to devices. The result is significant and potentially dangerous security challenges, especially for location-aware mobile applications and those storing sensitive or valuable data on devices. To counter these risks, Johannes Ullrich introduces and demonstrates design strategies you can use to mitigate these risks and make applications safer and less vulnerable. Johannes illustrates design patterns to: co-validate data on both the client and server; authenticate transactions on the server; and store only authenticated and access-controlled data on the client. Learn to apply these solutions without losing access to powerful HTML5 JavaScript APIs such as those required for location-based mobile applications.

Johannes Ullrich, SANS Technology Institute
Agile Development Conference & Better Software Conference West 2012: Avoiding Overdesign and Underdesign

The question of how much design to do up-front on a project is an engaging conundrum. Too much design often results in excess complexity and wasted effort. Too little design results in a poor architecture or insufficient system structures which require expensive rework and hurt more in the long run. How can we know the right balance of upfront design work versus emerging design approaches? Alan Shalloway shows how to use design patterns-coupled with the attitude from agile of “don’t build what you don’t need”-to guide your design efforts. The trick is to identify potential design alternatives, analyze how each may affect the system in the future, and then find the simplest approach for isolating those potential affects.

Alan Shalloway, Net Objectives

AgileConnection is a TechWell community.

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