How Much Architecture?
This is an invitation to contribute to a 1/2 day workshop being facilitated by Chris Cooper-Bland and Peter Eeles at the Joint Working IEEE/IFIP Conference on Software Architecture 2009 & European Conference on Software Architecture 2009. The workshop will be held on Monday 14th September from 1330 to 1700.
Workshop Organizers
Invitation to Contribute
Details of the workshop are given below. If you are interested in contributing a short 5 to 10-minute presentation, then please send a short summary (1 or 2 paragraphs is sufficient) of your contribution to Chris and Peter by August 21st 2009. You will be notified of acceptance by August 28th 2009. Your contribution may apply to the workshop as a whole, or a particular section of the workshop (see below).
Registration
Contributions are open to any conference attendee. You can register for the conference at the conference website.
Abstract
Some projects will benefit from more architectural investment than others; as Grady Booch says "You don’t need architecture to build a dog kennel, but you’d better have some for a skyscraper". Simplistically, complex systems need a greater focus on architecting than simple systems, but what should you consider when deciding how much architecting is required on a given project?
Workshop Outline
1. Introduction
The goal of the workshop is to provide an agreed-upon baseline of understanding that can seed further work. This will be of interest to both academia (where further research is required) and industry (where the application of the workshop outputs and output from academia can be validated).
2. A Definition of Architecture
A small number of well-known definitions of architecture are provided, with their commonality discussed. The purpose of this section of the workshop is for attendees to come to a shared understanding of software architecture in particular.
3. The Benefits of Architecting
The amount of architecting performed should be proportional to the amount of value it provides. This value is dependent on many interrelated factors. Before the factors themselves are discussed, the benefits of architecting are first discussed. For example, architecting helps manage complexity, ensures architectural integrity, provides a basis for reuse, addresses system qualities, reduces maintenance costs, supports impact analysis and supports the planning process.
4. Factors that Influence the Amount of Architecting Performed
The workshop will be centered on the factors that influence the amount of architecting performed and their interrelationships. A number of factors, and categories, will be provided to seed the discussion. Example factors include:
- Functional requirements (e.g. a large number of distinct functions)
- Business constraints (e.g. cost, schedule, resourcing, team distribution)
- Technical constraints (e.g. mandated technologies)
- Runtime qualities (e.g. performance, scalability, the distribution of the system)
- Non-runtime qualities (e.g. maintainability, portability)
- The number of people involved in the development effort
- The novelty of the system
- The method being followed (e.g. waterfall, iterative, agile)
5. Right-sizing the Amount of Architecting Performed
The purpose of this section of the workshop is to consider the practical consideration of the factors discussed in terms of, for example, a development process, development tools and team organization.
6. Measuring the Value of Architecting
This section of the workshop will focus on how an organization effectively measures the value of any architecting performed. Some properties are extremely difficult to measure (such as maintainability) – but this is a forum for discussing such challenges, together with techniques known in the industry and also techniques that attendees have successfully used in practice.
Copyright © Peter Eeles 2002-2009 All rights are reserved |