How do you manage conflicting requirements between hardware limitations and software feature requests?