tailieunhanh - Ebook Relating system quality and software architecture: Part 2

(BQ) Part 2 book "Relating system quality and software architecture" has content: Lightweight evaluation of software lightweight evaluation of software; dashboards for continuous monitoring of quality for software product under development; chieving quality in customer configurable products,and other contents. | CHAPTER 6 Lightweight Evaluation of Software Architecture Decisions 1 2 3 Veli-Pekka Eloranta , Uwe van Heesch , Paris Avgeriou , 4 1 Neil Harrison , and Kai Koskimies 1 Tampere University of Technology, Tampere, Finland 2 Capgemini, Du ¨sseldorf, Germany 3 University of Groningen, Groningen, The Netherlands 4 Utah Valley University, Orem, UT, USA INTRODUCTION Software architecture plays a vital role in the software engineering lifecycle. It provides a stable foundation upon which designers and developers can build a system that provides the desired functionality, while achieving the most important software qualities. If the architecture of a system is poorly designed, a software project is more likely to fail (Bass et al., 2003). Because software architecture is so important, it is advisable to evaluate it regularly, starting in the very early stages of software design. The cost for an architectural change in the design phase is negligible compared to the cost of an architectural change in a system that is already in the implementation phase (Jansen and Bosch, 2005). Thus, costs can be reduced by evaluating software architecture prior to its implementation, thereby recognizing risks and problems early. Despite these benefits, many software companies do not regularly conduct architecture evaluations ¨ (Dobrica and Niemela, 2002). This is partially due to the fact that architecture evaluation is often perceived as complicated and expensive (Woods, 2011). In particular, the presumed high cost of evaluations prevents agile software teams from considering architecture evaluations. Agile development methods such as Scrum (Cockburn, 2007; Schwaber, 1995; Schwaber and Beedle, 2001; Sutherland and Schwaber, 2011) do not promote the explicit design of software architecture. The Agile manifesto (Agile Alliance, 2001) states that best architectures emerge from teams. Developers using Scrum tend to think that while using Scrum, there is no need for up-front architecture