7 research outputs found

    What influences the speed of prototyping? An empirical investigation of twenty software startups

    Full text link
    It is essential for startups to quickly experiment business ideas by building tangible prototypes and collecting user feedback on them. As prototyping is an inevitable part of learning for early stage software startups, how fast startups can learn depends on how fast they can prototype. Despite of the importance, there is a lack of research about prototyping in software startups. In this study, we aimed at understanding what are factors influencing different types of prototyping activities. We conducted a multiple case study on twenty European software startups. The results are two folds, firstly we propose a prototype-centric learning model in early stage software startups. Secondly, we identify factors occur as barriers but also facilitators for prototyping in early stage software startups. The factors are grouped into (1) artifacts, (2) team competence, (3) collaboration, (4) customer and (5) process dimensions. To speed up a startups progress at the early stage, it is important to incorporate the learning objective into a well-defined collaborative approach of prototypingComment: This is the author's version of the work. Copyright owner's version can be accessed at doi.org/10.1007/978-3-319-57633-6_2, XP2017, Cologne, German

    Software Engineering Knowledge Areas in Startup Companies: A Mapping Study

    Full text link
    Background - Startup companies are becoming important suppliers of innovative and software intensive products. The failure rate among startups is high due to lack of resources, immaturity, multiple influences and dynamic technologies. However, software product engineering is the core activity in startups, therefore inadequacies in applied engineering practices might be a significant contributing factor for high failure rates. Aim - This study identifies and categorizes software engineering knowledge areas utilized in startups to map out the state-of-art, identifying gaps for further research. Method - We perform a systematic literature mapping study, applying snowball sampling to identify relevant primary studies. Results - We have identified 54 practices from 14 studies. Although 11 of 15 main knowledge areas from SWEBOK are covered, a large part of categories is not. Conclusions - Existing research does not provide reliable support for software engineering in any phase of a startup life cycle. Transfer of results to other startups is difficult due to low rigor in current studies.Comment: Proceedings 6th International Conference on Software Business (ICSOB 2015), Braga, Portugal, 245-25

    Estudio descriptivo de las prácticas de diseño y arquitectura de desarrollo de Software en las compañías Startups. // Descriptive Study about design and architecture practices in Startups.

    Get PDF
    Esta investigación inicia con la interrogante sobre la existencia de prácticas de diseño y arquitectura en las compañías Startups y presenta un breve estado del arte sobre estas prácticas. La metodología utilizada es la revisión bibliográfica y los resultados obtenidos muestran que estas Compañías si tienen prácticas definidas; y además, las recomiendan detallando sus casos de estudio como muestra de su efectividad.   ABSTRACT This work begins with the research question about design and architecture practices in Startups and it show a brief state of the art. The methodology used was the literature review and the results show us that these companies not only have incorporated this practices; and also recommend them detailing their case studies as a demonstration of their effectiveness

    F/OSS para el reuso: métricas, desarrollo de herramientas y marco para su evaluación

    Get PDF
    La disponibilidad de una creciente variedad de Software Libre y de Código Abierto (F/OSS por sus siglas en inglés) distribuidos bajo licencias que permiten explícitamente su modificación y el desarrollo de aplicaciones derivadas, abre nuevas posibilidades para el desarrollo con reutilización. Las características y la información disponible en relación a cada producto de F/OSS es muy heterogénea; no obstante, todas tienen en común la libre disponibilidad del código fuente. Esta tesis presenta nuevas formas de abordar el problema de evaluar y seleccionar productos de F/OSS, centrándose en dos aspectos: La utilización de métricas que pueden obtenerse del código fuente para la evaluación de F/OSS, de modo de caracterizar el diseño general de los productos de software que se consideren para la reutilización. La elaboración de un marco de trabajo para la selección y evaluación de software que sirva de base para una sistematización paulatina de la incorporación de la reutilización de F/OSS en diferentes procesos de desarrollo de software. A partir del estudio de una muestra de 560 versiones diferentes de aplicaciones de F/OSS, y en base al estudio de distribuciones de frecuencia, se proponen umbrales para métricas que reflejan aspectos generales del diseño de una aplicación. Específicamente, se consideran el promedio de la cantidad de métodos por clase y la proporción de referencias a métodos de otras clases respecto del total de métodos definidos en la aplicación. Estas dos medidas se refieren a la aplicación en su conjunto y no a clases o módulos particulares, lo que supone una utilidad diferente de estos valores respecto del papel que cumplen en otros aspectos de la gestión de proyectos de software. En relación al segundo aspecto, se presenta un marco de trabajo en tres etapas, a saber, la detección de oportunidades de reutilización, la búsqueda de recursos candidatos y la selección y evaluación. Este marco es de carácter general, pudiendo adaptarse a diferentes metodologías y contextos de desarrollo. La elaboración del marco parte de la realización de una experiencia de desarrollo con reutilización de F/OSS, la revisión de la literatura relacionada con las temáticas de selección de elementos reutilizables y la evaluación de éstos para su incorporación en nuevos desarrollos. Este marco se aplica posteriormente al desarrollo de una herramienta para computar un conjunto de métricas basadas en el código fuente para dar soporte al proceso de selección de F/OSS para la reutilización tomando en cuenta los umbrales propuestos previamente. De esta forma, se ofrece aquí una base para abordar la reutilización de F/OSS de manera de permitir la sistematización paulatina de esta práctica, brindando un criterio de valoración provisional basado en métricas obtenidas del código fuente.Facultad de Informátic

    SERVICE-BASED AUTOMATION OF SOFTWARE CONSTRUCTION ACTIVITIES

    Get PDF
    The reuse of software units, such as classes, components and services require professional knowledge to be performed. Today a multiplicity of different software unit technologies, supporting tools, and related activities used in reuse processes exist. Each of these relevant reuse elements may also include a high number of variations and may differ in the level and quality of necessary reuse knowledge. In such an environment of increasing variations and, therefore, an increasing need for knowledge, software engineers must obtain such knowledge to be able to perform software unit reuse activities. Today many different reuse activities exist for a software unit. Some typical knowledge intensive activities are: transformation, integration, and deployment. In addition to the problem of the amount of knowledge required for such activities, other difficulties also exist. The global industrial environment makes it challenging to identify sources of, and access to, knowledge. Typically, such sources (e.g., repositories) are made to search and retrieve information about software unitsand not about the required reuse activity knowledge for a special unit. Additionally, the knowledge has to be learned by inexperienced software engineers and, therefore, to be interpreted. This interpretation may lead to variations in the reuse result and can differ from the estimated result of the knowledge creator. This makes it difficult to exchange knowledge between software engineers or global teams. Additionally, the reuse results of reuse activities have to be repeatable and sustainable. In such a scenario, the knowledge about software reuse activities has to be exchanged without the above mentioned problems by an inexperienced software engineer. The literature shows a lack of techniques to store and subsequently distribute relevant reuse activity knowledge among software engineers. The central aim of this thesis is to enable inexperienced software engineers to use knowledge required to perform reuse activities without experiencing the aforementioned problems. The reuse activities: transformation, integration, and deployment, have been selected as the foundation for the research. Based on the construction level of handling a software unit, these activities are called Software Construction Activities (SCAcs) throughout the research. To achieve the aim, specialised software construction activity models have been created and combined with an abstract software unit model. As a result, different SCAc knowledge is described and combined with different software unit artefacts needed by the SCAcs. Additionally, the management (e.g., the execution of an SCAc) will be provided in a service-oriented environment. Because of the focus on reuse activities, an approach which avoids changing the knowledge level of software engineers and the abstraction view on software units and activities, the object of the investigation differs from other approaches which aim to solve the insufficient reuse activity knowledge problem. The research devised novel abstraction models to describe SCAcs as knowledge models related to the relevant information of software units. The models and the focused environment have been created using standard technologies. As a result, these were realised easily in a real world environment. Softwareengineers were able to perform single SCAcs without having previously acquired the necessary knowledge. The risk of failing reuse decreases because single activities can be performed. The analysis of the research results is based on a case study. An example of a reuse environmenthas been created and tested in a case study to prove the operational capability of the approach. The main result of the research is a proven concept enabling inexperienced software engineers to reuse software units by reusing SCAcs. The research shows the reduction in time for reuse and a decrease of learning effort is significant
    corecore