Agile Delivery Principles
VALUE - Are we building the right thing?
- we test ideas cheaply, early and frequently with users
- we design solutions collaboratively with stakeholders
- we engage all users i.e. customers, staff, back office, finance, tech architecture
- we relatively size work and split large work items down, with the ultimate aim of making all work items a similar size
- demand always outstrips supply so we use value/size matrix or wsjf to support selection policies
- we ensure costs and time constraints are understood and in place
- we identify the correct stakeholders to work with and engage them regularly
- we ensure a clear vision is understood by the team and stakeholders
- we ensure robust and transparent selection policies are in place to simplify prioritisation
- we ensure the business case is clear and the Why? of the work is understood
- we showcase our work frequently to stakeholders to seek feedback
- we roadmap our delivery plan to understand, dependencies, past deliverables, in progress work items, planning horizon and future
QUALITY - Are we building it right?
- we seek feedback from multiple stakeholders frequently to ensure it is built right
- we capture requirements at the appropriate level of detail in order to not commit too early
- we automate deployment and deploy frequently
- we defer decisions to the last responsible moment
- we develop, test and merge code frequently
- we use a test driven approach
- we build and evolve an automated test framework / verification stack
- we ensure a clear and pragmatic test strategy is in place and evolved
- we use Continuous Integration & Continuous Deployment
- we evolve our architecture and refactor where necessary
- we do a small amount of discovery up front to reduce delivery and technical risk
- we manage technical debt
- we capture and track trade off decisions
- we operate a zero defect release process
FLOW - Are we building it fast enough?
- we use an empirical approach to planning
- we ensure goals are clearly defined, articulated and understood
- we keep a clean backlog and take care of regular housekeeping
- we ensure good quality planning data is available and used
- we automate everything where possible
- flow efficiency – we look for work waiting in queues and ensure good flow is maintained
- we identify, visualise and focus on unblocking blocked work
- we establish real-time progress reporting
- we report on progress frequently ensuring our stakeholders have an early opportunity to adapt if necessary
- we use cycle time analysis to look for sources of variation
- we monitor work item ‘mileage’ and use this insight to avoid future delays
- we look at cycle time to date for all work items to increase flow efficiency
PEOPLE - Are we building it safely?
- we limit work at the portfolio level
- we reflect and adapt frequently
- we show our respect for others with a bi-weekly team appreciation game
- we limit the amount of work we have in progress
- we ask “what can we finish next?”, not “what can we start next?”
- we visualise all blockers, impediments and drag factors
- we aim to build team capabilities, not stick to job roles – swarm!
- we visualise all work on the office walls to promote transparency
- we avoid decisions based on emotion, opinion and hearsay
- we base decisions on evidence, data and fact, backed up by intuition and experience
- we prefer face to face conversations
- we ensure priorities are clear and unambiguous using selection columns
- we track our work in Jira to provide data insights
- we pragmatically adapt our practices and processes regularly
- we focus on the work, not each other, during daily stand-ups – walk the wall right to left