==== Software Developer ==== The revised standard does not use the words Competencies any more. These are now referred to as duties but are essentially the same thing. === Competency Checklist === ^ Duty ^ Description^ Able to do? ^When? ^ Complete ^ |1 | Take and interpret given software development requirements to estimate personal time and effort required to deliver the work product to enable accurate costs to be established| | | |2| Break software development activities down into logical units of work to enable sequencing and ensure the best possible structuring of activities to deliver a high-quality product right first time| | | | |3| Report progress accurately throughout the development life cycle stages to ensure adequate audit trails of key work steps such that the organisation can demonstrate how the product has been created for quality and commercial purposes| | | | |4| Identify and report any impediments to software development activities and propose practical solutions| | | | |5| Convert customer requirements into technical requirements, both functional and non-functional to ensure that customers' expectations are accurately reflected in the software products developed| | | | |6| Identify and select the most appropriate technical solution, taking into consideration coding best practice and appropriate quality standards| | | | |7| Communicate software development solutions to a range of internal or external stakeholders to ensure clear understanding of requirements and how they have been met or adjusted| | | | |8| Consider security implications of proposed design to ensure that security considerations are built in from inception and throughout the development process| | | | |9| Write logical and maintainable software solutions to meet the design and organisational coding standards (software development lifecycle -implementation/build phase)| | | | |10| Apply security best practice to the software solution throughout the software development life cycle| | | | |11| Create and maintain appropriate project documentation to explain the development process and resources used| | | | |12| Apply appropriate recovery techniques to ensure the software solution being developed is not lost (software development lifecycle -implementation/build phase)| | | | |13| Implement appropriate change control to ensure that software development changes may be tracked, and quality risks managed| | | | |14| Undertake unit testing of solutions, with appropriate levels of test code coverage, to identify and, where necessary, resolve issues (software development lifecycle -implementation/build phase)| | | | |15| Perform testing of the software solution to ensure a high-quality output (software development lifecycle -test phase)| | | | |16| Deliver a suitably documented deployable solution to the customer for their use (software development lifecycle -deploy phase)| | | | |17| Support delivery of one or more software deployment phases, such as trials and final release, to ensure that software developer outcomes are deployed correctly| | | | |18| Provide support during software trials and after final release to ensure that customers understand and can correctly apply the product, and risks are mitigated| | | | |19| Respond appropriately to given Service Level Agreements (SLA) to ensure that time and resources invested in software development activity are allocated appropriately to deliver good customer service| | | | |20| Apply suitable 'bug fix', appropriate to the severity and priority of the software development issue identified| | | | |21| Practice continuous self-learning to keep up to date with technological developments to enhance relevant skills and take responsibility for own professional development| | | |