  Context: On top of the inherent challenges startup software companies face
applying proper software engineering practices, the non-deterministic nature of
machine learning techniques makes it even more difficult for machine learning
(ML) startups.
  Objective: Therefore, the objective of our study is to understand the whole
picture of software engineering practices followed by ML startups and identify
additional needs.
  Method: To achieve our goal, we conducted a systematic literature review
study on 37 papers published in the last 21 years. We selected papers on both
general software startups and ML startups. We collected data to understand
software engineering (SE) practices in five phases of the software development
life-cycle: requirement engineering, design, development, quality assurance,
and deployment.
  Results: We find some interesting differences in software engineering
practices in ML startups and general software startups. The data management and
model learning phases are the most prominent among them.
  Conclusion: While ML startups face many similar challenges to general
software startups, the additional difficulties of using stochastic ML models
require different strategies in using software engineering practices to produce
high-quality products.
