Presentation: "Organizational issues"
Time:
To be announced
Location:
To be announced
Presentation: "10:15 - 10:25 Introduction: Software Usability for software developers"
Track:
Software Usability for software developers
Time:
Wednesday 10:15 - 10:45
Location:
Westminster Suite
Abstract: TBA
Presentation: "From Design Practice to Code"
Track:
Software Usability for software developers
Time:
Wednesday 16:00 - 17:00
Location:
Westminster Suite
Abstract:
It all comes down to how the bits on the screen are organized, and
to what the objects are and how they come and go in memory. The
two perspectives have much to offer each other. Most developers
talk about this relationship with the elusive term "object-oriented
interface," and the relationship usually translates into the use of a
GUI-builder and/or code generator. Raskin notes that it is impossible
to build a humane interface -- one that caters to human weaknesses
and supports human habit formation -- through a naive use of such
tools.
In this presentation Jim goes beyond "object-oriented interfaces" to
describe design techniques that integrate the code and interface
using principles from the direct manipulation metaphor. We will apply
Model-View-Controller from the perspective of this metaphor (which
was its genesis). Jim will also describe the role of architecture in
capturing long-term domain concerns that contribute to the human
interface, and the appropriate way to apply TDD in such an environment.
Presentation: "Agile Architecture is not Fragile Architecture"
Time:
Thursday 17:15 - 18:15
Location:
Westminster Suite
Abstract:
Architecture is a heavy-weight activity, and the magic of Agile makes
it unnecessary to bother with up-front design, right?
Wrong on two counts!
Today's Agile projects often find themselves stumbling through domain
understanding during the first few iterations with low feature
velocity: re-work is the order of the day. Many teams find themselves
re-doing their software after a few iterations because the initial
software foundations weren't strong enough to support maintainability
and evolution beyond that point. Such changes outstrip any reasonable
refactoring techniques, and while often labelled "refactoring" these
restructurings are rarely behaviour-preserving and are
indistinguishable from hacking. They are restructurings done with the
insight and domain knowledge gleaned from the first few iterations.
However, deferring the architectural focus to this stage is costly
and negates most of the time-to-market advantages of Agile techniques.
In this session, agile pioneers and practitioners Cope and Kevlin underscore the importance of software architecture in an Agile context. Not only will they show its importance to maintainability, feature velocity,
test development, GUI design, and organizational structuring, but
they will describe how to do it. They will describe how to infuse
just enough architecture into your first sprint to lay a foundation
for both short-term success in test and GUI design, and long-term
success in reduced maintenance cost and feature velocity -- all
within the spirit and focus of the Agile manifesto.
Download slides