Most of the final software development happened toward the end of the term, after the robot was constructed and final decisions were made about the electronics. To accommodate this in the future, software designs should focus on the independent pieces which do not interface with other electro-mechanical systems, to allow those systems to come into place before the interface code is written.