by Alan O'Callaghan, Jens Coldewey, Wolfgang Keller
Architecture is one of the key issues in successful software projects. However, there has been little information about how a good architecture is found and how to implement it into a project successfully.
This tutorial teaches best-practices on how to develop both an architectural model and an organizational structure to find and implement a successful architecture for business systems. It addresses both green-field and reengineering projects.
Slides can be downloaded in PDF format. Please note that we will change the slides for OOPSLA in order to include the feedback we got at OOP.
The case study is also available in PDF format
The quiet before the workshop. The room is set up so that there is space for lectures and also space for 3 groups of 16 people to work ...
Exercise #1 ... some rough design in 4 groups of 4 (per group of 16). Things start slow :-).
some use good olde CRC cards ...
Things get lively in the shoot out process, when participants explain their solutions ...
design exercise ... on group of 16 splits up into two independant subteams of 8. One group trying an "eXtreme approach" while the other one tries to be more "traditional" ..
Feedback was somewhat split ..
one half of the participants seemed to have liked the highly interactive format extremely
while another half would have preferred more lectures and more a frontal style tutorial
We will improve the format for OOPSLA 2001 in order to give the second group more of what they want, or we might also change the announcement.
The design exercise was somewhat frustrating for some but also reflected real project life. The groups who tried to do a design job in a group of 16 experienced in 60 minutes a few very interesting things that you would normally experience in a 1 year project like:
people work overlapping
If you don't have clear responsibilities, you have problems - so .. long live CRC cards
people do the same work in a redundant manner in different subgroups
the architect tries to make people work - she's also a manager
people have different terminology in different subgroups
architecture is a lot about communication
and also about management - how do I set up people in order to get a sound architecture