This document discusses the challenges of developing complex software for evolving wireless markets. As wireless devices take on more capabilities, the software required to power them grows exponentially more complex. However, software development techniques have not improved at the same rate as hardware. The document proposes some approaches to help address this software challenge, including using structured specifications to capture requirements, applying functional coverage techniques from hardware verification to software testing, and developing an open-source real-time operating system (RTOS) equivalent to Linux for embedded systems.