This document discusses challenges in robotics software development. It describes the heterogeneity of different robots with varying sensors, actuators, sizes, and computing capabilities. Developing software for multiple robot types poses difficulties with different drivers, protocols, and low-level algorithms. The document also outlines other challenges including resource constraints, hardware and software integration, changing conditions, and safety. It proposes a methodology for safe test-driven development of robotics software.