20 research outputs found
Architecture Information Communication in Two OSS Projects: the Why, Who, When, and What
Architecture information is vital for Open Source Software (OSS) development,
and mailing list is one of the widely used channels for developers to share and
communicate architecture information. This work investigates the nature of
architecture information communication (i.e., why, who, when, and what) by OSS
developers via developer mailing lists. We employed a multiple case study
approach to extract and analyze the architecture information communication from
the developer mailing lists of two OSS projects, ArgoUML and Hibernate, during
their development life-cycle of over 18 years. Our main findings are: (a)
architecture negotiation and interpretation are the two main reasons (i.e.,
why) of architecture communication; (b) the amount of architecture information
communicated in developer mailing lists decreases after the first stable
release (i.e., when); (c) architecture communications centered around a few
core developers (i.e., who); (d) and the most frequently communicated
architecture elements (i.e., what) are Architecture Rationale and Architecture
Model. There are a few similarities of architecture communication between the
two OSS projects. Such similarities point to how OSS developers naturally
gravitate towards the four aspects of architecture communication in OSS
development.Comment: Preprint accepted for publication in Journal of Systems and Software,
202
Capturing Software Architecture Knowledge for Pattern-Driven Design
Context: Software architecture is a knowledge-intensive field. One mechanism
for storing architecture knowledge is the recognition and description of
architectural patterns. Selecting architectural patterns is a challenging task
for software architects, as knowledge about these patterns is scattered among a
wide range of literature. Method: We report on a systematic literature review,
with the aim of building a decision model for the architectural pattern
selection problem. Moreover, twelve experienced practitioners at
software-producing organizations evaluated the usability and usefulness of the
extracted knowledge.\newline Results: An overview is provided of 29 patterns
and their effects on 40 quality attributes. Furthermore, we report in which
systems the 29 patterns are applied and in which combinations. The
practitioners confirmed that architectural knowledge supports software
architects with their decision-making process to select a set of patterns for a
new problem. We investigate the potential trends among architects to select
patterns. Conclusion: With the knowledge available, architects can more rapidly
select and eliminate combinations of patterns to design solutions. Having this
knowledge readily available supports software architects in making more
efficient and effective design decisions that meet their quality concerns
Architectural decision-making as a financial investment:An industrial case study
Context
Making architectural decisions is a crucial task but also very difficult, considering the scope of the decisions and their impact on quality attributes. To make matters worse, architectural decisions need to combine both technical and business factors, which are very dissimilar by nature.
Objectives
We provide a cost-benefit approach and supporting tooling that treats architectural decisions as financial investments by: (a) combining both technical and business factors; and (b) transforming the involved factors into currency, allowing their uniform aggregation. Apart from illustrating the method, we validate both the proposed approach and the tool, in terms of fitness for purpose, usability, and potential limitations.
Method
To validate the approach, we have performed a case study in a software development company, in the domain of low-energy embedded systems. We employed triangulation in the data collection phase of the case study, by performing interviews, focus groups, an observational session, and questionnaires.
Results
The results of the study suggested that the proposed approach: (a) provides a structured process for systematizing decision-making; (b) enables the involvement of multiple stakeholders, distributing the decision-making responsibility to more knowledgeable people; (c) uses monetized representations that are important for assessing decisions in a unified manner; and (d) enables decision reuse and documentation.
Conclusions
The results of the study suggest that architectural decision-making can benefit from treating this activity as a financial investment. The various benefits that have been identified from mixing financial and technological aspects are well-accepted from industrial stakeholders
An exploratory case study on reusing architecture decisions in software-intensive system projects
Reusing architecture decisions from previous projects promises to support architects when taking decisions. However, little is known about the state of art of decision-reuse and the benefits and challenges associated with reusing decisions. Therefore, we study how software architects reuse architecture decisions, the stakeholders and their concerns related to decision-reuse, and how architects perceive the ideal future state of decision-reuse. We conducted a qualitative explorative case study in the software-intensive systems industry. The study has shown that architects frequently reuse decisions but are confined to decisions they already know or have heard about. The results also suggest that architects reuse decisions in an ad-hoc manner. Moreover this study presents a conceptual model of decision-reuse and lists stakeholder concerns with regards to decision-reuse. The results of this study indicate that improving the documentation and discoverability of decisions holds a large potential to increase reuse of decisions and that decision documentation is not only important for system understanding or in the context of architecture reviews but also to support architects in upcoming projects
Projektinhallinnan työkalut osana yrityksen liiketoimintaa
Tässä työssä tutkin projektinhallintasovellusten valintaprosessia ja käyttöä kasvuyrityksessä. Tavoitteena on löytää keskeiset aktiviteetit, joita onnistuneen projektin läpivienti edellyttää. Lisäksi tutkin, minkälaisia projektinhallintasovelluksia näiden aktiviteettien tukemiseen ja hallintaan on tarjolla ja mitä haasteita yritykset kohtaavat sovelluksia valitessaan. Etenkin pilvipalveluna toimivien projektinhallintasovellusten määrä on kasvanut viime vuosina merkittävästi ja oikean sovelluksen löytäminen voi olla haastavaa. Osa yrityksistä on päätynyt tekemään projektinhallintasovellluksensa itse sisäisenä työnä, näin tapahtui myös esimerkkiyrityksessä. Toteutin sovelluksen ja tutkin projektin onnistumista mm. teemahaastattelulla