You know Maslow's hierarchy of needs?
Code:
Maslow's Hierarchy of Needs
HIGHER LEVEL NEEDS
Self-Actualization
Esteem
Love/belonging
Safety
Physiological
FUNDAMENTAL NEEDS
Maslow posited that the most basic level of needs must be met until an individual can really focus on higher level fulfillment. This idea has been met with a healthy does of criticism, but I think there is an appropriate FRC metaphor to be made:
Code:
Jared's Hierarchy of FRC Needs for Repeatable, On-Field Success
HIGHER LEVEL NEEDS
Software
Mechanical design and construction
Construction fundamentals (batteries, wiring, pneumatics, fasteners, etc.)
Sponsorship, equipment, and space
Mentorship and team organization
FUNDAMENTAL NEEDS
Basically, you are only as good as the foundation beneath you. Even if you excel at a higher level in the hierarchy, a deficiency in a lower level will ultimately compromise the effectiveness of the robot and team in competition. Teams that are proficient at all of these things can do pretty well; teams that excel at all of them can do excellently. Teams who write excellent software but can't build a mechanism to save their life are usually not going to fare well on the field in FRC.
TL;DR: Software in robotics is hard because not only is it hard to create good software - doing so is also heavily influenced by every other aspect of a team and robot.
There are very few instances of a robot or team where I've thought, "The only thing holding them back is software quality", so I have to agree with Blake that for the majority of teams, the software meets the requirements (though everything can always be better).