|
[Download PDF here!]
Authors: Alexander Egyed
The success of software projects and the
resulting software products are highly dependent on the initial
stages of the life-cycle process - the inception and elaboration
stages. The most critical success factors in improving the outcome
of software projects have often been identified as being the
requirements negotiation and the initial architecting and planning of
the software system.
Not surprisingly, this area has thus
received strong attention in the research community. It has,
however, been hard to validate the effectiveness and feasibility of
new or improved concepts because they are often only shown to work
in a simplified and hypothesized project environment. Industry, on
the other hand, has been cautious in adopting unproven ideas. This
has led to a form of deadlock between those parties.
In the last two years, we had had the
opportunity to observe dozens of software development teams in
planning, specifying and building library related, real-world
applications. This environment provided us with a unique way of
introducing, validating and improving the life cycle process with
new principles such as the WinWin approach to software development.
This paper summarizes the lessons we have learned. |