Skip to main content

Architecture or Design

Tutorials

MI Design Patterns Explained: From Analysis through Implementation
Ken Pugh, Net Objectives
Mon, 11/11/2013 - 8:30am

Ken Pugh takes you beyond thinking of design patterns as “solutions to a problem in a context.” Patterns are really about handling variations in your problem domain while keeping code from becoming complex and difficult to maintain as the system evolves. Ken begins by describing the classic use of patterns. He shows how design patterns implement good coding practices and then explains key design patterns including Strategy, Bridge, Adapter, Façade, and Abstract Factory.

Read more
TF Design for Testability: A Tutorial for Devs and Testers
Peter Zimmerer, Siemens AG
Tue, 11/12/2013 - 8:30am

Testability is the degree to which a system can be effectively and efficiently tested. This key software attribute indicates whether testing (and subsequent maintenance) will be easy and cheap—or difficult and expensive. In the worst case, a lack of testability means that some components of the system cannot be tested at all. Testability is not free; it must be explicitly designed into the system through adequate design for testability.

Read more

Concurrent Sessions

BW3 A Year of “Testing” the Cloud for Development and Test
Jim Trentadue, New York Life
Wed, 11/13/2013 - 10:15am

Jim Trentadue describes the first year his organization used the cloud for its non-production needs: development, testing, training, and production support. Jim begins by describing the components of a cloud environment and how it differs from a traditional physical server structure. To prove the cloud concept, he used a risk-based model for determining which servers would be migrated. The result was a win for the organization from a time-to-market and cost savings perspective. Jim shares his do’s and don’ts for moving to the cloud.

Read more
BW7 Make the Cloud Less Cloudy: A Perspective for Software Development Teams
Bill Wilder, Development Partners Software Corporation
Wed, 11/13/2013 - 2:15pm

With so many technologies branded as “cloud” products, it can be difficult to distinguish good technology from good marketing. The resulting confusion complicates the work of software development teams who are trying not only to architect software effectively but also trying to accelerate building, testing, and delivering software. To cut through this confusion, Bill Wilder defines key cloud terms, compares the different types of clouds, and drills into concrete examples of specific cloud services.

Read more
BT2 Contextually-Driven System Architecture Reviews
Michael Dedolph, Levi Deal Consulting
Thu, 11/14/2013 - 10:15am

When the World Trade Center collapsed, the telephone switching systems in the basement correctly diagnosed which lines were still working and continued to connect calls for several days using backup power. One factor contributing to this remarkable product reliability was the AT&T/Bell Labs practice of early systems architecture reviews. Michael Dedolph shares an architecture review method based on the Bell Labs Systems Architecture Review Board (SARB) process and discusses how that method was institutionalized and managed.

Read more
BT6 Avoiding Overdesign and Underdesign
Ken Pugh, Net Objectives
Thu, 11/14/2013 - 2:15pm

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.  How can we know what the right balance is? Ken Pugh shows how to use advice taken from Design Patterns, coupled with the attitude of not building what you don’t need from agile.

Read more