11.07.2015 Views

Complete thesis - Murdoch University

Complete thesis - Murdoch University

Complete thesis - Murdoch University

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

and to explore and describe requirements located in the application domain (Jackson, 1995).This is achieved through application of the principles of separation of concerns, abstractionsand modularisation.At the ‘soft’ end of the positivist continuum (as exemplified by Sawyer and Kotonya (2000);Loucopoulos and Karakostas (1995)), the socio-technical nature of the software developmentprocess is acknowledged. However, the focus remains on a problem that can be ultimatelysolved. Within the ETHICS approach, a requirement is an outcome of the interaction betweenusers and Requirements Engineer. The Requirements Engineer, (cast here in the roleof therapist) inaugurates a learning system where different views and perspectives may beintegrated (Bloomfield, 1992). Elicitation cannot, therefore, be practiced at the level of theindividual users, in isolation from their environment and interactions. As a consequence,requirements have meaning only within the context (time, place, situation) in which theyare observed (Loucopoulos and Karakostas, 1995). This concern with participation of userswithin the development process has led to the favouring of techniques from the social sciences:ethnography as a mechanism of capturing social practice is seen to promise higherquality requirements by addressing the the meaning-making activities within the ‘society’under study (Sommerville et al, 1993; Hughes et al, 1995; Ford and Wood, 1996).While RE as a smoothly evolutionary process is the accepted view within the positivist softwaredevelopment literature, Maiden and Gizikis (2001) and Nguyen and Swatman (2000a)amongst others, argue it should be regarded as flawed in that it is based on fundamentallywrong ideas regarding the successful development of software. Unlike the engineering andmanufacturing metaphors used to drive the established view, software development is dominatedby human cognition. Software is a collaborative invention: software development is anexploratory and self-correcting dialogue (Bach, 1999).This alternate perspective suggests that Requirements Engineers are not given problems,rather they construct them (Visser, 1992) through negotiation and interaction (Hocking,1996). This construction is thought to be insight-driven and fundamentally opportunistic(Guindon, 1989; Carroll and Swatman, 1999) and based on a spiral model rather than onethat is hierarchical (which assumes a process of decomposition to a set of sub-problems whichmay be solved (Simon, 1973, 1981; Jeffries et al, 1981)), evolutionary (incrementally addingto the knowledge of the problem and evolving towards a solution (Malhotra et al, 1980))or even parallel (by which separation and then partial description of aspects and parts ofthe problem is undertaken, gradually narrowing the ‘world’ described until the final resultdescribes exactly the world of interest (Jackson, 1995)).From this perspective, the process of RE is seen as one of knowledge discovery facilitated by50

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!