7 research outputs found

    Flexibility out of standardization

    Get PDF
    Purpose: This article aims to provide a theoretical unifying framework for flexible organizational forms, such as so-called adhocracies and network organizations. Design/methodology/approach: In this article, organization practices that are typical of the software industry are analyzed and re-interpreted by means of foundational concepts of organization science. It is shown that one and the same logic is at work in all flexible organizations. Findings: Coordination modes can be fruitfully employed to characterize flexible organizations. In particular, standardization is key in order to obtain flexibility, provided that a novel sort of coordination by standardization is added to those that have been conceptualized hitherto. Research limitations/implications: This article highlights one necessary condition for organizations to be flexible. Further aspects, only cursorily mentioned in this paper, need to be addressed in order to obtain a complete picture. Practical implications: A theory of organizational flexibility constitutes a guide for organizational design. This article suggests the non-obvious prescription that the boundary conditions of individual behavior must be standardized in order to achieve operational flexibility. Social implications: This theoretical framework can be profitably employed in management classes. Originality/value: Currently, flexible organizations are only understood in terms of lists of instances. This article shows that apparently heterogeneous case-studies share common features in fact

    Factors affecting Technical Debt Raw data from a systematic literature map

    Get PDF
    "This document presents the complete list of references that have been short listed during the systematic review process carried out during the months of April-September 2012. The objective of the systematic review was to identify current research trends in technical debt and to explore the relationship between technical debt measures and agile software development. This documents includes 352 references that are categorized according to their relevance to technical debt research." [Abstract

    Characterizing and Diagnosing Architectural Degeneration of Software Systems from Defect Perspective

    Get PDF
    The architecture of a software system is known to degrade as the system evolves over time due to change upon change, a phenomenon that is termed architectural degeneration. Previous research has focused largely on structural deviations of an architecture from its baseline. However, another angle to observe architectural degeneration is software defects, especially those that are architecturally related. Such an angle has not been scientifically explored until now. Here, we ask two relevant questions: (1) What do defects indicate about architectural degeneration? and (2) How can architectural degeneration be diagnosed from the defect perspective? To answer question (1), we conducted an exploratory case study analyzing defect data over six releases of a large legacy system (of size approximately 20 million source lines of code and age over 20 years). The relevant defects here are those that span multiple components in the system (called multiple-component defects - MCDs). This case study found that MCDs require more changes to fix and are more persistent across development phases and releases than other types of defects. To answer question (2), we developed an approach (called Diagnosing Architectural Degeneration - DAD) from the defect perspective, and validated it in another, confirmatory, case study involving three releases of a commercial system (of size over 1.5 million source lines of code and age over 13 years). This case study found that components of the system tend to persistently have an impact on architectural degeneration over releases. Especially, such impact of a few components is substantially greater than that of other components. These results are new and they add to the current knowledge on architectural degeneration. The key conclusions from these results are: (i) analysis of MCDs is a viable approach to characterizing architectural degeneration; and (ii) a method such as DAD can be developed for diagnosing architectural degeneration

    Design and Evaluation using Technology Acceptance Model of an Architecture Conceptualization Framework System based on the ISO/IEC/IEEE 42020

    Get PDF
    Among the difficulties in developing software-intensive systems are the necessity of managing and controlling data that must be held for decades, as well as describing the needs and concerns of a variety of stakeholders. Therefore, one cannot neglect a good Software Engineering practice which is to develop software-intensive systems based on solid software architecture. However, the processes related to the software architecture of software-intensive systems are often considered only from a low level of abstraction. A recent architectural Standard, the ISO/IEC/IEEE 42020, defines 6 clauses for the architecture process, among them the Architecture Conceptual-ization process is the subject of this study. Considering that the ISO/IEC/IEEE 42020 has only recently been published, given the importance of establishing a well-defined software architecture, and considering the difficulties of understanding an architectural Standard, this work proposes a framework, and then the design and further evaluation of a web-based application to support soft-ware architects in using the activities and tasks of the Architecture Conceptualization clause based on the framework described. The ArchConcept was designed to address the high-level abstraction of the Standard ISO/IEC/IEEE 42020 and can be useful for software architects who want to follow ISO/IEC/IEEE 42020’s recommendation and achieve high-quality results in their work of software architecture conceptualization. A qualitative evaluation employing a questionnaire was carried out to obtain information about the perceptions of professionals regarding the ArchConcept, according to the Technology Acceptance Model (TAM). As ArchConcept is focused on activities of Archi-tecture Conceptualization, which is one of the early stages of a software project, the results found could be evidence of the short time dedicated to the initial phases of projects and their consequences.regarding the ArchConcept, according to the Technology Acceptance Model (TAM). As ArchConcept is focused on the early stages of the project (Architecture Conceptualization), the results found in this work could be evidence of the short time dedicated to the initial phase of projects and their consequences

    A maturity model based on ISO/IEC/IEEE 42010:2011 to identify technical debt in software architecture

    Get PDF
    Software architecture is considered an important area of Software Engineering, as it is useful for managing the development and maintenance of large scale software-intensive systems. The software architecture as a development product is useful for technical activities, such as describing the views and concerns of the future software products, as well as for management activities, including allocating tasks to each team and as an input for project management activities. One main issue when describing the software architecture is knowing what elements must be included in the architecture, and at what level of detail. Thus, the description of a Software Architecture has been considered a crucial deliverable in a software development process because it is read by many stakeholders when developing and maintaining complex software systems that are composed of multiple elements, including software, systems, hardware, and processes. Due to Software Architecture importance, the ISO/IEC/IEEE 42010:2011 standard was published in 2011. In order to facilitate and assist in the documentation of software architecture, many contributions have been proposed in the past decades for architectural standards, provided by academia and industry. This master thesis proposes the use of standard ISO/IEC/IEEE 42010:2011 to develop a maturity model, named ArchCaMo, which is based on sections 5, 6, and 7 of the mentioned standard. To support the designing of ArchCaMo, a Systematic Mapping Study was performed for describing studies that explicitly used the ISO/IEC/IEEE 42010:2011 standard, and identifying which parts of this standard were most considered in the literature. The ArchCaMo is useful to evaluate current architectures and analyze the rate of architecture debt. In addition, it is effective for organizations that are struggling with organizing, describing, and communicating the software architecture for multiple stakeholders. For each level of architecture maturity, the organization knows what to expect concerning activities and deliverables. Within this objective, three organizations are selected as case studies. The researchers conducted the survey by means of interviews with their software architect or the chief of the software architecture team. By analyzing the obtained results, the authors checked the compliance of their software architecture activities with ISO/IEC/IEEE 42010:2011. As a result, all three organizations were classified on level 1, which means that these organizations fail in at least one aspect to formalize and define the software architecture.Fundação de Apoio a Pesquisa e à Inovação Tecnológica do Estado de Sergipe - FAPITEC/SEArquitetura de software é considerada uma área importante da Engenharia de Software, pois é útil para gerenciar o desenvolvimento e a manutenção de sistemas intensivos de software em larga escala. A arquitetura de software como produto de desenvolvimento é útil para atividades técnicas, como descrever as visões e expectativas dos futuros produtos de software, bem como para atividades de gerenciamento, incluindo a alocação de tarefas para cada equipe e como entrada para as atividades de gerenciamento de projetos. Um problema principal ao descrever a arquitetura do software é saber quais elementos devem ser incluídos na arquitetura e em que nível de detalhe. Assim, a descrição de uma arquitetura de software é considerada uma entrega crucial em um processo de desenvolvimento de software, porque é lida por muitas partes interessadas em desenvolver e manter sistemas de software complexos compostos por vários elementos, incluindo software, sistemas, hardware e processos. Devido à importância da arquitetura de software, o padrão ISO/IEC/IEEE 42010:2011 foi publicado em 2011. Para facilitar e auxiliar na documentação da arquitetura de software, muitas contribuições foram propostas nas últimas décadas para os padrões de arquitetura, fornecidos pela academia e pela indústria. Esta dissertação de mestrado propõe o uso da norma ISO/IEC/IEEE 42010:2011 para desenvolver um modelo de maturidade, denominado ArchCaMo, baseado nas seções 5, 6 e 7 da norma mencionada. Para apoiar o projeto do ArchCaMo, foi realizado um Mapeamento Sistemático para descrever estudos que usavam explicitamente o padrão ISO/IEC/IEEE 42010:2011 e identificar quais partes desse padrão foram mais consideradas na literatura. ArchCaMo é útil para avaliar arquiteturas atuais e analisar a taxa de dívida técnica da arquitetura. Além disso, ele é eficaz para organizações que estão lutando para organizar, descrever e comunicar a arquitetura de software para vários interessados. Para cada nível de maturidade da arquitetura, a organização sabe o que esperar em relação a atividades e entregas. Dentro deste objetivo, três organizações são selecionadas como estudos de caso. Os pesquisadores conduziram a pesquisa por meio de entrevistas com seu arquiteto de software ou com o chefe da equipe de arquitetura de software. Ao analisar os resultados obtidos, os autores verificaram a conformidade de suas atividades de arquitetura de software com a norma ISO/IEC/IEEE 42010:2011. Como resultado, todas as três organizações foram classificadas no nível 1, o que significa que essas organizações falham em pelo menos um aspecto em formalizar e definir a arquitetura do software.São Cristóvão, S
    corecore