Skip to main content

Design and Architecture

Tutorials

MI Design Patterns Explained: From Analysis through Implementation
Alan Shalloway, Net Objectives
Mon, 06/03/2013 - 8:30am

Alan Shalloway 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. Alan 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
TE Design for Testability: A Tutorial for Devs and Testers
Peter Zimmerer, Siemens AG
Tue, 06/04/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
TL Essential Test-Driven Development
Rob Myers, Agile Institute
Tue, 06/04/2013 - 1:00pm

Test-driven Development (TDD) is a powerful technique for combining software design, unit testing, and coding in a continuous process to increase reliability and produce better code design. Using the TDD approach, developers write programs in very short development cycles: first the developer writes a failing automated test case that defines a new function or improvement, then produces code to pass that test, and finally refactors the new code to acceptable standards. The developer repeats this process many times until the behavior is complete and fully tested.

Read more

Concurrent Sessions

AW3 Seeking the Agile Path through Database Design
Jonathan Wiggs, Netmotion Wireless, Inc.
Wed, 06/05/2013 - 10:15am

Being first to market or meeting rapidly changing customer demands compels development teams to build systems while requirements are still being discovered. Developing a relational database design ahead of its requirements can paint you into a corner—with a product that suffers from legacy-like limitations. Jonathan Wiggs shares ideas to solve this problem in an agile way that provides both support for the present and flexibility for the unknown future.

Read more
BT10 A UX Strategy for Persona Research
Nellie LeMonier, Perforce Software, Inc.
Thu, 06/06/2013 - 3:45pm

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 UX strategy because they think they have no time or believe they already know enough about their users. We typically spend months to years developing a software product. Don’t we owe it to our users and ourselves to devote some time to researching and understanding them?

Read more