Tutorials
ASWEC will have a tutorials programme on Tuesday, 6 April 2010. Preliminary details of the accepted tutorials are provided below. Full details of the final tutorial programme will be made available on Monday, 8 February 2010.
- Software architecture and agile software development: an oxymoron? (Phillipe Kruchten)
- The delicate art of release planning (Phillipe Kruchten)
- Components of effective process definitions (Judy Bamberger)
- The “physics” of notations: A scientific approach to designing visual notations in software engineering (Daniel Moody)
Accepted tutorials
1. Software architecture and agile software development: an oxymoron? (morning)
Philippe Kruchten, University of British Columbia, Canada (
conference keynote speaker)
Software architecture is taking a bad rap with the agilists. According to proponents of agile and lean software development approaches: “BUFD big up-front design”, “YAGNI You Ain’t Gonna Need It”, “massive documentation”, “smells of waterfall”; it is pictured as a typical non-agile practice. However, certain classes of system, ignoring architectural issues too long “hit a wall” and collapse by lack of an architectural focus. “Agile architecture”: a paradox, an oxymoron, two totally incompatible approaches? In this tutorial, we will review the real issues at stake, past the rhetoric and posturing, and show that the two cultures can coexist and support each other, where appropriate. We define heuristics to scope how much architecture a project really needs, to assign actual value to an otherwise invisible architecture; and we review management and development practices that do work in the circumstances where some significant architectural effort is needed, when you are actually going to need it.
2. The delicate art of release planning or: What colour is your backlog? (afternoon)
Philippe Kruchten, University of British Columbia, Canada (
conference keynote speaker)
Release planning is the decision process by which we decide what we are going to do next in a software project, for the best of its stakeholders, and in face of all the uncertainties inherent to such endeavour. While a simple strategy can focus at all on “delivering value”, this rapidly becomes much more complicated when we take into consideration dependencies, value and cost, software architecture work, defects, technical debt, the uncertainties on estimation, multiple stakeholders to satisfy and the impact of time. In this tutorial, we present a gradually more and more sophisticated strategy, drawing on various established techniques to deal with this delicate problem.
3. Components of effective process definitions or: How to ensure your process assets “make sense” to their users (full day)
Judy Bamberger, Process Solutions, Australia
In the nearly 30 years(!) I've been in this industry, I’ve been privileged to work with many high-maturity organisations. Even at “Level 5” (or however “maturity” is rated), the effectiveness and usability of process definitions vary widely.
Being independent, I’ve seen many different types of process definition techniques, some extremely effective and usable (determined by the organisations’s process measurements and user feedback), and many that are neither effective nor usable. We are able to learn from all.
Repeatedly, a common set of “success criteria” emerge: criteria leading to process assets that are more effective, more usable than others. These criteria would not surprise any process-definition or process-improvement professional.
The value of this tutorial is that it packages these criteria into a series of templates and checklists that participants can use to: (a) Define their processes (if just getting started); and (b) Appraise their existing processes (using the results for improvement).
The objectives of the tutorial are:
- Review (briefly) a variety of techniques used to represent process definitions
- Discuss criteria for “effective” and “usable” process definitions
- Evaluate the techniques against the criteria
- Review example process assets for their compliance with the “effective” and “usable” criteria
- Take an example process—or use one of your own—and create an “effective” and “usable” process definition based on the criteria provided
4. The “physics” of notations: A scientific approach to designing visual notations in software engineering (full day)
Daniel Moody, University of Twente, The Netherlands
Visual notations form an integral part of the language of software engineering (SE). Yet historically, SE researchers and notation designers have ignored or undervalued issues of visual representation. In evaluating and comparing notations, details of visual syntax are rarely discussed. In designing notations, the majority of effort is spent on semantics, with graphical conventions often an afterthought. Typically no design rationale, scientific or otherwise, is provided for visual representation choices. While SE has developed mature methods for evaluating and designing semantics, it lacks equivalent methods for visual syntax. This tutorial defines a set of principles for designing cognitively effective visual notations: ones that are optimised for human communication and problem solving. Together these form a design theory, called the Physics of Notations as it focuses on the physical (perceptual) properties of notations rather than their logical (semantic) properties. The principles were synthesised from theory and empirical evidence from a wide range of fields and rest on an explicit theory of how visual notations communicate. They can be used to evaluate, compare and improve existing visual notations as well as to construct new ones. The tutorial identifies serious design flaws in some of the leading SE notations together with practical suggestions for improving them. It also showcases some examples of visual notation design excellence from SE and other fields.
The work this tutorial is based was recently published as the Spotlight Paper in the November/December 2009 issue of the
IEEE Transactions on Software Engineering. The tutorial has also been accepted for presentation at
ICSE 2010 in Cape Town, on Tuesday 4 May.