  Context: Software startups are an essential source of innovation and
software-intensive products. The need to understand product development in
startups and to provide relevant support are highlighted in software research.
While state-of-the-art literature reveals how startups develop their software,
the reasons why they adopt these activities are underexplored. Objective: This
study investigates the tactics behind software engineering (SE) activities by
analyzing key engineering events during startup journeys. We explore how
entrepreneurial mindsets may be associated with SE knowledge areas and with
each startup case. Method: Our theoretical foundation is based on causation and
effectuation models. We conducted semi-structured interviews with 40 software
startups. We used two-round open coding and thematic analysis to describe and
identify entrepreneurial software development patterns. Additionally, we
calculated an effectuation index for each startup case. Results: We identified
621 events merged into 32 codes of entrepreneurial logic in SE from the sample.
We found a systemic occurrence of the logic in all areas of SE activities.
Minimum Viable Product (MVP), Technical Debt (TD), and Customer Involvement
(CI) tend to be associated with effectual logic, while testing activities at
different levels are associated with causal logic. The effectuation index
revealed that startups are either effectuation-driven or mixed-logics-driven.
Conclusions: Software startups fall into two types that differentiate between
how traditional SE approaches may apply to them. Effectuation seems the most
relevant and essential model for explaining and developing suitable SE
practices for software startups.
