I need to learn embedded software and hardware development life cycle and use it to create electronic hardware/software component. I need to approach this job systematically. For example, what is the order of tasks. Probably requirements should be gathered and documented. Then, what's next and so on? At what stage should we select hardware components.