|
|
Anthony J.
Lattanze Associate Teaching Professor, Masters of Software
Engineering Program Institute for Software Research, |
|
Home |
|
|
|
Software engineering is not for the faint of
heart. Developing large, multidisciplinary, software intensive systems is
fundamentally a difficult and risky undertaking. Arguably the most challenging aspect of
developing these kinds of systems is translating what diverse communities of
stakeholders describe as requirements, into coherent designs. Turning the
corner from “what is needed” to “how it will be built” is a chaotic time in the of best projects, and is often the origin of many
difficult technical and programmatic problems. Early lifecycle design
decisions are easy to make, but are also easy to get wrong, resulting in deep
systemic problems. In most cases, these early designs are not created or analyzed
by organizations in a systematic or disciplined way. Organizations are bound
to these early design decisions for the lifetime of the system.
Unfortunately, poor decisions are often too expensive to undo later in the
lifecycle. I am particularly interested in the science of
early lifecycle design for software intensive systems – some call this Architectural Design. |