Software architecture for product families: principles and practice
Software architecture for product families: principles and practice
Design and use of software architectures: adopting and evolving a product-line approach
Design and use of software architectures: adopting and evolving a product-line approach
Evaluating software architectures for real-time systems
Annals of Software Engineering
Toward a discipline of scenario-based architectural engineering
Annals of Software Engineering
Scenario-Based Analysis of Software Architecture
IEEE Software
A Note on Scenarios in Software Architecting
Proceedings of the Workshop on Object-Oriented Technology
Reviewing Product Line Architectures: Experience Report of ATAM in an Automotive Context
PFE '01 Revised Papers from the 4th International Workshop on Software Product-Family Engineering
Assessing Optimal Software Architecture Maintainability
CSMR '01 Proceedings of the Fifth European Conference on Software Maintenance and Reengineering
Reverse Architecting: An Industrial Experience Report
WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
Managing infinite variability in mobile terminal software: Research Articles
Software—Practice & Experience
A holistic architecture assessment method for software product lines
Information and Software Technology
ACM SIGSOFT Software Engineering Notes
Variability assessment in software product families
Information and Software Technology
Architecture evolution in software product line: an industrial case study
ICSR'11 Proceedings of the 12th international conference on Top productivity through software reuse
A systematic review of software architecture evolution research
Information and Software Technology
Product-line architecture: new issues for evaluation
SPLC'05 Proceedings of the 9th international conference on Software Product Lines
CBSE in small and medium-sized enterprise: experience report
CBSE'06 Proceedings of the 9th international conference on Component-Based Software Engineering
Developing long-term stable product line architectures
Proceedings of the 16th International Software Product Line Conference - Volume 1
Hi-index | 0.00 |
Software architecture assessments are a means to detect architectural problems before the bulk of development work is done. They facilitate planning of improvement activities early in the lifecycle and allow limiting the changes on any existing software. This is particularly beneficial when the architecture has been planned to (or already does) support a whole product family, or a set of products that share common requirements, architecture, components or code. As the family requirements evolve and new products are added, the need to assess the evolvability of the existing architecture is vital. I illustrate two assessment case studies I have recently worked on in the mobile telephone software domain: the Symbian operating system platform and the network resource access control software system. The former assessment has been carried out as a task within the European project ESAPS, while the latter has been performed solely by Nokia. By means of simple experimental data, I show evidence of the usefulness of architectural assessment as rated by the participating stakeholders. Both assessments have led to the identification of previously unknown architectural defects, and to the consequent planning of improvement initiatives. In both cases, stakeholders noted that a number of side benefits, including improvement of communication and architectural documentation, were also of considerable importance. I illustrate the lessons we have learned, and outline suggestions for future research and experimentation.