analyst-progression

Analysts

-- Analysis--

Requirements Gathering

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Be aware of Accessibility and x's Accessibility Principles and Guidelines and follow these when creating requirements Be aware of different types of users and their needs when using the products we create 2 - Follow Work with product owners, design and developers to define and identify accessibility requirements Be aware of different types of assistive technologies and how a user interacts with our products using these Ensure requirements and user stories represent users with disabilities 3 - Practice Understand what a good requirement/user story looks like Be able to use assistive technologies such as screenreaders to ensure requirements are met 4 - Drive/Lead Be able to write good user stories and acceptance criteria, using techniques such as BDD where appropriate Able to breakdown requirements into appropriate sizes Critically interrogate requirements to ensure completeness and roundedness Understand how to work with 3rd parties to ensure products we consume are accessible 5 - Evangelise Drive requirements sessions with stakeholders. Be able to run greenfield requirements sessions as well as unpicking technically complex subjects. Drive focus on value through eliciting effective requirements and context

Clear Scope Definition and Ownership

Defining the project scope entails adopting a clear vision and an agreement on the outcomes of the project.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Understand the key drivers and goals for delivering the project Understand the scope of the work needed from your team to successfully deliver the project Understand the need to estimate the effort required to deliver the scope of the project Appreciate that assumptions may be made during the estimation process and that when these assumptions change, so may the estimates 2 - Follow I follow others who practice this skill to help hone my practice of this skill. I don't often practice this skill independently 3 - Practice Create and maintain good working relationships with the identified stakeholders/workstream leads Understand their key drivers and goals for delivering the project (BA) Capture a clear and measurable set of strategic goals and target benefits for the project, linking them to the department's Vision, Objectives, Goals and Strategies (BA) Capture a clear, traceable, end to end scope for the project; including ownership, priorities, both IN and OUT of scope statements (BA) Own the scope of the project throughout its delivery; working with the Project Manager (PM) to capture and reflect updates via controlled document iterations (TA) Understand, document and communicate to your team the scope of the work needed from them to successfully deliver the project (TA) Participate in the estimation of work to be delivered by your team (TA) Clearly communicate any assumptions made in arriving at the estimate 4 - Drive/Lead Where relevant challenge Head of Department (HoD) level stakeholders in order to fully understand: Their drivers and goals for delivering the project Their strategic goals and target benefits Identify and resolve any points of conflict that the scope may have with other in-flight deliveries Mentor, guide and support more junior members of the team on the production of their documents Delegate responsibilities and communicate desired outcome to empower people to come up with solutions (BA) Capture clear, traceable scope statements for any wider x and/or third-party teams (BA) Own the scope of the project throughout; representing your department's interests with wider x and/or third-party teams and ensuring your stakeholders strategic goals and target benefits are delivered (TA) Understand and communicate to all teams in your department the scope of the work needed to successfully deliver the project (TA) Lead the estimation activity for your team (TA) Coach junior analysts in best practises for estimation of development effort for a project 5 - Evangelise Where relevant challenge Director level stakeholders in order to fully understand: Their drivers and strategic goals for delivering the project; alongside all other initiatives they have on the department's roadmap Their target benefits for this programme/project and any other related initiatives; and how these support realisation of their assigned KPIs Identify and resolve any points of conflict that the scope may have with other in-flight or planned deliveries Develop, test and share new processes or templates to improve the elicitation/capturing of requirements (BA) Capture clear, traceable scope statements for the strategic deliveries assigned; incorporating your department's, wider x or third-party teams (BA) Own the strategic scope of the programme/project throughout; representing your department's strategic interests with all teams involved and ensure your director level stakeholders strategic goals and target benefits are delivered (TA) Own the strategic scope of the programme/project throughout; representing your department's strategic interests with all teams involved and ensure your director level stakeholders strategic goals and target benefits are delivered Mentor, guide and support more junior members of the team on the production of their documents (TA) Actively contribute to improving the accuracy, clarity and efficiency of your department’s estimation process (TA) Participate in high-level estimation activity to produce indicative costs for a programme of work (TA) Coach junior analysts in best practises for estimating development effort for a programme of work

Customer Journey Definition and Ownership

The customer journey is the complete sum of experiences that customers go through when interacting with your company and brand. Instead of looking at just a part of a transaction or experience, the customer journey documents the full experience of being a customer.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Be aware of the customer journeys to be delivered for the project Be aware of Accessibility and x's Accessibility Principles and Guidelines and how these relate to our customers Be aware of different types of users and their needs when using the products we create 2 - Follow Understanding of different disabilities that can affect a customer's experience when accessing a product, such as Visual, Auditory, Motor and Cognitive Work with product owners, design and developers to define and identify accessibility requirements Awareness of different types of assistive technologies and how a customer interacts with our products using these Ensure requirements and user stories represent customers with disabilities 3 - Practice Use personas to communicate user needs to stakeholders and define user stories that consider all disability groups Be able to use assistive technologies such as screenreaders to ensure requirements are met (BA) Create and maintain a single page context diagram to diagrammatically represent the scope of the project; showing the end to end business process flow and contact points with key business teams and system entities (BA) Optionally create lower level customer journey diagrams to drill down into further detail; giving more detail around the interactions and outcomes relevant to the journey (BA) Optionally link the customer journeys to other material; e.g. technical high level architecture (HLA), Creative Team digital wireframes etc (BA) Own all customer journeys throughout the delivery; working with the PM to capture and reflect updates via controlled document iterations (TA) Create lower level customer journey diagrams to drill down into further detail; giving more detail around the interactions and outcomes relevant to the journey (TA) Link the customer journeys and API changes to other material; e.g. technical high level architecture (HLA), sequence diagrams, Creative Team digital wireframes etc 4 - Drive/Lead Where relevant challenge HoD level stakeholders in order to fully understand: The target journey; understand the full justification for the journey and point where it doesn't appear to be the best fit for the delivery; make recommendations for change where necessary Points of integration with journeys within wider x and/or third-party teams Identify and resolve any points of conflict that the journeys may have with other existing or planned initiatives within the same area Understand how to work with 3rd parties to ensure products we consume are accessible Mentor, guide and support more junior members of the team on the production of their customer journey documents and in defining and identifying accessibility requirements (BA) Own all customer journeys throughout the delivery; representing your department's interests with wider x and/or third-party teams and ensuring the journeys agreed will deliver your stakeholders strategic goals and target benefits (TA) Own all customer journeys throughout the delivery; representing your interests with wider x and/or third-party teams and ensuring the journeys agreed will deliver your stakeholders strategic goals and target benefits 5 - Evangelise Where relevant challenge Director level stakeholders in order to fully understand: The target journey for this delivery, in line with all existing and/or planned initiatives within their area; make recommendations for change where necessary How this journey will best support realisation of the overall strategic goals for their team, but also those of other impacted teams within your department Identify and resolve any points of conflict that the journeys may have with other existing or planned initiatives within your department, wider x and/or third parties Mentor, guide and support more junior members of the team on the production of their customer journey documents and in defining and identifying accessibility requirements (BA) Own the strategic customer journeys throughout the delivery; representing your department's strategic interests with all teams involved and ensure your director level stakeholders strategic goals and target benefits are delivered (TA) Own the strategic customer journeys throughout the delivery; representing your department's strategic interests with all teams involved and ensure your director level stakeholders strategic goals and target benefits are delivered

Business Requirements Definition and Ownership

Business requirements in the context of software engineering or the software development life cycle, is the concept of eliciting and documenting business requirements of business users such as customers, employees, and vendors early in the development cycle of a system to guide the design of the future system.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Be aware of the business requirements for the project Understand who owns the business requirements for the project 2 - Follow Capture, define and document clear unambiguous business or technical requirements for a feature under the supervision of an analyst Have an awareness of when requirements have dependencies on other teams and or departments Use techniques such as MoSCoW and user story mapping to prioritise requirements and features. Work with relevant stakeholder or their representative to propose phases of work (TA) Work closely with the Product Owner and Technical Analyst to ensure the technical requirements meet the business need (TA) Identify risks/issues to the delivery of a feature with the assistance of your team (TA) Support analysts in owning technical requirements for a delivery 3 - Practice Capture, define and document clear unambiguous business or technical requirements for the delivery Own the documentation of information gathered using methods that can be understood by others (e.g. reports, charts, workflow diagrams) in a clear and concise manner Highlight when requirements have external dependencies, including dependancies on other teams / departments or in-flight projects / initiatives Ensure any relevant risks / issues and their impacts are understood and documented with the PM or their representative, escalating where required (BA) Work closely with the stakeholders to ensure they understand and agree with the requirements captured; using various methods to elicitate facilitate the requirements, e.g. interviews, workshops, summary packs etc. (BA) Ensure requirements are captured for all areas of the business relevant to the delivery; linking the requirements to the strategic goals, scope statements and where relevant process points in the customer journeys (BA) Assign clear and where possible singlular business requirement owners (BA) Own all business requirements throughout the delivery; working with the Project Manager to capture changes and reflect updates via controlled document iterations (TA) Able to facilitate and prepare for technical discussions with the support of Senior Analysts and PE's, ensuring all involved are able to participate and understand the end goal (TA) Work closely with the Product Owner to ensure the technical requirements meet the business need (TA) Own all technical requirements throughout the delivery; working with the Scrum Master to ensure changes in requirements are reflected into the technical backlog (TA) Identify and document dependencies needed to deliver features; ensuring all relevant stakeholders are informed, with the support of Senior Analysts and Scrum Masters where appropriate 4 - Drive/Lead Capture, define and document clear unambiguous business or technical requirements for the points of integration in the delivery to wider x and/or third parties Work closely with wider x and/or third-party HoD level stakeholders to ensure they understand and agree with the requirements captured; using various methods to elicitate gather the requirements, documenting in a manner agreed to suitable for the consuming team(s) Identify and resolve any points of conflict that the requirements may have with other existing or planned initiatives within the same area Mentor, guide and support more junior members of the team on the production of their business or technical requirements (BA) Own all business requirements throughout the delivery; representing your department's interests with wider x and/or third-party teams ensuring the requirements agreed will deliver your stakeholders strategic goals and target benefits (TA) Able to facilitate and prepare for complex technical discussions, ensuring all involved are able to participate and understand the end goal (TA) Own all technical requirements throughout the delivery; representing your department's interests with wider x and/or third-party teams ensuring the requirements agreed will be implemented in line with our engineering principles. (TA) Identify and document dependencies needed to deliver features; ensuring all relevant stakeholders are informed 5 - Evangelise Capture, define and document clear unambiguous strategic business or technical requirements for the most complex/technical programmes/projects within the team Identify and resolve any points of conflict that the requirements may have with other existing or planned initiatives on your department's roadmap and make recommendations for change where necessary Mentor, guide and support more junior members of the team on the production of their business or technical requirements (BA) Work closely with Director level stakeholders to ensure they understand, support and agree with the requirements captured; using various methods to elicit the requirements, documenting them in a manner suitable for consumption by senior execs (BA) Own the strategic business requirements throughout the delivery; representing your department's strategic interests with all teams involved and ensure your director level stakeholders strategic goals and target benefits are delivered (TA) Work closely with Technology stakeholders (Technical Product Managers, Solution Architects, Principal Engineers) to ensure solution design and implementation of requirements aligns with the Technology strategy (TA) Own the strategic technical requirements throughout the delivery; representing your department's strategic interests with all teams involved and ensure your director level stakeholders strategic goals and target benefits are delivered

Translation of Business to Functional / System Requirements

Functional or system requirements define the "hows" that meet the business requirements, that themselves meet the objectives (i.e. provide value) of the programme or project. The system requirements can also incorporate non-functional requirements such as performance or security aspects.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Be aware of the functional requirements for the project Understand the need to translate business requirements to functional and to technical requirements 2 - Follow Own the business or technical requirements for a feature or features within a project; operating as a single point of contact for your team where interpretation of the requirement is needed Effectively translate business needs to technical requirements (TA) Work closely with the Technical Analyst to document technical requirements for the delivery of the business requirement (TA) Attend workshops (e.g. pre-planning / project kick-offs) to present the technical requirements to technical delivery teams (TA) Have an awareness of when requirements have dependencies on downstream teams 3 - Practice Act as the owner of the business or technical requirements throughout the delivery; operating as a single point of contact for resolution of all queries where interpretation of the requirement is needed (BA) Attend and where relevant facilitate cross functional workshops to present the business requirements for the delivery to technical delivery teams in order to support the translation of requirement from business into functional requirement (BA) Where a translation results in a change to the original business requirement ensure this is communicated back to the business stakeholders and reflected in an updated controlled document iteration (TA) Document the technical requirements for the delivery of the business requirement; create and update technical artefacts to support the requirements (TA) Facilitate workshops (e.g. pre-planning / project kick-offs) to present and explain the technical requirements to technical delivery teams (TA) Highlight when requirements have dependencies on downstream teams; a contract between teams may have to be agreed upfront 4 - Drive/Lead Where relevant challenge technical DM level stakeholders in order to ensure: The translation of the business requirement into functional definition does not alter or dilute realisation of the strategic goals or target benefits being sought by the business stakeholders (BA) Identify all points of ongoing contention and own the resolution of these with both the business and technical stakeholders; escalating with the support of the PM where appropriate (BA) Liaise with wider x and/or third-party technical delivery teams and ensure they also accurately interpret the business to functional definition of requirement (BA) Mentor, guide and support more junior members of the team on how to achieve accurate business to functional requirements translation (TA) Liaise with wider x and/or third-party technical delivery teams and ensure they also accurately interpret the business to functional definition of requirement (TA) Mentor, guide and support more junior members of the team on how to achieve accurate functional to technical requirements translation (TA) Consult with architects and product to influence requirements and architecture designs ensuring they align to the product vision and engineering strategy 5 - Evangelise Where relevant challenge technical Director level stakeholders in order to ensure: The overall translation of the technical solution, including functional requirement definition, does not alter or dilute realisation of the strategic goals or target benefits for the delivery or any other impacted or dependant delivery Mentor, guide and support more junior members of the team on how to achieve the best technical solution that will deliver realisation of the strategic goals and target benefits (BA) Identify and clearly define any ongoing points of contention, including the impact it may have on realisation of the goals or benefits of the delivery or any other initiatives on your department's roadmap; escalating with the PM where appropriate (TA) Identify and clearly define any ongoing points of contention, including the impact it may have on realisation of the goals or benefits of the delivery or any other initiatives on your department's roadmap; escalating with the PM where appropriate

Operating Model Definition and Ownership

For Business Analysts - not applicable for Technical Analysts. An operating model is a visual representation of how an organisation delivers value to its internal and external customers. Operating models, which may also be called value-chain maps, are created to help employees visualise and understand the role each part of an organisation plays in meeting the needs of other components.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Be aware of your department's operating model Understand the need to translate business requirements to functional requirements 2 - Follow I follow others who practice this skill to help hone my practice of this skill. I don't often practice this skill independently 3 - Practice Able to define the additions / changes required to the department's Operating Model as a result of a delivery; with guidance / support as required Pick up on all Operating Model aspects of your change using the POLDAT model as a guide; Process, Organisation and Location, Data, Applications, Technology Ensure that the changes you identify and make to the existing Operating Model are in line with those defined within the technical high level architecture (HLA) Own the changes you are making to the Operating Model throughout the delivery 4 - Drive/Lead Able to define the additions / changes required to the Operating Model where points of integration exist with the wider x Operating Model and/or those of third parties involved in the delivery Identify any points of conflict and/or contention the changes may have with other in-flight or planned deliveries in the same area and working with the PM resolve these in agreement with the stakeholders Own the overall changes you are making to the Operating Model, including those points of integration with wider x and/or third parties, and ensure all HoD level stakeholders are aware of them and any impact they may have to their area Mentor, guide and support more junior members of the team on how to make changes to the Operating Model 5 - Evangelise Able to define the additions / changes required to the Operating Model for strategic deliveries, where the change will affect multiple areas of the model and/or need to interact with other dependant in-flight or planned deliveries Able to define additions / changes required to the Operating Model as a result of the inclusion of new territories, teams and/or technical platforms Identify any points of conflict and/or contention the changes may have with other in-flight or planned deliveries across the department's roadmap or those within wider x and/or dependant third parties and own the resolution of them with support from the PM if required Own the overall changes you are making to the Operating Model and all relevant Director level stakeholders are aware of them and any impact they may have to their area Mentor, guide and support more junior members of the team on how to make changes to the Operating Model including where either wider x and/or third-party teams may be involved

Analytical Thinking

Analytical thinking is a critical component of visual thinking that gives one the ability to solve problems quickly and effectively. It involves a methodical step-by-step approach to thinking that allows you to break down complex problems into single and manageable components.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Understand the need to analyse an issue, challenge or requirement in order to provide a recommendation for action. 2 - Follow I follow others who practice this skill to help hone my practice of this skill. I don't often practice this skill independently 3 - Practice Be comfortable being inquisitive mind; always seeking to understand, clarify and ask why until something makes sense Build analysis processes that team members can follow to ensure consistent ways of working Come up with new ways to solve complex problems and complete projects and tasks Able to communicate based on facts and logic, while ensuring all opinions and inputs are considered respectfully Have the ability to understand a high level of detail about your delivery, and be able to provide updates on specific elements when required 4 - Drive/Lead Able to interpret a concept; simplifying in order to not be overwhelmed initially but then rapidly building into a deep and complete model of the delivery To be able to review and critique business cases; questioning whether the case appears to align with the proposed concept and then structuring your feedback to the case owners Able to work with abstract problems to propose plausible solutions Solve complex problems within your area, coordinating with others outside of it if needed 5 - Evangelise Able to interpret multiple concepts, aligning them into the existing overall business model and see any points of contention/conflict that may require resolution Able to consider both in-flight and planned initiatives on the roadmap raising recommendations for change to Director level stakeholders early in order to minimise the impact Solve complex problems within and beyond your area, and support others to do so too

Operational Knowledge

Knowledge and understanding of the operations and activities of the areas within the larger business, analysing the impact of changes on those areas and influencing the structure and processes for those operations.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Basic understanding of your department's organisation structure and responsibilities. 2 - Follow I follow others who practice this skill to help hone my practice of this skill. I don't often practice this skill independently 3 - Practice Basic understanding of the main operational areas: 1. Technical Operations (systems surveillance, capacity management, incident management etc) 2. Customer Operations (customer contact centres, marketing operations, incident management, supply chain, compliance management etc) 3. Data Operations (data acquisition, transformation and management etc) 4. Business Operations (brand communications, acquisition marketing, customer marketing, social and PR etc) Have an awareness of how incidents are raised in Spark and how you can support during an on going incident Making every effort to gain a better understanding of these areas by leveraging the knowledge of your operational colleagues. 4 - Drive/Lead Good understanding of the operational areas within the business, how they function, and what the likely impacts of a change will be. 5 - Evangelise Very good understanding of the operational areas within the business, how they function, and what the likely impacts of a change will be. Giving advice on and influencing the way operations are optimised and structured.

Delivery Methods and Qualifications

Understanding working methods within your area of operation, improving the efficiency of the business by adopting, developing and promoting those methods and acquiring qualifications that demonstrate your ability to do so has been independently assessed.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Basic knowledge of SCRUM and Agile methodologies. (BA) Good understanding of project delivery methodologies (e.g. PRINCE). (BA) Good understanding of the Change Delivery Framework, and able to apply it appropriately to projects. (BA) Optionally an ISEB BCS BA Diploma. 2 - Follow I follow others who practice this skill to help hone my practice of this skill. I don't often practice this skill independently 3 - Practice Good understanding of SCRUM and Agile methodologies, and how best to integrate them into your overall delivery approach. (BA) Good working, evidence-based understanding of programme delivery methodologies, e.g. PRINCE, MSP, Agile etc. (BA) Able to flex your department's Change Delivery Framework to best fit the given delivery situation. (BA) Able to advise more junior members of the team on applying the Change Delivery Framework. (TA) Able to describe your team's delivery method and how it will fit with a given delivery situation (TA) Able to advise more junior members of the team on applying SCRUM and Agile methodologies 4 - Drive/Lead Able to articulate and champion the application of appropriate delivery frameworks. Intuitive sense of when shortcuts might be appropriate, and when they aren't, and the confidence to adapt accordingly. Able to challenge and improve the way more junior members of the team are delivering change. Contributing to the continuous improvement of the department's Change Delivery Framework. 5 - Evangelise I Influence and evangelise both within the company and publicly. I Identify the next generation of experts and foster them.

-- Management --

Budgets and Control

Ensuring a piece of work is delivered as per the estimated funding.

Level Attainment Critera (non-exhaustive) 0 - None None 1 - Understand Know about financial processes. 2 - Follow Know constraints of financial processes. Understand impacts of timesheets/cost attribution of own work 3 - Practice Understand impacts of timesheets/cost attribution of team's work. 4 - Drive/Lead Control a budget. 5 - Evangelise Hold meaningful budgetary meetings and drive appropriate outcomes Report appropriate financials

Business Case Creation

Building formal business cases for the development of new work.

Level Attainment Critera (non-exhaustive) 0 - None None 1 - Understand Know what a business case is 2 - Follow Understands where to find business cases for the work that is underway. 3 - Practice Know how my work relates to meeting business case objectives 4 - Drive/Lead Create a business case 5 - Evangelise Course correct activities to protect business case. Track business cases. Communicate and obtain decisions to keep business case front and centre.

Planning, Scheduling and Time Management

Formal planning, scheduling and management of time to meet objectives.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Know that a plan is needed. 2 - Follow Know what the triple constraint is. 3 - Practice Be able to follow a planning process. Understand the impacts of changes on wider plan/scope/cost 4 - Drive/Lead Complete planning activities appropriately for a project. Monitor plans and highlight scope, time and quality risks/issues 5 - Evangelise Drive resolution to planning/scope/time/quality risks and issues with appropriate stakeholders.

Decision Making

Skills in providing balanced and considered answers to complex business decisions.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Appreciates that many people need to be involved in any decision making, and ensures those people are notified before taking action. 2 - Follow Understands the decision making process including escalations, and follows it at all times. 3 - Practice Have an awareness of decisions that impact my team. 4 - Drive/Lead Highlight decisions that are required Direct discussions and focus to appropriate areas to gain decisions 5 - Evangelise Be able to lead a team. Understand various leadership methods, including servant leadership. Engage the team and drive team spirit. Make and escalate decisions as appropriate.

Prioritisation & Resource Management

Priorisation of tasks to meet objectives and ensuring that the correct resources are available.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Appreciates that there is a limited pool of resource and that prioritisation is critical to progress. 2 - Follow Understand that these tasks are needed. 3 - Practice Follow planning conversations. 4 - Drive/Lead Plan resources for a piece of work. Enable prioritisation decisions. 5 - Evangelise Drive prioritisation discussions with stakeholders. Plan resource utilsation across your area

Stakeholder Management

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Appreciates that for each piece of work there is a set of stakeholders that need to be considered for all actions. 2 - Follow Know who your stakeholders are 3 - Practice Build key relationships with stakeholders 4 - Drive/Lead Identify stakeholders and key relationships. Communicate effectively with stakeholders in your area of work 5 - Evangelise Foster strong relationships with stakeholders of all levels. Engage stakeholders and build trusting relationships

Risk Management

Management of formal project or system risks,

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Appreciates that projects and systems have risks and may be asked to provide a mitigation. 2 - Follow Know what a formal risk is and understands the different elements. 3 - Practice Know how to plan to reduce impact/probability of risks and issues 4 - Drive/Lead Plan for risk identification, mitigation/avoidance etc. Communicate activity around risk and issue management 5 - Evangelise Drive resolution of risks and issues. Raise the profile of key risks and issues Seek appropriate approval on significant risks and issues

-- Engineering --

Primary Programming Language (OO or FP)

Overall knowledge of the language; its style, ecosystem, strengths and weaknesses.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand I know the basics of what this is and why it's important but have not had much practical experience. 2 - Follow Be able to read and understand code written by yourself and others, with the ability to and make simple changes Understand the ecosystem (package managers, task runners, development tools etc) Have some familiarity with debugging tools 3 - Practice Able to work independently, maybe working on own project Refactor existing code to improve its design Actively research for new ideas and technologies Understand the different paradigms of the language (e.g OOP, FP) 4 - Drive/Lead Ability to focus on Non Functional Aspects (e.g performance , resiliency etc.) Mentor others learning the language Understand the relative strengths and weaknesses of the language and which design patterns do/do not work well. Write idiomatic and clean code Good knowledge of 3rd party tools - what to use and why. Evaluate “up and coming” frameworks and tools for fit. 5 - Evangelise I Influence and evangelise both within the company and publicly. I Identify the next generation of experts and foster them.

Secondary Programming Language (OO or FP)

Overall knowledge of the language; its style, ecosystem, strengths and weaknesses.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand I know the basics of what this is and why it's important but have not had much practical experience. 2 - Follow Be able to read and understand code written by yourself and others, with the ability to and make simple changes Understand the ecosystem (package managers, task runners, development tools etc) Have some familiarity with debugging tools 3 - Practice Able to work independently, maybe working on own project Refactor existing code to improve its design Actively research for new ideas and technologies Understand the different paradigms of the language (e.g OOP, FP) 4 - Drive/Lead Ability to focus on Non Functional Aspects (e.g performance , resiliency etc.) Mentor others learning the language Understand the relative strengths and weaknesses of the language and which design patterns do/do not work well. Write idiomatic and clean code Good knowledge of 3rd party tools - what to use and why. Evaluate “up and coming” frameworks and tools for fit. 5 - Evangelise I Influence and evangelise both within the company and publicly. I Identify the next generation of experts and foster them.

Testing

Testing the right things in the right way using the relevant tools. Test suite usefulness, readability, robustness and speed.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand I know the basics of what this is and why it's important but have not had much practical experience. 2 - Follow Ability to work on test automation following the conventions in place Able to write tests first and understand the value it gives Be aware of various levels of testing (e.g. unit, integration, end-to-end, performance) Be aware of different tools for users with different accessibility needs and how these are used Use an accessibility auditing tool to test front-end products 3 - Practice Understand the test pyramid, and which testing frameworks to use for each level of testing Demonstrate use of tests to drive programmatic interface design Keep test suite up-to-date, remove redundant & irrelevant tests Keep test run fast to provide quick feedback Be able to use accessibility tools such as screenreaders, voice-control, magnification settings in testing front-end products 4 - Drive/Lead Know what to test, and the value of not testing. Always consider non-functional testing (e.g. security, resiliency, performance) Mentor teams and individuals Able to choose the right level of testing for a component (e.g mocking vs true integration) 5 - Evangelise I Influence and evangelise both within the company and publicly. I Identify the next generation of experts and foster them.

Good Coding Practice (& Design Patterns/SOLID principles)

Writing good, clean, maintainable code that has clarity of purpose and produces products that are usable by all... and keeping it that way.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Recognise coding standards in a project and follow them Descriptive names: Method, variable, classes, etc. Awareness of Accessibility and x's Accessibility Principles and Guidelines Awareness of different types of assistive technologies 2 - Follow Write readable code and constantly improves the code base Some basic application of SOLID, DRY and YAGNI (You ain't gonna need it) Documentation of how to build and deploy the project, as well as public interfaces (including APIs) Ensure Accessibility is considered as part of the development of our products and services Use Accessibility tooling to help understand and measure our products Follow x's accessibility principles and guidelines when creating front-end products 3 - Practice Write code that can be debugged and supported in production (e.g use of logging) Follow of good practice and coding standards throughout the whole project and being able to code review against it Constantly apply refactoring on small scale as part of development SOLID, DRY, YAGNI and KISS (Keep it Simple) (Front-end) Understand and practice appropriate use of semantic elements/views and across products and services (Front-end) Understand and implement supportive technology (e.g. ARIA/roles/traits) to enhance experience and bring semantic meaning where appropriate (Front-end) Use appropriate tooling (e.g. screen readers) and audit tools to develop and test accessible products and services 4 - Drive/Lead Ability to define coding standards Understand the “why’s” of SOLID and spot edge cases where SOLID not appropriate Ability to identify areas in code that benefit from extensive refactoring Find simple solutions to complex problems Can contribute to code outside of the team or area (e.g. I-OSS) 5 - Evangelise I Influence and evangelise both within the company and publicly. I Identify the next generation of experts and foster them.

Technical Decision Making

The ability to make well-reasoned technical decisions taking into account all intrinsic & extrinsic factors.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand 2 - Follow Contribute to discussions about decision making Knows when a decision needs to be made and consults team members Suggesting ideas in brainstorming sessions 3 - Practice Has ability to, and sometimes does, make technical decisions independently Hold meetings, lead technical discussions for the team Use appropriate language for the audience when presenting Challenge the status quo 4 - Drive/Lead Influence technical direction based on planned future work Be aware of the broader impact of the local technical decisions Guide others rather than decide yourself Being able to compare languages/products and choosing the correct one to get the job done Consider the “people factor” 5 - Evangelise

Technology Strategy

Working towards, contributing to and devising the technology strategy.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand 2 - Follow Know the wider company and department strategy, taking that into consideration when introducing local changes 3 - Practice Hold a conversation challenging wider strategy Regularly solicit to help orient the technical strategy of the area Understand how the strategy decisions affect the technical decisions (including resource availability) Give direction according to strategy 4 - Drive/Lead Understand the wider business & market Understand how the business strategy drives the technology strategy Contribute to the vision for the wider company’s technology strategy Understand implications of technical strategy (cost/funding, timescales, problems, etc.) 5 - Evangelise

Software Design

Designing systems that conform to the relevant architecture, evolving that architecture to support changing business needs.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand [Code] Understands how the code is organised and can find their way around it [Systems] Knowledge of the components that form the system being developed, and what is their purpose 2 - Follow [Code] Influences how the code is structured [Systems] Able to make changes to the current architecture and introduce new components that fit within it [Code/Systems] Understands when the architecture needs to change to meet requirements 3 - Practice [Code] Use previous experience to drive the structure of a new component [Systems] Able to design interactions between components in the local estate, considering both business and technical requirements [Company] Take local decisions that fit within the broader company architecture, and agree interfaces with the clients Able to come up with a phased approach for large-scale changes, and prioritise them based on value 4 - Drive/Lead [Company] Drive changes that affect the broader x architecture Understand when sacrifices need to be made to achieve future goals Able to construct a longer term plan to move to a better architecture in small pieces of work 5 - Evangelise I Influence and evangelise both within the company and publicly. I Identify the next generation of experts and foster them.

Debugging of Production Issues

Investigating and getting down to the root cause of issues using monitoring, logging, application insight and other tools.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand I know the basics of what this is and why it's important but have not had much practical experience. 2 - Follow Know where to find the tools for production monitoring and debugging. Know where the support systems are. Understand the incident management process. Understand the deployment process. Know how and when a hotfix should be implemented. Assist debugging a production issue. 3 - Practice Identify and understand the difference between HPI, MPI and P3 incidents, to appropriately classify and fix the issue. Understand the architecture of production systems. Understand how a request from a customer gets to your application and the infrastructure it passes through. Study analytics data debug and test solution. Ability to stop the same issue from happening, identify a root cause. 4 - Drive/Lead Improve the visibility of monitoring, reporting and analytics of production applications and infrastructure. Ensuring the correct data is captured to be able to adequately debug issues and propose improvements. Identify potential design and infrastructure flaws and drive the fix. Investigate and identify new tools to log and monitor issues that aid in debugging. Encourage the team to take responsibility for identify and fixing issues. 5 - Evangelise I Influence and evangelise both within the company and publicly. I Identify the next generation of experts and foster them.

Performance Optimisation & Scalability

The building, measuring and optimisation of systems performance.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Appreciates that it takes special attention, time and cost for performance and optimisation within systems. 2 - Follow Know the performance goals and targets of the application/infrastructure. Understand the different techniques and tools to track application performance. Understand the difference between horizontal and vertical scaling. 3 - Practice Know what to look for to benchmark applications and improve performance. Identify potential performance problems and optimise, balancing critical optimisation vs. too early optimisation. Use performance optimisation tools to identify and fix issues. Use RUM data to baseline and track improvement after fixing issues. Know the difference between planned and automatic scaling 4 - Drive/Lead Coach others in performance optimisation and the impact it can have on customers and business. Draw attention when performance is suboptimal based on industry standards and lead improvements. Implement scaling strategies to cope with known and unknown demand. 5 - Evangelise I Influence and evangelise both within the company and publicly. I Identify the next generation of experts and foster them.

Continuous Deployment

The streamlining and automation of integration, build and deployment; both rolling forward and reverting changes.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand I know the basics of what this is and why it's important but have not had much practical experience. 2 - Follow Know how to deliver artifacts to production. Understand different deployment methods such as blue/green and canary. 3 - Practice Setup CD workflows. Build once and deploy often. Automation is a 1st class citizen. Improve CD flows, ensure customer impact is always minimal in the event of an error. Understand how to validate a deployment. 4 - Drive/Lead Define a CD approach. Improve the visibility and monitoring of CD flows and deployments. Research improvements to CD flows. Ensure test coverage is excellent to reduce bugs getting to production. Automation is a 1st class concern for deployment and rollbacks. Use deployment validation to implement rollback. 5 - Evangelise I Influence and evangelise both within the company and publicly. I Identify the next generation of experts and foster them.

Security

The build and maintenance of systems supporting our security requirements.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand I know the basics of what this is and why it's important but have not had much practical experience. 2 - Follow Develop systems that follow current security practices. Awareness of OWASP and how it aids development Have a working knowledge of the team's security practices. 3 - Practice Engage with external teams & fix any issues (i.e. pen-testing). Fix security issues. Help the business understand the impact of a specific flaw. Cross reference against known OWASP vulnerabilities. 4 - Drive/Lead Define & deliver architectures that address security. Decide overall security strategy. Redesigns to eliminate classes of vulnerability . Use OWASP or other tooling. Automate scanning for vulnerabilities. 5 - Evangelise I Influence and evangelise both within the company and publicly. I Identify the next generation of experts and foster them.

Resilience & Reliability

The build, maintenance and optimisation of systems operational reliability.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand I know the basics of what this is and why it's important but have not had much practical experience. 2 - Follow Understand the concepts of Reliability and Resilience and what they mean in relation to the projects worked on 3 - Practice Understand all the resilience scenarios of a platform Understand how resilient the platform is and what can be improved in this aspect Understand resiliency patterns in place Follow the team’s strategy for improving resilience 4 - Drive/Lead Automate testing for resilience scenarios Find gaps in resilience scenario and build a plan to improve it Design strategies for improving the reliability of the platform using industry standard patterns Design systems with reliability and resilience in mind 5 - Evangelise I Influence and evangelise both within the company and publicly. I Identify the next generation of experts and foster them.

Monitoring & Analytics

The implementation and use of monitoring, logging and tracing tools accoring to risk, need and usefulness in order to promote rich insight into the behaviour and performance of our systems.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Awareness of monitoring dashboards. Awareness of analytics and how they can be used to influence business and technical decisions. 2 - Follow Use monitoring tools to set up alerts. Use analytics to aid in technical or product decisions. Integrate with monitoring and analytic tools. Ensure monitoring is visible and actively updated. 3 - Practice Identify key transactions to alert from Understand what to measure and alert on when shipping new features Analyse the data output from monitoring and analytics to understand anomalies. Push analytic evidence back into dev efforts Configure monitoring and analytics tools 4 - Drive/Lead Determine and assess relevant monitoring and analytic tools Understand how to reduce noise in monitoring 5 - Evangelise I Influence and evangelise both within the company and publicly. I Identify the next generation of experts and foster them.

-- Customer --

Customer Focus and Value

As a x employee who understands customer focus and value, I will...

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Know who your customer is Know what customer value is Be aware of the different types of users and their needs when using the products we create Be aware of Accessibility and x's Accessibility Principles and Guidelines and how these releate to our customers 2 - Follow Be aware of the customer impact of the changes I am making to my application(s) Have an understanding of different disabilities that can affect a customer's experience when accessing a product, such as Visual, Auditory, Motor and Cognitive 3 - Practice Understand the impact of happy path and unhappy path scenarios Be actively engaged as to how customers are using my application(s) Question requirements where I believe that customer value is not being considered Propose changes to my application(s) that benefit the customer Be aware of different types of assistive technologies and how a customer interacts with our products using these 4 - Drive/Lead Distinguish between customer value and business value Decide when to focus on business value and when to focus on customer value Partner with product stakeholders to define KPIs 5 - Evangelise Connect strategic product goals to technology delivery Influence product strategy through innovative use of technology Identify and share patterns from wider industry

Business Value

As a developer who...business value, I will...

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Know the company I am working for and the department I am working in Know what business value means 2 - Follow Be aware of the business impact of the changes I am making to my application(s) 3 - Practice Consider how to optimise your solution to obtain the most business value Challenge requirements where business value is not being considered 4 - Drive/Lead Be aware of the impact of change on business value through shared KPIs Decide when to focus on business value and when to focus on customer value Manage stakeholder expectations where business value is concerned Lead the team in getting a requirement to marketing quickly due to business benefit 5 - Evangelise Partner with business stakeholders to define KPIs

Strategy

As a developer who...strategy, I will...

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Know the company has a strategy Have a basic understanding of what the company strategy is 2 - Follow Know what the strategy is for the team and department I am working in Help the team implement its objectives and goals based on the business strategy 3 - Practice Implement the team strategy in technical decision making Contribute to the direction of the department strategy 4 - Drive/Lead Drive the team in developing objectives and goals based on the business strategy for the team and department Connect strategic business goals to technology strategy 5 - Evangelise Influence business strategy through innovative use of technology

-- People Culture --

Contribute to Agile Practices

Helping to maintain and grow the agility of x as both a change-delivery organisation and as a business.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Show a keenness to appreciate and learn more 2 - Follow Know the key values and principles of agile Recognise how agile benefits the delivery of work 3 - Practice Live out the key agile values and principles Take the initiative to help the team use key agile principles in the development of software, e.g. regular releases, effective collaboration and communication, iterative development, understands and helps define MVPs 4 - Drive/Lead An agile thinker and leader within the wider team Works with stakeholders to break down work and focus on delivering value 5 - Evangelise Contributes regularly to the agile community, via organising events or speaking Speaks at relevant internal and external conferences

Domain Knowledge

As a developer who...domain knowledge, I will...

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Appreciates that a knowledge of the domain is critical for productivity. 2 - Follow Demonstrates a keenness to expand knowledge of your domain 3 - Practice Pro-actively researches the domain to increase knowledge Able to explain domain to stakeholders and colleagues (in both technical and non-technical ways) Striving to develop a greater understanding as to how my domain fits within x 4 - Drive/Lead Able to share and explain x’s wider domain to stakeholders and peers in technical and non-technical ways Able to share this knowledge via communities and events with peers 5 - Evangelise Breaks down barriers and silos in sharing domain knowledge

Technical Leadership

As a x employee who exhibits technical leadership, I will...

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand I know the basics of what this is and why it's important but have not had much practical experience. 2 - Follow Be able to help new members of the team understand the application(s) related to them 3 - Practice Be able to mentor and guide other members of the team on work and technical tasks (e.g. by pair programming) Suggest technical improvements to the application(s) I work on (e.g. new technologies, accessibility improvements, app improvements etc…) Be able to influence how work is technically developed in the team Contributing to technical innovation Attends and contributes to wider departmental technical meetings Involved in relevant communities (E.g: Accessibility Champions network) 4 - Drive/Lead Organises and leads wider departmental technical meetings Able to influence and have a say in the technical direction of a department or area Helps to define team norms and practices Promote technical innovation Contributes heavily to relevant communities 5 - Evangelise Speaks at relevant internal and external conferences Leads the technical direction for a department or area

Growing the Team

As a developer who...growing the team, I will...

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand I know the basics of what this is and why it's important but have not had much practical experience. 2 - Follow Be a positive team member supporting a great working culture Assist in reviewing developer CVs for recruitment Support team events and workshops, such as brown bags, talks, knowledge sharing etc 3 - Practice Support my colleagues in all things team related (e.g. help facilitate retros, planning, stand up) Be able to listen to your peers and work together to propose solutions Comfortable assessing potential candidates during recruitment by means of pairing exercises and interviews 4 - Drive/Lead Mentors fellow developers in technical and non-technical skills Identifies opportunities to share and collaborate outside of the team Works with colleagues to set up objectives and goals Recognise skill gaps in team and drives career development and/or recruitment accordingly Identifies career growth opportunities for colleagues both in and outside the team 5 - Evangelise I Influence and evangelise both within the company and publicly. I Identify the next generation of experts and foster them.

Communication

As a x employee who exhibits good communication, I will...

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Understand why communication is important to the success of a team Understand the need to cater for different user needs when communicating 2 - Follow Explain to fellow colleagues what I have done and what I will be doing Feedback and contribute to retrospectives and planning sessions 3 - Practice Represent my team in technical, stakeholder or business meetings Be able to clearly feedback to my team after attending meetings Build relationships and communicate proactively with colleagues outside of your immediate team to avoid silos and improve collaboration Know how to communicate in an inclusive and accessible way. E.g. making use of recordings and transcripts in meetings, using tools to check the accessibility of documents and emails prior to disseminating 4 - Drive/Lead Facilitate meetings in order to get a clear outcome Knows when to arrange meetings or workshops with fellow colleagues to resolve a problem or gain a common understanding Writes blog posts 5 - Evangelise Present to Senior Leadership External blog posts Communicate complex ideas/problems into simple, easily understandable ones

Identifying Opportunities for Improvement

Identifying what is required for both yourself and others around you to grow as professionals.

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Understand the benefits of continually looking for ways to improve activities, processes and best practices. 2 - Follow Can identify weaknesses in own skills and create a plan to improve (knows when to seek help) When your team has identified an opportunity for improvement, implement that new practise into your activities and provide feed back on its effectiveness. 3 - Practice Make suggestions of improvements Identifies videos and conferences to share with team Can present a case to the business to improve a technical limitation on a product Review your own and your team’s activities for opportunities for improvement, define the potential benefits and recommend to your team or line manager. Measure the effectiveness of the changes implemented. After implementation and measurement, share these improvements and communicate the benefits to other teams in your department. 4 - Drive/Lead Provide guidance to others in ways to improve technically Follows through with suggestions for improvements Know the bigger picture so can easily identify areas which can be improved Orchestrates the continuous improvements of ways of working to the wider audience Can identify tribes weaknesses and create a plan to improve Review your team’s activities with others within your department for opportunities for improvement, define the potential benefits, identify and work with allies to drive through the changes. Coordinate the measurement of the effectiveness of the changes implemented. Engage other departments to understand their processes and best practices and assess the potential benefit of bringing those elements into your own department. 5 - Evangelise Review how your department works with other departments, discuss with stakeholders from those departments and your own stakeholders to identify and prioritise improvements, create a plan of action and deliver. Develop the measurement of the effectiveness of the improvements

Community

As a developer who...Software Engineering communities, I will...

Level Attainment Critera (non-exhaustive) 0 - None 1 - Understand Be aware of x’s communities Understand the benefits of communities Be aware of how to join and get involved in a community 2 - Follow Attend community events 3 - Practice Contribute to community discussions and events Contribute to running a small community or local version of a community 4 - Drive/Lead Help lead a community Sets goals and objectives for a community Leads community discussions 5 - Evangelise Create new communities Drives community attendance

Last updated