10 research outputs found

    Exploration of technical debt in start-ups

    Full text link
    Context: Software start-ups are young companies aiming to build and market software-intensive products fast with little resources. Aiming to accelerate time-to-market, start-ups often opt for ad-hoc engineering practices, make shortcuts in product engineering, and accumulate technical debt. Objective: In this paper we explore to what extent precedents, dimensions and outcomes associated with technical debt are prevalent in start-ups. Method: We apply a case survey method to identify aspects of technical debt and contextual information characterizing the engineering context in start-ups. Results: By analyzing responses from 86 start-up cases we found that start-ups accumulate most technical debt in the testing dimension, despite attempts to automate testing. Furthermore, we found that start-up team size and experience is a leading precedent for accumulating technical debt: larger teams face more challenges in keeping the debt under control. Conclusions: This study highlights the necessity to monitor levels of technical debt and to preemptively introduce practices to keep the debt under control. Adding more people to an already difficult to maintain product could amplify other precedents, such as resource shortages, communication issues and negatively affect decisions pertaining to the use of good engineering practices.Comment: ICSE-SEIP '18: Proceedings of the 40th International Conference on Software Engineering: Software Engineering in Practic

    Integrated environment for distributed modeling of web information systems

    No full text
    O objetivo principal desta dissertação explora alguns aspectos relacionados ao desenvolvimento colaborativo de sistemas de informação na Internet. E apresentado o Editor Diagramático na Internet (EDI), que suporta a especificação colaborativa de aplicações. Este editor utiliza tecnologia e funcionalidade dos hiperdocumentos, oferecendo características como: compartilhamento de informações, colaboração entre vários autores e varias visões dos dados conceituais armazenados. EDI foi implementado utilizando a linguagem de programação Java e projetada de forma genérica para permitir a criação de editores de diferentes notações diagramáticas. Este trabalho propõe a utilização de anotações em documentos de desenvolvimento de sistemas de informação na Internet. Estas anotações auxiliam no desenvolvimento colaborativo de sistemas, tornando o processo mais colaborativo e com um produto resultante de qualidade superior. As anotações estão baseadas em dois tipos de usuários: o usuário proprietário, responsável pela criação do documento, e o usuário colaborador, que inclui anotações nos documentos. Anotações (identificadas por uma especifica cor) podem ser de inclusão, alteração, remoção de conceitos (visões) ou registro de comentários.The main goal of this work is to explore some issues related to collaborative development of information systems on the Internet. A Diagrammatic Editor on the Internet (EDI) that supports collaborative specification of applications is described. This editor uses hyperdocument technology and funcionalities, offering features such as information sharing, collaboration between several authors, multiple views of the stored conceptual data, among others. EDI was implemented using the Java language, and designed with the purpose of being generic to enable the easy creation of specific editors for different diagrammatic notations. The use of annotations for the joint development of information systems on the Internet is proposed. With these annotations the development process becomes more collaborative and the quality of the final product may increase. Annotations are based on two types of users: the owner, who is an author responsible for the creation of a document, and the collaborator, who makes annotations on those documents. Annotations (identified by one specific colour) can be of inclusion, change and removal of concepts (views), or recording of comments

    Use of Agile Practices in Start-ups

    No full text
    Context. Software start-ups have shown their ability to develop and launch in- novative software products and services. Small, motivated teams and uncertain project scope makes start-ups good candidates for adopting Agile practices. Objective. We explore how start-ups use Agile practices and what effects can be associated with the use of those practices. Method. We use a case survey to analyze 84 start-up cases and 56 Agile prac- tices. We apply statistical methods to test for statistically significant associa- tions between the use of Agile practices, team, and product factors. Results. Our results suggest that backlog, version control, refactoring, and user stories are the most frequently reported practices. We identify 22 associations between the use of Agile practices, team, and product factors. The use of Agile practices is associated with effects on source code and overall product quality. A teams’ positive or negative attitude towards best engineering practices is a significant indicator for either adoption or rejection of certain Agile practices. To explore the relationships in our findings, we set forth a number of propositions that can be investigated by future research. Conclusions. We conclude that start-ups use Agile practices, however without following any specific methodology. We identify the opportunity for more fine- grained studies into the adoption and effects of individual Agile practices. Start- up practitioners could benefit from Agile practices in terms of better overall quality, tighter control over team performance and resource utilization

    Use of Agile Practices in Start-ups

    No full text
    Context. Software start-ups have shown their ability to develop and launch in- novative software products and services. Small, motivated teams and uncertain project scope makes start-ups good candidates for adopting Agile practices. Objective. We explore how start-ups use Agile practices and what effects can be associated with the use of those practices. Method. We use a case survey to analyze 84 start-up cases and 56 Agile prac- tices. We apply statistical methods to test for statistically significant associa- tions between the use of Agile practices, team, and product factors. Results. Our results suggest that backlog, version control, refactoring, and user stories are the most frequently reported practices. We identify 22 associations between the use of Agile practices, team, and product factors. The use of Agile practices is associated with effects on source code and overall product quality. A teams’ positive or negative attitude towards best engineering practices is a significant indicator for either adoption or rejection of certain Agile practices. To explore the relationships in our findings, we set forth a number of propositions that can be investigated by future research. Conclusions. We conclude that start-ups use Agile practices, however without following any specific methodology. We identify the opportunity for more fine- grained studies into the adoption and effects of individual Agile practices. Start- up practitioners could benefit from Agile practices in terms of better overall quality, tighter control over team performance and resource utilization

    A progression model of software engineering goals, challenges, and practices in start-ups

    No full text
    Abstract Context: Software start-ups are emerging as suppliers of innovation and software-intensive products. However, traditional software engineering practices are not evaluated in the context, nor adopted to goals and challenges of start-ups. As a result, there is insufficient support for software engineering in the start-up context. Objective: We aim to collect data related to engineering goals, challenges, and practices in start-up companies to ascertain trends and patterns characterizing engineering work in start-ups. Such data allows researchers to understand better how goals and challenges are related to practices. This understanding can then inform future studies aimed at designing solutions addressing those goals and challenges. Besides, these trends and patterns can be useful for practitioners to make more informed decisions in their engineering practice. Method: We use a case survey method to gather first-hand, in-depth experiences from a large sample of software start-ups. We use open coding and cross-case analysis to describe and identify patterns, and corroborate the findings with statistical analysis. Results: We analyze 84 start-up cases and identify 16 goals, 9 challenges, and 16 engineering practices that are common among start- ups. We have mapped these goals, challenges, and practices to start-up life-cycle stages (inception, stabilization, growth, and maturity). Thus, creating the progression model guiding software engineering efforts in start-ups. Conclusions: We conclude that start-ups to a large extent face the same challenges and use the same practices as established companies. However, the primary software engineering challenge in start-ups is to evolve multiple process areas at once, with a little margin for serious errors

    Use of agile practices in start-up companies

    No full text
    Abstract Context: Software start-ups have shown their ability to develop and launch innovative software products and services. Small, motivated teams and uncertain project scope makes start-ups good candidates for adopting Agile practices. Objective: We explore how start-ups use Agile practices and what effects can be associated with the use of those practices. Method: We use a case survey to analyze 84 start-up cases and 56 Agile practices. We apply statistical methods to test for statistically significant associations between the use of Agile practices, team, and product factors. Results: Our results suggest that development of the backlog, use of version control, code refactoring, and development of user stories are the most frequently reported practices. We identify 22 associations between the use of Agile practices, team, and product factors. The use of Agile practices is associated with effects on source code and overall product quality. A teams’ positive or negative attitude towards best engineering practices is a significant indicator for either adoption or rejection of certain Agile practices. To explore the relationships in our findings, we set forth a number of propositions that can be investigated in future research. Conclusions: We conclude that start-ups use Agile practices, however without following any specific methodology. We identify the opportunity for more fine-grained studies into the adoption and effects of individual Agile practices. Start-up practitioners could benefit from Agile practices in terms of better overall quality, tighter control over team performance, and resource utilization

    Exploration of technical debt in start-ups

    No full text
    Abstract Context: Software start-ups are young companies aiming to build and market software-intensive products fast with little resources. Aiming to accelerate time-to-market, start-ups often opt for ad-hoc engineering practices, make shortcuts in product engineering, and accumulate technical debt. Objective: In this paper we explore to what extent precedents, dimensions and outcomes associated with technical debt are prevalent in start-ups. Method: We apply a case survey method to identify aspects of technical debt and contextual information characterizing the engineering context in start-ups. Results: By analyzing responses from 86 start-up cases we found that start-ups accumulate most technical debt in the testing dimension, despite attempts to automate testing. Furthermore, we found that start-up team size and experience is a leading precedent for accumulating technical debt: larger teams face more challenges in keeping the debt under control. Conclusions: This study highlights the necessity to monitor levels of technical debt and to preemptively introduce practices to keep the debt under control. Adding more people to an already difficult to maintain product could amplify other precedents, such as resource shortages, communication issues and negatively affect decisions pertaining to the use of good engineering practices

    An anatomy of requirements engineering in software startups using multi-vocal literature and case survey

    No full text
    Abstract Context: Software startups aim to develop innovative products, grow rapidly, and thus become important in the development of economy and jobs. Requirements engineering (RE) is a key process area in software development, but its effects on software startups are unclear. Objective: The main objective of this study was to explore how RE (elicitation, documentation, prioritization and validation) is used in software startups. Method: A multi-vocal literature review (MLR) was used to find scientific and gray literature. In addition, a case survey was employed to gather empirical data to reach this study’s objective. Results: In the MLR, 36 primary articles were selected out of 28,643 articles. In the case survey, 80 respondents provided information about software startup cases across the globe. Data analysis revealed that during RE processes, internal sources (e.g., for source), analyses of similar products (e.g., elicitation), uses of informal notes (e.g., for documentation), values to customers, products and stakeholders (e.g., for prioritization) and internal reviews/prototypes (e.g., for validation) were the most used techniques. Conclusion: After an analysis of primary literature, it was concluded that research on this topic is still in early stages and more systematic research is needed. Furthermore, few topics were suggested for future research
    corecore