7 research outputs found
What influences the speed of prototyping? An empirical investigation of twenty software startups
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
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.
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
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
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