Agile Methods (AMs) are a set of development techniques designed to address some problems of modern software development (ie, projects over budget and over schedule). Such methods do not pretend to be useful in any kind of software project or to be the solution to reduce costs and increase quality of any product. However, in specific contexts and for specific problems, AMs simply helps developers to focus on the objectives of their customers and deliver the right product for them without wasting time and effort in activities that are not able to generate value for the customer. Traditional software development approaches (ie, waterfall, spiral, iterative, etc.) require a deep knowledge of the application domain and of the actual needs of the customer (including the final user). However, this precise knowledge is rarely available and even in such cases the customer usually asks for changes during the development. Unfortunately, software development is characterized by uncertainty and irreversibility (5, 10); therefore, planning everything upfront is not useful in many application domains.
Foundations of Agile Methods
Succi G
2008
Abstract
Agile Methods (AMs) are a set of development techniques designed to address some problems of modern software development (ie, projects over budget and over schedule). Such methods do not pretend to be useful in any kind of software project or to be the solution to reduce costs and increase quality of any product. However, in specific contexts and for specific problems, AMs simply helps developers to focus on the objectives of their customers and deliver the right product for them without wasting time and effort in activities that are not able to generate value for the customer. Traditional software development approaches (ie, waterfall, spiral, iterative, etc.) require a deep knowledge of the application domain and of the actual needs of the customer (including the final user). However, this precise knowledge is rarely available and even in such cases the customer usually asks for changes during the development. Unfortunately, software development is characterized by uncertainty and irreversibility (5, 10); therefore, planning everything upfront is not useful in many application domains.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.