Scielo RSS <![CDATA[CLEI Electronic Journal]]> http://www.scielo.edu.uy/rss.php?pid=0717-500020130001&lang=en vol. 16 num. 1 lang. en <![CDATA[SciELO Logo]]> http://www.scielo.edu.uy/img/en/fbpelogp.gif http://www.scielo.edu.uy <![CDATA[<b>Preface to the CIbSE/ESELAW 2012 Special</b>]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002013000100001&lng=en&nrm=iso&tlng=en <![CDATA[<b>Implementation of Software Process Improvement Initiatives</b>]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002013000100002&lng=en&nrm=iso&tlng=en In a globalized world, organizational culture plays an important role in companies since it represents one of the main factors of business success in competitive scenarios. Organizational culture is defined by a set of attitudes, behaviors, norms and beliefs that may guide the life of a company. Organizational values can ensure a common understanding among everyone in the organization, provided that they are shared by all their members. This study describes the results of a systematic literature review on typological model of organizational culture in order to identify organizational values for characterizing the organizational culture in a company. Additionally, we managed a survey to researchers and practitioners analyzing which organizational values are most relevant to a software organization involved with a software process improvement (SPI) initiative. In this paper, we describe forty organizational values identified in the systematic review, and we give particular emphasis in the values the survey results indicate as the main ones that influence the adoption/maintenance of SPI initiatives, i.e., (i) being committed to a high-quality policy for products, services, and processes; (ii) having a well-defined and established vision and goals; and (iii) imposing responsibilities on the team members for meeting deadlines and achieving goals.<hr/>Em um mundo globalizado, a cultura organizacional desempenha um papel importante nas empresas, uma vez que representa um dos principais fatores de sucesso dos negócios em cenários competitivos. A cultura organizacional é definida por um conjunto de atitudes, comportamentos, normas e crenças que guiam a vida de uma empresa. Valores organizacionais podem garantir um entendimento comum de todos na organização, desde que sejam compartilhados por todos os seus membros. Este trabalho descreve os resultados de uma revisão sistemática da literatura sobre modelos de tipologias para análise da cultura organizacional com o objetivo de identificar os valores organizacionais que caracterizam a cultura organizacional de uma empresa. Além disso, realizamos um survey com pesquisadores e praticantes da indústria de software sobre quais valores organizacionais são mais relevantes para uma organização de software que esteja envolvida com um iniciativa de melhoria de processo de software. Neste artigo, descrevemos 40 valores organizacionais identificados na revisão sistemática e damos ênfase especial nos principais valores indicados pelo resultado do survey que influenciam a adopção/manutenção de iniciativas de MPS, isto é, (i) ter uma política de compromisso com a qualidade dos produtos, serviços e processos; (ii) ter a visão, metas e objetivos claros e estabelecidos; e (iii) exigir que os membros tenham responsabilidades quanto a prazos e metas. <![CDATA[From MoProSoft Level 2 to ISO/IEC 29110 Basic Profile: Bridging the Gap]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002013000100003&lng=en&nrm=iso&tlng=en The spread of the interest and the need for process reference models, specifically for small and medium software development organizations, has been a catalyst for generating ISO/IEC 29110 Software Engineering - Lifecycle profiles for Very Small Entities. Based on the Mexican standard NMX-I-059-NYCE-2005, better known as MoProSoft, ISO/IEC 29110 is the first international standard specifically designed for very small entities. Thanks to the COMPETISOFT Project and MoProSoft, the background knowledge and models adoption experience have been introduced in Latin America. In Mexico more than 300 organizations have been evaluated in NMX-I-059-NYCE-2005, in 2009 MoProSoft became a national standard in Peru, while COMPETISOFT included the experience and viewpoints of 13 countries and 23 research groups of the region. As a whole, it gives small software development organizations in the region an advantage in adopting an international standard. This paper clarifies the gap between ISO/IEC 29110 and MoProSoft level 2. As a result of a theoretical and practical review both standards have been mapped defining the coverage level between processes, considering the defined tasks, work products and roles. Several recommendations have been suggested to bridge the gap between these standards. Finally, the effort needed to adopt the Basic Profile of the new international standard starting from the Mexican standard has been estimated. The results have been extended to also consider organizations that adopted COMPETISOFT as their process reference model.<hr/>La propagación del interés y la necesidad de modelos de referencia de procesos, específicamente dirigidos para las pequeñas y medianas organizaciones desarrolladoras de software, fueron catalizadores para la generación de la norma ISO/IEC 29110 Ingeniería del Software - Perfiles de ciclo de vida para pequeñas organizaciones. Basada en la norma mexicana NMX-I-059-NYCE-2005, mejor conocida como MoProSoft, ISO/IEC 29110 es el primer estándar internacional diseñado específicamente para organizaciones pequeñas. Gracias al Proyecto COMPETISOFT y MoProSoft, en América Latina se adquirieron el conocimiento previo y la experiencia en adopción de modelos. En México, más de 300 organizaciones han sido evaluadas bajo la NMX-I-059-NYCE-2005; en 2009, en Perú, MoProSoft se convirtió en estándar nacional. Mientras que COMPETISOFT incluyó la experiencia y puntos de vista de 13 países y 23 grupos de investigación de la región. En conjunto, esto da a las pequeñas organizaciones de desarrollo de software de la región una importante ventaja para la adopción de la norma internacional. Este artículo clarifica la brecha entre la norma ISO/IEC 29110 y MoProSoft nivel 2. Como resultado de la revisión teórica y práctica, ambas normas fueron mapeadas definiendo el nivel de cobertura entre sus procesos, para este mapeo se tomaron en cuenta las tareas, productos de trabajo y roles definidos en ambas normas. Diversas recomendaciones se sugieren para reducir la brecha entre ellas. Por último, se presenta una estimación del esfuerzo necesario para adoptar el Perfil Básico de la nueva norma internacional a partir de la norma mexicana. Los resultados obtenidos de este mapeo se ampliaron para considerar también a aquellas organizaciones que adoptaron COMPETISOFT como modelo de referencia de procesos y quisieran adoptar el Perfil Básico. <![CDATA[Architecture to Support the Resource Perspective of BPEL Processes]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002013000100004&lng=en&nrm=iso&tlng=en This work proposes an extension to the WS-HumanTask architecture developed to provide support to the Resource Perspective of BPEL processes. The extension is aimed to overcome limitations identified in the support of BPEL4People and WS-HumanTask to recurrent Resource Perspective requirements described by the Workflow Resource Patterns and well known reference models of workflow management systems. These limitations have been identified through an assessment of BPEL4People and WS-HumanTask against a conceptual model enabling the representation of Resource Perspective requirements by defining three aspects: Resource Structure, Work Distribution and Authorization. The proposed extension specifies an autonomous People Directory component to be integrated with the Task Processor and the Task Client WS-HumanTask components. The behavior of the Task Processor and the Task Client is also extended in order to enable their interactions with the People Directory and to improve their support to the stated Resource Perspective aspects.<hr/>Este trabajo propone una extensión a la arquitectura WS-HumanTask desarrollada para proveer soporte a la Perspectiva de Recursos de procesos BPEL. La extensión fue definida para superar limitaciones identificadas en el soporte provisto por BPEL4People y WS-HumanTask a requerimientos recurrentes de la Perspectiva de Recursos descriptos por los Workflow Resource Patterns y modelos de referencia de sistemas de gestión de workflow ampliamente difundidos. Estas limitaciones fueron identificadas a través de una evaluación de BPEL4People y WS-HumanTask contra un modelo conceptual que permite la representación de requerimientos de la Perspectiva de Recursos por medio de la definición de tres aspectos: Estructura de Recursos, Distribución de Trabajo y Autorización. La extensión propuesta especifica un componente autónomo People Directory a integrarse con los componentes Task Processor y Task Client definidos por WS-HumanTask. El comportamiento de los componentes Task Processor y Task Client también es extendido a fin de permitir sus interacciones con el People Directory y mejorar su soporte a los aspectos indicados de la Perspectiva de Recursos. <![CDATA[Web Service interface quality through conventional object-oriented metrics]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002013000100005&lng=en&nrm=iso&tlng=en Historically, software engineers have conceived metric suites as valuable tools to estimate the quality of their software artifacts. Recently, a fresh computing paradigm called Service-Oriented Computing (SOC) has emerged at the crossing of massively distributed and heterogeneous software. This paper presents a statistical correlation analysis showing that classic software engineering metrics can be used to predict the most relevant quality attributes of WSDL documents, the essential software artifact when materializing this novel computing paradigm with Web-based technologies. For the experiments, two recent WSDL-level metrics catalogs and 154 real world WSDL documents have been employed.<hr/>Históricamente, los ingenieros de software han concebido a los catálogos de métricas como una herramienta importante para estimar la calidad de sus artefactos de software. Recientemente, ha emergido un paradigma de computación denominado Computación Orientada a Servicios (COS), pensado para diseñar software heterogéneo y masivamente distribuido. El presente paper introduce un análisis de correlación estadística que muestra que ciertas métricas clásicas de la ingeniería de software son útiles para predecir los atributos de calidad más relevantes de los documentos WSDL, vale decir, el artefacto de software por excelencia al materializar COS utilizando tecnologías Web. En los experimentos, se utilizaron dos catálogos recientes de métricas para documentos WSDL y un conjunto de 154 documentos WSDL provinientes de sistemas reales. <![CDATA[Towards Pertinent Characteristics of Agility and Agile Practices for Software Processes]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002013000100006&lng=en&nrm=iso&tlng=en Context: It is believed that agility in software processes can bring benefits to software development and lead to an economy of efforts when accommodating changes is needed. Objective: Assess pertinence and relevance of agility characteristics and agile practices for software processes. Method: From 18 agility characteristics and 17 agile practices applicable to software processes revealed through systematic literature reviews performed in 2010, a survey was conducted to assess their pertinence and relevance. Results: 16 agility characteristics and 15 agile practices were considered pertinent to insert agility in software processes. Conclusion: Results should be used sparingly. It would be interesting to replicate the study in other contexts, with different subjects, and compare them, to increase the generalization of their results.<hr/>Contexto: Acredita-se que a agilidade em processos de software pode trazer benefícios para o desenvolvimento de software e levar a uma economia de esforços quando a acomodação de mudanças se fizer necessária. Objetivo: Avaliar a pertinência e a relevância das características de agilidade e das práticas ágeis de processos de software. Método: A partir de 18 características de agilidade e 17 práticas ágeis aplicáveis a processos de software, reveladas através de revisões sistemáticas de literatura efetuadas em 2010, foi realizada uma pesquisa para avaliar a sua pertinência e relevância. Resultados: 16 características de agilidade e 15 práticas ágeis foram consideradas pertinentes para inserir agilidade nos processos de software. Conclusão: Os resultados devem ser usados com moderação. Seria interessante replicar o estudo em outros contextos, com diferentes participantes, e compará-los, para aumentar a força de generalização dos seus resultados. <![CDATA[Managing SPL Variabilities in UAV Simulink Models with Pure: variants and Hephaestus]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002013000100007&lng=en&nrm=iso&tlng=en Unmanned Aerial Vehicles (UAV) are vehicles that fly without a pilot and are able to execute different types of missions, such as surveillance, topographical data collection, and environment monitoring. This motivates some degree of variability in the controlling software of UAV - usually specified using Simulink models -, even though it is also possible to reuse software in this domain using systematic approaches such as Software Product Lines (SPLs). In this paper we present a catalog of patterns to represent variable features in Simulink and show how to construct a simple software product line for an UAV. We also show mechanisms and an infrastructure for configuring Simulink assets, using two tools to manage variabilities: Pure::variants and Hephaestus. These tools are also compared according to a set of characteristics.<hr/>Los vehículos aéreos no tripulados- Unmanned Aerial Vehicles (UAV) son vehículos que vuelan sin piloto y son capaces de ejecutar diferentes misiones. Esto motiva un grado de variabilidad en el software de control, aunque es posible reusar software en este dominio utilizando enfoques sistemáticos como el de Software Product Lines (SPLs). En este trabajo presentamos un catálogo de patrones para representar aspectos diferentes de Simulink y mostramos como construir una línea de producto de software para un UAV. <![CDATA[Evaluating a Usability Inspection Technique by means of Industry: Case Studies]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002013000100008&lng=en&nrm=iso&tlng=en Industry case studies are required to assess the suitability of a software technology to the industrial environment. Therefore, this paper presents two case studies carried out in partnership with two companies of an Industrial Park, in order to evaluate and improve the WDP-RT (Web Design Perspectives-Based Inspection - Reading Technique), a usability inspection technique specific for Web applications. The obtained results indicate the adequacy of the WDR-RT technique to the cycles of a Web application development in an industrial environment.<hr/>Estudos de caso na indústria são necessários para avaliar a adequação de uma tecnologia de software ao ambiente industrial. Este artigo apresenta dois estudos de caso realizados em parceria com duas empresas de um parque industrial, a fim de avaliar e melhorar a WDP-RT (Web Design Perspectives-Based Inspection - Reading Technique), uma técnica de inspeção de usabilidade específica para Aplicações Web . Os resultados obtidos apontam para a adequação da técnica de WDP-RT para os ciclos de desenvolvimento de aplicações Web em um ambiente industrial. <![CDATA[Are We Prepared for Simulation Based Studies in Software Engineering Yet?]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002013000100009&lng=en&nrm=iso&tlng=en CONTEXT: Simulation-based studies have been used in different research areas in order to conduct computerized experiments with distinct purposes. However, it seems that Software Engineering simulation studies have been performed in a non-systematic way, using ad-hoc experimental design and analysis procedures, i.e., without defining a research protocol and missing information when reporting results. OBJECTIVE: To characterize simulation-based studies and identify the common simulation strategies in Software Engineering. METHOD: To undertake a quasi-Systematic Review. Three online digital libraries (Scopus, Ei Compendex, and Web of Science) are used as sources of information. Information extraction from the primary studies should be captured using a predefined form. Plotted charts and tables should be used together with quantitative/qualitative approaches when possible to support data analysis. RESULTS: From 946 papers, 108 have been included, from which it is possible to identify 19 simulation approaches, 17 domains, 28 simulation models characteristics, 22 output analysis instruments, and 9 procedures for the verification and validation of simulation models in the Software Engineering context. Most dominant approach is System Dynamics in the Software Project Management domain. Replication is not a common behaviour. CONCLUSION: The lack of information regarding most of the simulation-based studies and their models restricts replication, making the results usually specifics and generalization hard. Apart from that, it compromises validity confidence. More research and discussions should be made by the community to increase the reliability and use of simulation-based studies in Software Engineering.<hr/>CONTEXTO: Estudos Baseados em Simulação vêm sendo utilizados em diferentes áreas de pesquisa para realização de experimentos computadorizados com diferentes propósitos. Entretanto, os estudos baseados em simulação executados em Engenharia de Software vêm, aparentemente, sendo realizados de forma não sistemática, utilizando projetos experimentais e procedimentos ad-hoc de análise, isto é, sem a definição de um protocolo de pesquisa e com relatos de resultados incompletos. OBJETIVO: Caracterizar estudos baseados em simulação e identificar estratégias para simulação comumente utilizadas em Engenharia de Software. MÉTODO: Executar uma quasi-revisão Sistemática. Três bibliotecas digitais (Scopus, Ei Compendex, e Web of Science) são utilizadas como fonte de informação. A extração da informação a partir dos estudos primários utiliza um formulário previamente definido. Gráficos estatísticos e tabelas devem ser utilizados em conjunto com abordagens quantitativas/qualitativas quando possível para apoiar a análise de dados. RESULTADOS: De 946 artigos, 108 foram incluídos, dos quais é possível identificar 19 abordagens para simulação, 17 domínios, 28 características de modelos de simulação, 22 instrumentos para análise de resultados, e 9 procedimentos para verificação e validação de modelos de simulação no contexto da Engenharia de Software. A abordagem mais utilizada é a Dinâmica de Sistemas no domínio de Gerência de Projetos de Software. A reaplicação de estudos é dificilmente encontrada. CONCLUSÃO: A falta de informação no que diz respeito à maioria dos estudos baseados em simulação e seus modelos impõe restrições à reaplicação de estudos, tornando os resultados normalmente específicos e de difícil generalização. Além disso, isto compromete a confiança na validade desses estudos. É necessário que sejam realizadas mais pesquisas e discussões pela comunidade a fim de aumentar a confiabilidade e utilização de estudos baseados em simulação em Engenharia de Software. <![CDATA[Conducting Empirical Studies to Evaluate a Technique to Inspect Software Testing Artifacts]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002013000100010&lng=en&nrm=iso&tlng=en Experimentation is becoming increasingly used in the Software Engineering field. Several methodologies adopt empirical studies as an instrument to support the software technologies’ conception and maturation. This paper presents the application of a methodology based on the conduction of primary studies to develop a new checklist-based technique, named TestCheck, for inspection of software testing artifacts (test plan, cases, and procedures). Thus far, three empirical studies have been conducted (two feasibility studies and one observational study). The results of the first feasibility study indicate that TestCheck is more efficient and effective when detecting defects in software testing artifacts than an Ad-hoc approach. The results of the second feasibility study suggest an improvement in TestCheck regarding the defects detection and the reduction of the number of false positives per inspector. Finally, the results of the third study (observational study) evaluated positively the application of TestCheck by software engineers inspecting testing artifacts developed in an industrial environment. Thus, it would be qualified for the execution of the methodology’s next steps (case studies in the software industry).<hr/>Experimentação tem se tornado cada vez mais usada na área de Engenharia de Software. Várias metodologias adotam estudos experimentais como um instrumento de apoio à concepção e amadurecimento de tecnologias de software. Este artigo apresenta a aplicação de uma metodologia baseada na condução de estudos primários para desenvolvimento de uma nova técnica baseada em checklist, chamada TestCheck, para inspeção de artefatos de teste de software (plano, casos e procedimentos de teste). Até o momento, três estudos experimentais foram conduzidos (dois estudos de viabilidade e um estudo de observação). Os resultados do primeiro estudo de viabilidade indicam que TestCheck é mais eficiente e efetiva quando detectando defeitos em artefatos de teste de software que uma abordagem Ad-hoc. Os resultados do segundo estudo de viabilidade sugerem uma melhoria em TestCheck em relação à detecção de defeitos e a a redução do número de falso positivos por inspetor. Finalmente, os resultados do terceiro estudo (estudo de observação) avaliaram positivamente a aplicação de TestCheck por engenheiros de software inspecionando artefatos de teste desenvolvidos em um ambiente industrial. Assim, a técnica estaria qualificada para a execução dos próximos passos da metodologia (estudos de caso na indústria de software). <![CDATA[Defining Indicators for Risk Assessment in Software Development Projects]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002013000100011&lng=en&nrm=iso&tlng=en The usage of indicators acts in both strategic and tactical levels, it is effective for optimization of processes and also supports managerial decisions. Despite the relevance of risk management in software projects, it is in fact still usually overlooked by the organizations that develop software. One reason for this fact is that the concept of risk is abstract and subjective, and its management does not bring apparent immediate practical result. Differently, for example, in the financial market, where the risk management is consolidated and widely applied, and it is currently a need for the companies that work in this field. Briefly, risk management practices just became effectively consolidated in the financial market field when the uncertainties became measurable. In this context, this paper aims to define and propose indicators that are specific for environments of software projects in order to support risk assessment activities - risk identification and risk analysis. To achieve this objective, we first developed a systematic mapping study in order to collect evidences about metrics, indicators and relevant information for risk assessment. These findings were combined with the identification of measurable risk factors, providing, thus, a set of categorized indicators for software development environments.<hr/>O uso de indicadores atua tanto em nível estratégico quanto tático, sendo efetivo para a otimização de processos, bem como para apoiar decisões gerenciais. Mesmo com a relevância da gerência de riscos em projetos de software, dada a diversidade de abordagens existentes, a gerência de riscos ainda é, de fato, negligenciada pelas organizações que desenvolvem software. Uma razão para este cenário é que o conceito de risco é abstrato e subjetivo, e sua gerência não traz aparente resultado imediato. Diferentemente, por exemplo, da área financeira, onde a gerência de riscos é consolidada, além de ser uma necessidade para empresas que trabalham neste domínio. Resumidamente, as práticas de gerência de riscos somente se tornaram efetivamente consolidadas na área financeira quando as incertezas se tornaram mensuráveis. Neste contexto, este artigo visa definir e propor indicadores específicos para ambientes de projetos de software com o objetivo de apoiar a avaliação de riscos - identificação e análise de riscos. Para o alcance deste objetivo, inicialmente foi desenvolvido um mapeamento sistemático da literatura com o objetivo de coletar evidências sobre métricas e indicadores para avaliação de riscos em geral e para extrair informação destas evidências que sejam relevantes para o processo de avaliação de riscos. Estes achados foram combinados com a identificação de fatores de riscos mensuráveis, provendo, desta maneira, um conjunto de indicadores categorizados específicos para ambientes de desenvolvimento de software. <![CDATA[Characterizing Usability Inspection Methods through the Analysis of a Systematic Mapping Study Extension]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002013000100012&lng=en&nrm=iso&tlng=en Usability is one of the most relevant quality aspects in Web applications. A Web application is usable if it provides a friendly, direct and easy to understand interface. Many Usability Inspection Methods (UIMs) have been proposed as a cost effective way to enhance usability. However, many companies are not aware of these UIMs and consequently, are not using them. A secondary study can identify, evaluate and interpret all data that is relevant to the current knowledge available regarding UIMs that have been used to evaluate Web applications in the past few decades. Therefore, we have extended a systematic mapping study about Usability Evaluation Methods by analyzing 26 of its research papers from which we extracted and categorized UIMs. We provide practitioners and researches with the rationale to understand both the strengths and weaknesses of the emerging UIMs for the Web. Furthermore, we have summarized the relevant information of the UIMs, which suggested new ideas or theoretical basis regarding usability inspection in the Web domain. In addition, we present a new UIM and a tool for Web usability inspection starting from the results shown in this paper.<hr/>Usabilidade é um dos fatores de maior relevância em Aplicações Web. Uma aplicação Web usável proporciona uma interface amigável, direta e fácil de entender. Vários métodos de inspeção de usabilidade (Usability Inspection Methods - UIMs) têm sido propostos como uma forma de baixo custo e alto benefício para a melhoria da usabilidade. No entanto, muitas empresas não os conhecem e, portanto não os utilizam. Um estudo secundário pode identificar, avaliar e interpretar dados relevantes sobre o conhecimento disponível relacionado a UIMs que têm sido usados para avaliar aplicações Web nas últimas décadas. Este artigo apresenta a extensão de um mapeamento sistemático sobre Métodos de Avaliação de Usabilidade, com a análise de 26 artigos dos quais UIMs foram extraídos e categorizados. Os resultados desta pesquisa oferecem, tanto à academia quanto à indústria, informações para entender as vantagens e desvantagens da utilização de cada um dos UIMs emergentes para a Web. Além disso, foi feito um resumo de cada método, para fornecer ideias de pesquisa e uma base teórica para inspeção de aplicações Web. Finalmente, com base nos resultados obtidos nesta pesquisa, são apresentadas uma técnica de inspeção de usabilidade, e uma ferramenta para apoiar a sua aplicação.