Write an essay using the following as a guideline for your writing. Remember writing style and referencing (Harvard Style references)competencies are critical. *Identify the challenges inherent in each phase of the software life cycle: requirements, specification, analysis, design, implementation, testing, and maintenance *Critically evaluate the various tools used during the software development process in terms of their purpose and effectiveness in the process *Use the scientific literature effectively and make discriminating use of resources to examine/critique the various tools available