<<< Previous speaker Next speaker >>>

Trackhost: James Coplien, Senior Agile Coach, Nordija

 Trackhost: James  Coplien, Senior Agile Coach, Nordija Cope works with clients as a "problem solver" at all levels of the enterprise. He is a pioneer in software design, including his early work in C++ program design, object-oriented programming, and multi-paradigm design. He has long appreciated the human side of design and has forwarded usability concerns through the software pattern community of which he is a co-founder and through his early work on computer visualization of the ethnographic structure of software development teams. He is the author of critically acclaimed books on design and software development. He has never created a programming language, and has never created a methodology.

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


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"

Track:   Agile Foundations

Time: Thursday 17:15 - 18:15

Location: Westminster Suite


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.

Password protected Download slides