With special focus on software architectural issues, we report from
the first two major phases of a software development project. Our
experience suggests that explicit focus on software architecture in
these phases was an important key to success. More specifically:
Demands for stability, flexibility and proper work organisation in an
initial prototyping phase of a project are facilitated by having an
explicit architecture. However, the architecture should also allow for
certain degrees of freedom for experimentation. Furthermore, in a
following evolutionary development phase, architectural redesign is
necessary and should be firmly based on experience gained from working
within the prototype architecture. Finally, to get it right, the
architecture needs to be prototyped, or iterated upon, throughout
evolutionary development cycles. In this architectural prototyping
process, we address the difficult issue of identifying and evolving
functional components in the architecture and point to an
architectural strategy -- a set of architectures, their context and
evolution -- that was helpful in this respect.
BACK