130 likes | 228 Views
Chapter 4. Recommended Best Industrial Practice for Software Architecture Evaluation. Session Objectives. Explain software architecture evaluation in terms of cost and benefits
E N D
Chapter 4 Recommended Best Industrial Practice for Software Architecture Evaluation
Session Objectives • Explain software architecture evaluation in terms of cost and benefits • Describe various categories of architecture evaluation techniques
Introduction • If problems are found early in the life cycle, they are trivial to correct. • Software quality cannot be appended late; it must be inherent from the beginning and built-in by design. • Software architecture – the earliest point in the life cycle of a system. • Poor downstream design, implementation, testing, or management decisions can always undermine an acceptable architectural framework.
Costs and Benefits – (1) • Costs: • Most of the organizations have established corporate units responsible for defining and conducting architecture evaluations. • The main reason for this centralization is that each company is interested in maximizing the amount of corporate reuse at the architectural level. • All these companies reported that the individual start-up costs for such an organization were non-trivial.
Costs and Benefits – (2) • Costs: • Architecture evaluation teams should not include members of the development project. This membership issue surfaces two cost-related concerns. • First, there is the worry of reduced organization-wide development productivity because superior designers are removed from active involvement. Making a non-permanent membership on the architecture evaluation board can mitigate this cost.
Costs and Benefits – (3) • Costs: • The second concern stems from this temporary engagement on the architectural evaluation team. Each new evaluator needs to be trained in the evaluation techniques before being a productive member of the evaluation team. • There is a cost associated with this learning curve for architecture evaluators.
Costs and Benefits – (4) • Benefits: • Financial • Projects receiving a full architecture evaluation have reported a reduction in project costs. • Increased Understanding and Documentation of the System • One of the benefits of any formal review is that it forces the reviewer to prepare for the review. • Reviewers are required to document the system’s architecture. • Focuses on a few specific areas with specific questions to be answered.
Costs and Benefits – (5) • Benefits: • Detection of Problems with the Existing Architecture • The third benefit of an architecture evaluation is early detection of problems with the existing architecture. • The problems – unreasonable requirements, performance problems and problems associated with potential downstream modifications. • Clarification and Prioritization of Requirements • The fourth significant benefit is validation of requirements.
Costs and Benefits – (6) • Benefits: • Organizational Learning • Organizations that practice architecture evaluation as a standard part of their development process report is an improvement in the quality of the architectures that are reviewed.
Categorization of Evaluation Techniques-(1) • A variety of techniques are used to perform an architecture evaluation. • Each of the techniques has a different cost and can be used to elicit different information. • Two basic categories – those that generate qualitative questions to ask and those that suggest quantitative measurements to be made.
Categorization of Evaluation Techniques-(2) • The techniques are: • Questioning Techniques • Scenarios – a specified sequence of steps involving the user or modification of the system. • Questionnaires – a list of general and relatively open questions that apply to all architectures • Checklists – a detailed set of questions and focused on particular qualities of the system. • Measuring Techniques • Metrics – quantitative interpretations placed on particular observable measurements on the architecture. • Simulations, Prototypes, and Experiments – portion of the normal development process.
Summary • Architecture evaluations tend to increase quality, control cost and decrease budget risk. • Architecture is the framework for all technical decisions and as such has a tremendous impact on cost and quality product. • Questioning techniques can be applied to evaluate architecture for any given quality. • Measuring techniques result in quantitative results.