We aim to use software engineering best practices to support rapid and safe delivery of high-quality software.
- We aim to focus on the growth and professional development of our software developers
- We aim to motivate individuals by empowering them to choose their own objectives and key results
- We aim to ensure individuals have the time to learn new things
- We aim to ensure individuals understand their role and responsibilities
- We aim to ensure individuals at all levels receive the support they need
- We aim to structure our support in line with the corporate performance management process and our own quarterly objective setting cycle
As in all professions, we expect that as developers rise through the ranks their focus should shift from individual work to a whole-team approach.
To clarify individual roles and their responsibilities we have set out a simple representation of this continuous professional development and how we expect it to manifest in terms of NHSUK software development activities:
ROLE TITLE | Developer (bands 6 & 7) | Senior Developer (band 8a) | Principal Engineer (band 8b) | Development & Test Manager (band 8c) |
---|---|---|---|---|
FOCUS | SELF | SINGLE TEAM | MULTIPLE TEAMS | ALL TEAMS |
CODE | Feature Development | System Design, Feature Development, and Documentation | Engineering Quality Framework | |
LEADERSHIP and AUTONOMY | Quality Time | SDMT Operational Planning | Strategy Implementation and Lean Improvement Projects | Vision and Strategy |
GROWING THE TEAM | Pairing | Mentoring | Coaching | Delegating |
DUTY OF CARE | Buddying | Line Management | Line Management | Line Management |
FINANCE | Payments to Contractors | Overall budget |
The responsibility matrix below shows pay bands across the top and areas of responsibility down the side. The new responsibilities acquired at each role are therefore set out in a columnar fashion. We expect developers to prioritise activities in their own column in favour of activities in preceeding columns.
In order to help developers carry out these responsibilities we have set out some guidance about standard tools and methods to employ. We would like to take this opportunity to explain what benefits you should expect you to realise as well as any potential problems to be aware of.
We have recommended that:
- Principal Engineers focus on ensuring compliance with the Engineering Quality Framework (EQF)
- Senior Developers focus on system design, leading feature development, and documentation
- More junior developers focus on the usual feature development activities
Expected benefits to delivery team work:
- Standardised software engineering practices in line with the EQF will help NHSUK meet our strategic targets as identified on the Software Quality Dashboards
- Better designed and documented systems will enable all team members to contribute towards rapidly and safely delivering high-quality software
- We will realise the considerable potential of all our developers
Possible impact on delivery team work:
- Delivery teams will no longer be able to rely on a single individual to carry out the bulk of a team's work
- Therefore progress may initially slow down while work is shared more evenly and other developers get up to speed
- However, we anticipate compensating gains in the long run through better utilisation of all developers
We have recommended that:
- Principal Engineers focus on and are responsible for significant pieces of work delivering benefits across multiple/all teams
- Senior Developers are responsible for escalating team issues to SDMT for advice and support where appropriate
- More junior developers will choose their own objectives and key results in line with strategic priorities, and will work towards these as part of their Quality Time
Expected benefits to delivery team work:
- A coordinated approach to large-scale change will minimise disruption while maximising effect
- Senior Developers will provide stronger front-line technical leadership
- Empowered developers will happier, will deliver higher quality work, and will tend to the health of our underlying platforms in concert with feature development activities
Possible impact on delivery team work:
- There will be a reduction in time developers spend on feature development
- Therefore it may seem that teams are delivering more slowly
- However, we anticipate compensating gains from increased motivation and reduced tech debt
We have recommended that:
- Principal Engineers provide coaching support to Senior Developers
- Senior Developers provide deliberate mentoring support to more junior developers
- Developers should pair with other team members (including non-technical SMEs) where this would be productive
Expected benefits to delivery team work:
- Senior Developers will be better able to provide technical leadership within delivery teams
- Developers' technical knowledge and skills will improve so that the team becomes more flexible and resilient
- Collaboration on tickets will lead to higher quality work and increased team cohesion (including across professional boundaries)
Possible impact on delivery team work:
- There will be a reduction in time developers spend working alone on tickets
- Therefore it may seem that less work is being accomplished
- However, we anticipate compensating gains from reduced re-work, reduced handover times, increased team knowledge of the code/product, and a more collaborative team spirit
We have recommended that:
- Developers meet with their line managers on the first day of each new sprint
- Line managers ensure their reports have appropriately challenging work to undertake
- Line managers help their reports record their achievements and plan for upcoming challenges
- Line managers help their reports choose their own Objectives & Key Results (OKRs)
- Line managers ensure their reports are using Quality Time to make continuous progress towards their OKRs
Expected benefits to delivery team work:
- Line Managers will be made aware of what work reports are doing within delivery teams
- Line Managers will be able to support delivery teams through holding their reports accountable
- Line Managers will be able to support delivery teams by ensuring developers are optimally engaged and challenged
- Line Managers will be able to support their reports in overcoming challenges they would rather not discuss with the team
Possible impact on delivery team work:
- All developers will spend time meeting with their reports and their own line managers on the same day
- Therefore the first day of a sprint may seem to get off to a slow start
- However, we anticipate compensating gains through better utilisation of team members and a higher completion rate of tickets