Real-Time Embedded Software Development: Strategies for Success and Design Consideration