Practice Guides
- Ideation Practices
- Discovery Practices
- Visioning
- Root cause analysis
- Generative research
- Human centred design (HCD)
- Hypothesis thinking
- Value definition
- Value Prioritisation
- Validation Practices
- Generative research
- Backlog refinement
- Mobilisation
- Lean experimentation
- Prototyping
- Data driven decision making (DDDM)
- Value based prioritisation
- Delivery Practices
- Visualisation
- Value Prioritisation
- Backlog refinement
- Estimation
- Incremental Delivery
- CI/CD Continuous Integration / Continuous Deployment
- Source Control
- Automated Testing
- Release Management
- Run Practices
Ideation Practices
Ideation Practices
Visioning
❓What is it
- Visioning involves imagining and describing the desired state or outcome in vivid detail, providing a sense of direction and purpose.
- Visioning is a powerful tool for setting goals, aligning efforts, and inspiring people to work together towards a shared aspiration, or North Star.
- The outcome of this practice is a concise description known as a vision statement.
🔑 Key Benefits / Why is this important
- It is difficult and challenging for most people to quickly grasp the concept and the objective without involving them in an explanatory dialogue. A vision statement acts as a North Star, for anyone involved in the Ideation phase and beyond as to what the future should look like when the idea is successfully realised.
- This North Star acts as a focal point of a common goal the team can believe in and align their work to.
🛠 Techniques supporting this practice
- Ideation workshop
- 6 thinking hats
- Product Vision Board (template)
Ideation Practices
Brainstorming
❓What is it
- Brainstorming is a creative and collaborative exercise used to generate a large number of ideas for a specific problem or topic. It typically involves a group of people coming together to share their thoughts and suggestions in a free-flowing and non-judgmental manner. The goal of brainstorming is to foster creativity, encourage innovative thinking, and explore various possibilities without any constraints or criticism.
- Brainstorming can take various forms, including in-person group sessions, virtual meetings, or even individual sessions where individuals jot down ideas on their own before sharing them with others.
- Here are 7 simple rules to help you excel in this practice:
- Be visual ; Go for quantity over quality ; Defer judgment ; Encourage wild ideas ; Stay focused on the topic ; Build on the ideas of others ; One conversation at a time
🔑 Key Benefits / Why is this important
- Brainstorming as a collaborative exercise encourages diverse thinking, generating new interpretations, approaches or even new idea candidates relating to the focused topic. This practice delivers optimal results with cross functional and diverse participants.
🛠 Techniques supporting this practice
- Ideation workshop
- 6 thinking hats
Ideation Practices
Value definition
❓What is it
- This practice sits at the very core of modern ways of working. Define value incorrectly, and all subsequent work delivered will not optimise valuable outcomes. What is perceived as valuable often does not transpire to be true.
- Value can be highly subjective. This is because it is inherently highly subjective, reflecting the functional, emotional and social needs of end users, and the current objectives of a directorate or business sponsor.
- For example for one user profile the most valuable feature on their smart phone may be access to social media, while for another group digital payment wallets and banking maybe their most valuable feature.
- Value can be highly transient - What is valuable changes over time, reflecting the changing circumstances and jobs to be done of end users and the environment that they interact with.
- For example a business sponsor’s key focus for the current quarter is reducing operational costs by increasing greater automation efficiencies in running a service. The next quarter the most valuable objective may have changed to improved end user satisfaction through higher first time self service resolutions to simple requests via digital channel.
- The key types of value to be considered are: financial, reputation, user satisfaction, growth and operational integrity.
🔑 Key Benefits / Why is this important
- Increasing confidence and articulation of where value lies, increases the likelihood of delivering timely valuable outcomes that solve genuine user needs and demonstrably contributes to one or more organisation objectives
- Defined value is the foundation to enabling product managers to undertake meaningful prioritisation of backlogs
🛠 Techniques supporting this practice
- OKR mapping
- Value proposition framework
- Idea capture form (template to structure thinking)
Discovery Practices
Discovery Practices
Visioning
❓What is it
- Visioning involves imagining and describing the desired state or outcome in vivid detail, providing a sense of direction and purpose.
- Visioning is a powerful tool for setting goals, aligning efforts, and inspiring people to work together towards a shared aspiration, or North Star.
- The outcome of this practice is a concise description known as a vision statement.
🔑 Key Benefits / Why is this important
- It is difficult and challenging for most people to quickly grasp the concept and the objective without involving them in an explanatory dialogue. A vision statement acts as a North Star, for anyone involved in the Ideation phase and beyond as to what the future should look like when the idea is successfully realised.
- This North Star acts as a focal point of a common goal the team can believe in and align their work to.
🛠 Techniques supporting this practice
- Product Vision Board (template)
Discovery Practices
Root cause analysis
❓What is it
- This analytical technique is intended to get to the root cause of a problem by asking ‘why’ or ‘what caused this several times.
- Each question seeks a deeper understanding until the asker discovers the root issue.
🔑 Key Benefits / Why is this important
- Industry research has multiple case studies of organisations misinterpreting what is problem is actually worth solving. Symptoms associated to the problem are far easier to observe and capture. Addressing the symptom typically results in lower value outcomes.
- Focused on using the power of ‘why’. It does not mean that the research facts presented are incorrect, but a user's perception of the problem may not accurately describe the true underlying problem.
- This practice directly supports a key principle of outcome based ways of working, by forcing the team to spend more time exploring the problem before rushing to think about potential solutions.
🛠 Techniques supporting this practice
- 5 Whys
- Problem definition
- User interviews
Discovery Practices
Generative research
❓What is it
- Generative research sometimes referred to as discovery or exploratory research, is defined as “a method of research that helps researchers develop a deeper understanding of users in order to find opportunities for solutions or innovation.” Contrary to evaluative research, which is about evaluating our design and our product by using usability testing methods, the goal of generative research is to generate information about end users and explore the problem space related to our product.
- You are expected to produce a research plan, execute the research and deliver a summary findings identifying the users, their needs and their pain points. This is typically summarised in a research findings report which then is the key input to inform the discovery outcomes.
🔑 Key Benefits / Why is this important
- This practice enhances existing understanding by gathering rich and detailed information about users' behaviours, attitudes, motivations, and preferences. It enables an equal focus across functional, emotional and social needs of a user, while quantitative methods, such as Google Analytics only surfaces functional needs.
- It directly supports a key principle of outcome based ways of working, by forcing the team to spend more time exploring the problem before rushing to think about potential solutions.
🛠 Techniques supporting this practice
- User interviews
- Usability testing
- Empathy mapping
- Task oriented research
Discovery Practices
Human centred design (HCD)
❓What is it
- It is an iterative design practice that places the human user at the center of the design and development process. It emphasizes empathy, rapid prototyping, and user feedback to create solutions that are tailored to the needs, preferences, and contexts of the end users.
- The guiding elements are
- Holistic Approach: HCD takes into account the complete user experience, not just the product or service itself.
- Collaborative and Interdisciplinary: HCD thrives on collaboration and often involves multidisciplinary teams.
- Iterative Process: Rather than a linear progression, HCD is iterative, often requiring multiple cycles to arrive at the best solution.
- User Feedback: Constant feedback from users is integral. This feedback loop ensures that designs are always in tune with user needs and contexts.
- Focus on Experience and Emotion: Beyond just usability, HCD looks at the emotional responses and overall experiences of users.
- HCD always starts by understanding and empathizing with the end-users. Designers immerse themselves in the user's environment to gain a deep understanding of their needs, challenges, and contexts from both a functional and emotional lens.
- Insights gathered during the empathy phase help in defining the real problems and needs of the users. This involves re-framing the initial problem in terms of user needs, and are transformed into potential opportunities with associated hypothesis.
🔑 Key Benefits / Why is this important
- Positioning the user at the heart of discovery increases the likelihood that any subsequent solution ideas and opportunities will be solving valuable problems for users, and not just providing an additional list of features and functions that the team think are worthwhile.
🛠 Techniques supporting this practice
- Empathy mapping
- User journey mapping
- User interviews
- Observational study
- Surveys
Discovery Practices
Hypothesis thinking
❓What is it
- Hypothesis thinking ensures that decisions are objective, deliberate, data-driven, and focused on continuous learning and improvement.
- This practice enables a team to turn assumptions into a testable format - a hypothesis. Its fundamental premise is that most beliefs or points of view gathered as part of ideation or discovery are opinions, however well formed.
- By using a formal construct to articulate a belief, most of the subjectivity surrounding decisions is removed by capturing data from the associated experiment.
- The typical steps in this practice are: Formulating the Hypothesis: Once the problem/assumtpion is identified, the product manager formulates a clear hypothesis followed by the experiment design. This could involve creating a prototype, introducing a new feature behind a feature flag, or rolling out a minimal viable product (MVP).
🔑 Key Benefits / Why is this important
- Risk Reduction by focusing on small bet experiments informed by the hypothesis, before converging on a chosen solution with larger investment and effort
- Data-Driven Decision emphasizes evidence over intuition or mere guesswork, ensuring decisions are grounded in actual user behaviour and feedback.
- Aligns well with agile methodologies, emphasizing quick iterations, feedback loops, and adaptability.
- Accelerated learning to validate key assumptions. Even invalidated hypotheses provide valuable insights. By understanding what doesn't work, or what users don't want, teams can refine their understanding of their users and the market.
🛠 Techniques supporting this practice
- Problem definition
- Value prop canvas
- Hypothesis statements (template)
Discovery Practices
Value definition
❓What is it
- This practice sits at the very core of modern ways of working. Define value incorrectly, and all subsequent work delivered will not optimise valuable outcomes. What is perceived as valuable often does not transpire to be true.
- Value can be highly subjective. This is because it is inherently highly subjective, reflecting the functional, emotional and social needs of end users, and the current objectives of a directorate or business sponsor.
- For example for one user profile the most valuable feature on their smart phone may be access to social media, while for another group digital payment wallets and banking maybe their most valuable feature.
- Value can be highly transient - What is valuable changes over time, reflecting the changing circumstances and jobs to be done of end users and the environment that they interact with.
- For example a business sponsor’s key focus for the current quarter is reducing operational costs by increasing greater automation efficiencies in running a service. The next quarter the most valuable objective may have changed to improved end user satisfaction through higher first time self service resolutions to simple requests via digital channel.
- The key types of value to be considered are: financial, reputation, user satisfaction, growth and operational integrity.
🔑 Key Benefits / Why is this important
- Increasing confidence and articulation of where value lies, increases the likelihood of delivering timely valuable outcomes that solve genuine user needs and demonstrably contributes to one or more organisation objectives
- Defined value is the foundation to enabling product managers to undertake meaningful prioritisation of backlogs
🛠 Techniques supporting this practice
- OKR mapping
- Value proposition framework
- Idea capture form (template to structure thinking)
Discovery Practices
Value Prioritisation
❓What is it
- Discovery activity will surface a number of problem/opportunity statements, and associated assumptions. For each statement and assumption a hypothesis statement should be defined and an experiment identified and defined
- Typically the effort required to run all the defined experiments outstrip the planned capacity of the resource available. Additionally some experiments may be nullified by other hypotheses being proven/disproven.
- A prioritisation activity should be taken near the end of discovery to sequence which experiments should be targeted first during the Validation phase.
- The most valuable outcomes in validation are focused on learning. Prioritisation should focus on addressing the riskiest and most impactful assumptions as early as possible in this phase, to gain the most valuable learnings, with the smallest effort expended. The product manager and service designer creates the prioritised list of experiments, and works with technology and architecture to assess feasibility and effort to execute such experiments successfully.
- This may result in some resequencing of the initial priorities to balance speed and effort of delivery with learning value.
🔑 Key Benefits / Why is this important
- Without this practice, the speed and cost to address the riskiest assumptions is increased, as the team and stakeholders fill the void of what are the best next steps with subjective opinion.
- The rigour of this practice provides a strong foundation from which to more effectively mobilise the right resources to kick off Validation
🛠 Techniques supporting this practice
- Assumption / Impact Quadrant matrix
Validation Practices
Validation Practices
Generative research
❓What is it
- Generative research sometimes referred to as discovery or exploratory research, is defined as “a method of research that helps researchers develop a deeper understanding of users in order to find opportunities for solutions or innovation.” Contrary to evaluative research, which is about evaluating our design and our product by using usability testing methods, the goal of generative research is to generate information about end users and explore the problem space related to our product.
- You are expected to produce a research plan, execute the research and deliver a summary findings identifying the users, their needs and their pain points. This is typically summarised in a research findings report which then is the key input to inform the discovery outcomes.
🔑 Key Benefits / Why is this important
- This practice enhances existing understanding by gathering rich and detailed information about users' behaviours, attitudes, motivations, and preferences. It enables an equal focus across functional, emotional and social needs of a user, while quantitative methods, such as Google Analytics only surfaces functional needs.
- It directly supports a key principle of outcome based ways of working, by forcing the team to spend more time exploring the problem before rushing to think about potential solutions.
🛠 Techniques supporting this practice
- User interviews
- Usability testing
- Empathy mapping
- Task oriented research
Validation Practices
Backlog refinement
❓What is it
- Ensures there is enough work in the backlog that is defined, understood and estimated to meet the definition of ready for the team to accept it as a candidate in an upcoming sprint.
- Refining the backlog is lead by the product manager. They identify the highest priority candidates to take forward in the next one or two iterations.
- How many items should be fully refined and ready is usually agreed within the team, recognising there is a balance to maintain between developer effort expended in refinement and delivering the current sprint goal.
- As part of refinement, product managers should regularly review the whole backlog to identify the most valuable outcomes to work on. This on going activity should also see the product manager close backlog items that are no longer relevant
- For items sitting near the top of the prioritised backlog, each item is refined by completing these activities: defining the user story including acceptance criteria, collaborative discussion with developers likely to be involved with the user story to understand its value and requirements, estimation, splitting the story if deemed too large.
🔑 Key Benefits / Why is this important
- Helps ensure that the team understands the backlog items and is ready to start work on them in the next sprint planning meeting. It leads to more efficient sprint planning sessions and helps the team maintain a steady, sustainable pace of work
🛠 Techniques supporting this practice
- Cost of delay prioritisation
- Effort / Value 2*2 matrix prioritisation
- 3Cs
- Planning poker
- User story splitting
- BDD
- User story writing
Validation Practices
Mobilisation
❓What is it
- Mobilisation is the process of assembling and preparing a team, it involves selecting the right members, defining roles, and ensuring they have the tools and knowledge to succeed from the outset.
- Team mobilisation is like setting sail; with the right crew, clear roles, and shared compass, the journey ahead becomes a collaborative adventure
- From the scope of the value proposition and identified solution options the skillsets can be identified for the cross functional team
- Before validation commences assemble the resources to establish a self empowered team and run a series of kick off events to agree the team mission and the team charter.
🔑 Key Benefits / Why is this important
- Clear role definition for all the core team members
- Optimal team composition through aligning the outcome roadmap and solution approach with required capabilities
- Establishing transparency and trust of how the team will work enables the team to create early momentum.
- Enhanced collaboration through creating a shared team charter
🛠 Techniques supporting this practice
- Team charter
Validation Practices
Lean experimentation
❓What is it
- Lean experimentation is a practice rooted in the Lean Startup methodology, popularized by Eric Ries. The approach focuses on the idea of rapidly validating key assumptions and solution ideas through a process of building, measuring, and learning. The primary goal is to minimize the amount of time and resources spent on developing features or products that may not meet the needs of the target users.
- The key characteristics to adhere to are:
- Hypothesis-Driven: Lean experimentation starts with the formulation of hypotheses about customer needs and how a product or feature will meet them.
- Minimum Viable Product (MVP): The most basic version of the product that allows the team to test their hypotheses with the least effort.
- Iterative Testing: Short, rapid cycles of experimentation allow for continual validation or invalidation of hypotheses.
- Metrics Focused: Actionable metrics are identified beforehand and can be captured accurately to gauge the experiment’s success.
- Adaptation: After the experiment, the data is analysed to take key learnings from the experiment and adapt the product backlog and associated hypotheses accordingly to prioritise the next most valuable experiment.
🔑 Key Benefits / Why is this important
- Early validation of value
- Small bets to test key assumptions
- Fast feedback on user needs
🛠 Techniques supporting this practice
- Hypothesis creation
- Test and Learn
- Lo-fi prototyping
- A/B testing
- Card sorting
- Data Analysis
Validation Practices
Prototyping
❓What is it
- Prototyping serves as a tangible or interactive representation of one or more solution options from the opportunities generated during the discovery phase. The main purpose of prototyping is to visualize how the final product will function and to test this with users. Prototyping has greatly diminished value when not tested with end users. The number of tests recommended falls in line with qualitative research numbers.
- Prototyping minimises the effort expended to validate satisfying the user needs before creating detailed UX designs and associated technical solution designs, and is a key aspect of both lean experimentation and design thinking methods.
- Enhancing a lo-fi prototype with a prototype specification helps the team and stakeholders to self-answer a number of inherent curiosities, e.g. “Under what conditions does a page element show as active or inactive?”. It removes uncertainty about how the design works and improves communication efficiency.
- Prototyping covers a range of fidelity, from paper prototypes to clickable wireframes. The approach taken is typically influenced by the product’s development stage.
🔑 Key Benefits / Why is this important
- Have a solid foundation from which to ideate towards improvements
- Direct interaction with a prototype allows users to provide immediate feedback, which is invaluable for product improvement
- Since prototypes are often low-fidelity, the cost of failure is low. This encourages experimentation and innovation at pace
- Improve time-to-market by minimizing the number of errors to correct before product release. Finding issues in UAT is far more expensive and time consuming to fix.
🛠 Techniques supporting this practice
- Lo-fi prototyping
- Test and Learn cards
Validation Practices
Data driven decision making (DDDM)
❓What is it
- Decisions are made based on the analysis and interpretation of data rather than intuition or observation alone. This product practice capitalises on the increasing volume, variety, and velocity of data available to organisations today.
- One of the challenges in applying this practice is the foundational capability to capture and measure the right metrics accurately.
- The five activities that make up this practice are:
- Data Collection
- Data Analysis
- Data Interpretation
- Visualisation
- Decision Making
🔑 Key Benefits / Why is this important
- These insights lead to more informed choices, rather than relying on gut feeling or anecdotal evidence.
- This is particularly beneficial in progressing conversations with stakeholders holding contrasting viewpoints or objectives.
- Presenting an evidenced based recommendation removes any emotional or subjective aspects to the discussion.
- Data provides a metric to measure success, failure, and progress. It gives teams the ability to set benchmarks and evaluate performance against set goals, promoting a culture of empowerment, transparency and accountability.
🛠 Techniques supporting this practice
Validation Practices
Value based prioritisation
❓What is it
- Ranking value can be highly subjective and biased. Without understanding and defining value, any prioritisation exercise will create a false sense of confidence.
- Reference the difference types of value, and identify which are more important than others. The value types are: financial, reputation, user satisfaction, growth and operational integrity. Reference known OKRs for the service or directorate to help assess the relative importance of each of these value types in conjunction with the evidenced needs of the end user. Once drafted, these should be discussed and agreed with key stakeholders involved with the service and product, and then baselined.
- In assessing user needs, there are a couple of simple
🔑 Key Benefits / Why is this important
- Optimises delivery of value as early as possible
- Creates a high degree of confidence and purpose within the team that they are working on the most valuable outcomes
- Transparent alignment
🛠 Techniques supporting this practice
- Value definition (complementary practice)
- Effort/Value 2*2 matrix prioritisation
- Cost of Delay prioritisation
Delivery Practices
Delivery Practices
Visualisation
❓What is it
- Visual Management Tools use visual aids like boards, charts, and graphs to represent work items and their status. These tools enhance transparency, track progress, and change the conversational tone into action oriented conversations.
- Good visualisation is designed to be understandable at a glance. Visual collaboration and management tools need good planning and management to be effective. 4 guiding rules are: meaningful in its purpose, accurate in what it shows, easy on eye for fast assimilation and efficient in its ongoing use by the team.
🔑 Key Benefits / Why is this important
- Human brains are designed to process images quickly - visuals can be processed 60K times faster than text
- Visual representations helps us explain complex things quickly, enabling a common understanding to be reached across a wide audience
- A well organised visual workflow board radiates information to frame where, why and what conversations with stakeholders
🛠 Techniques supporting this practice
- Kanban boards
Delivery Practices
Value Prioritisation
❓What is it
- The practice focuses on assessing and ranking features, tasks, or requirements based on their perceived value to ensure that the most valuable items are addressed first. The idea is to optimize valuable outcomes, by focusing on the needs of users, stakeholders and the organisation.
- The candidate items to be prioritised should come from a single, consistent source, the work/product backlog.
- Identify and define how value is being represented. Please see Value Definition practice for how to do this.
- Choose a technique to apply prioritisation. It is strongly recommended to either use Effort/Value or Cost of delay technique to achieve this.
🔑 Key Benefits / Why is this important
- Transparency and demonstrable rationale for how items are being considered more valuable than others in the work backlog.
🛠 Techniques supporting this practice
- Cost of delay
- Effort / Value 2*2 matrix
- OKR mapping
- Value definition (practice)
Delivery Practices
Backlog refinement
❓What is it
- Ensures there is enough work in the backlog that is defined, understood and estimated to meet the definition of ready for the team to accept it as a candidate in an upcoming sprint.
- Refining the backlog is lead by the product manager. They identify the highest priority candidates to take forward in the next one or two iterations.
- How many items should be fully refined and ready is usually agreed within the team, recognising there is a balance to maintain between developer effort expended in refinement and delivering the current sprint goal.
- As part of refinement, product managers should regularly review the whole backlog to identify the most valuable outcomes to work on. This on going activity should also see the product manager close backlog items that are no longer relevant
- For items sitting near the top of the prioritised backlog, each item is refined by completing these activities: defining the user story including acceptance criteria, collaborative discussion with developers likely to be involved with the user story to understand its value and requirements, estimation, splitting the story if deemed too large.
🔑 Key Benefits / Why is this important
- Helps ensure that the team understands the backlog items and is ready to start work on them in the next sprint planning meeting. It leads to more efficient sprint planning sessions and helps the team maintain a steady, sustainable pace of work
🛠 Techniques supporting this practice
- Cost of delay prioritisation
- Effort / Value 2*2 matrix prioritisation
- 3Cs
- Planning poker
- User story splitting
- BDD
- User story writing
Delivery Practices
Estimation
❓What is it
- Agile estimation practices are typically used to plan sprints, which are short, time-boxed periods of work. Estimation may occur during validation and delivery phases of a delivery lifecycle. Some recommendations on this practice include:
- Choose an estimation approach that is aligned with the level of confidence and understanding of the scope of work in question - t-shirt sizing may be a better approach to use during earlier phases of an initiative, with associated lower levels of understanding and greater number of assumptions and unknowns.
- Key guidelines include breaking large items down so that they are easier to grasp and assess, use any historical data as an empirical reference to guide the activity, involve multiple developers knowledgeable in the type of work required, revisit estimates v. effort undertaken and identify aspects that can be improved for the future.
🔑 Key Benefits / Why is this important
- Improving the consistency of estimation can help teams to plan and manage their work capacity more effectively
- Ensures stakeholders and the team have a higher degree of confidence when making decisions
- Builds confidence within the team to better manage their capacity in future sprints
🛠 Techniques supporting this practice
- Planning poker
Delivery Practices
Incremental Delivery
❓What is it
- Incremental Development involves creating a product in small, successive steps, with each step building on the previous one and adding to the product's functionality.
- This approach allows teams to deliver value to stakeholders frequently and gather feedback early and often.
- Each increment should have a clear goal, e.g. sprint goal, attached to it, articulating the value outcome on release to the end user. Therefore each increment should deliver a workable solution that can be consumed by users in a production setting.
- An outcome based roadmap and associated release plan helps to visualise the sequence and impact of each increment, ensuring alignment with the team and stakeholders.
🔑 Key Benefits / Why is this important
- Frequent feedback from end users which provides early validation that the users’s needs are being met
- Reduced risk of effort expended on features that may not deliver
- Flexibility to quickly adapt to end user feedback or changes in their needs
- Increased speed to value. Value is only realised once the service enhancements or new features are in the hands on end users
🛠 Complementary techniques practices and frameworks
- CI/CD
- Scrum framework
- User story splitting
- User story mapping
Delivery Practices
CI/CD Continuous Integration / Continuous Deployment
❓What is it
- This practice represents a modern methodology in software development that focuses on shortening the development cycle, increasing the automation of testing and delivery, and ensuring software can be reliably released at any time.
- When we talk about CI/CD, we often refer to the CI/CD pipeline. This is the automated process through which code changes go, from the initial code commit through to the final deployment in production. A typical pipeline might look like this:
- Code Commit (to a version control system like Git).
- Automated Build and Unit Testing (Continuous Integration).
- Automated Integration Testing.
- Deployment to a Staging or Pre-Production Environment.
- Automated Acceptance Testing.
- Deployment to Production (Continuous Delivery or Continuous Deployment).
🔑 Key Benefits / Why is this important
- By integrating regularly, you can detect and address errors more quickly and reliably
- Increased frequency of releases
- Increased code quality
- Makes the process of releasing software more efficient and reduces the risk associated with the release.
🛠 Techniques supporting this practice
- Automated Testing (practice as well as a technique)
- Static Analysis
Delivery Practices
Source Control
❓What is it
- Source control, also known as version control or source code management (SCM), refers to the practice of tracking and managing changes to codebase over time. It allows multiple developers to work on a project simultaneously, helps in tracking changes, and provides mechanisms to merge changes and resolve conflicts. Source control is a foundational practice in modern software development.
- Attributes associated to this practice include:
- History & Accountability: Every change made to the codebase is tracked, providing an audit trail.
- Collaboration: Multiple developers can work on the same project without interfering with each other's work.
- Branching: Developers can create branches, enabling work on separate features or experiments
- Merging: Once work on a branch is complete, it can be merged back into the main codebase.
- Rollback: If a bug is discovered, developers can easily revert to a previous state of the code, ensuring stability.
- Backup & Security: Source control systems serve as a backup, storing all versions of the code.
- Distribution: Distributed version control systems, like Git, allow every developer to have a full copy of the entire codebase.
- Integration: Modern source control tools integrate well with other development tools
🔑 Key Benefits / Why is this important
- Covered above within attributes
🛠 Techniques supporting this practice
Delivery Practices
Automated Testing
❓What is it
- An automated test is written in code so a computer can execute it. It might test the validity of a single piece of one system, or of several systems working together. Automated tests are written using specialized tools that simulate program or user behaviour.
🔑 Key Benefits / Why is this important
- Unlike manual testing, automated tests can be run quickly and frequently, which is crucial for DevOps environments. In a CI/CD pipeline, code changes are automatically tested before they are merged with the main body of work or promoted to a live environment.
- As the codebase evolves, automated tests act as a safety net, allowing developers to verify that new code changes haven't broken existing functionality.
- Tests can be used to ensure consistent behaviour as well as to validate some non-functional requirements. Some testing tools can simulate thousands of users interacting with a system at once, stressing it to prove there is no performance degradation.
🛠 Techniques supporting this practice
- Unit Testing
- System Testing
- TDD
- Stress Testing
- Failover Testing
- Chaos Engineering
Delivery Practices
Release Management
❓What is it
- A core component of DevOps, release management is the process of controlling the deployment of software into its execution environments. Release management ensures that software changes are delivered to users in a reliable manner.
🔑 Key Benefits / Why is this important
- In most organisations there are multiple execution environments, including testing and live production. Release Management ensures that code is promoted through these environments in a controlled way. Example: Developer Test Internal QA External QA Live
- Release management requires:
- Version control system. Branches or tags are created to mark code that’s ready to be deployed. Semantic versioning is often used in this process.
- CI/CD pipelines automate code compilation, testing and feature toggling.
- Infrastructure as Code. This ensure the delivery environment is configured correctly to receive the code.
- Effective release management includes planning for failures. Automated rollback strategies allow for quick reversal of changes where failures are detected. One such strategy is blue/green deployment.
- Blue/green deployment uses two separate live environments (slots) where one is serving user traffic and the other is inactive and can accept new versions of the software. When new versions are made live, rolling back is as simple as swapping back to the old slot.
- Auditing capabilities, often built into release management tools, enable organizations to track who deployed what and when, aiding in both compliance and debugging.
🛠 Techniques supporting this practice
- Source Control
- CI/CD
- Automated testing
- DevOps
- Semantic Versioning
- Blue/Green deployment
- Auditing
Run Practices
Run Practices
Proactive monitoring
❓What is it
- The process of actively checking and monitoring systems, applications, and networks to detect and resolve potential issues before they affect users or escalate into larger problems. Instead of simply reacting to incidents after they occur (which is called reactive monitoring), proactive monitoring aims to predict and prevent problems.
- Key elements of proactive monitoring include: Threshold alerts, Trend Analysis, Log Monitoring, Health checks, Automated testing, Backup and disaster recovery tests, Capacity planning
🔑 Key Benefits / Why is this important
- The goal of proactive monitoring is to increase system uptime, improve user satisfaction, and reduce the time and costs associated with downtime and troubleshooting.
- By catching issues early or even before they happen, organizations can provide a smoother, more reliable service to their users.
🛠 Techniques supporting this practice
- Automated testing
Run Practices
Service Operations - ITIL Framework V4
❓What is it
- ITIL encompasses a number of practices for IT service management (ITSM) that aims to align IT services with the needs of the business. The Service Operations phase of ITIL ensures that IT systems are available, reliable, and performant to meet the needs of the business and its users. The main goal of Service Operation is to coordinate and carry out the activities and processes necessary to deliver and manage services at agreed levels to business users and customers.
- The ITIL framework also works seamlessly with DevOps, Lean, and Agile, and Axelos’ products such as PRINCE2® and AgileSHIFT®. It is the basis for the international standard ISO20000 and the workflows in many service management software platforms.
- The key processes covered within service operations are:
- Event Management, Incident Management, Problem Management, Request Fulfillment and Access Management
🔑 Key Benefits / Why is this important
- Improved Service Delivery: By focusing on value delivery, ITIL practices help organizations better serve their users.
- Reduced Costs: Efficient, standardized processes can lead to decreased costs.
- Better Risk Management: ITIL provides practices for identifying and managing risks.
- Continual Improvement: The framework emphasizes ongoing analysis and improvement of services and practices.
🛠 Techniques supporting this practice
- Logging and monitoring
Run Practices
Continuous Discovery
❓What is it
- Continuous discovery is an ongoing practice where teams consistently engage with end users to better understand their needs, challenges, and contexts. This approach ensures that teams are not just building things right, but they're building the right things. Continuous discovery is about maintaining a regular rhythm of customer interaction and learning, ensuring that product decisions are grounded in real-world insights.
- Rather than treating discovery as a phase that precedes development, continuous discovery integrates learning and feedback into the everyday workflow of product mindset teams throughout the lifecycle.
- A key prerequisite to establishing a good practice is maintaining a regular dialogue with end users. It is suggested a minimum cadence of a month should be used a starting benchmark.
- This interaction can take the form of interviews, usability testing, observations, surveys, and other methods to gather insights.
- Please see https://www.producttalk.org/category/continuous-discovery/ for associated material, blogs and resources.
🔑 Key Benefits / Why is this important
- Faster adaptation: With ongoing insights, teams can more quickly adapt to new information or market changes, keeping the product aligned with user needs.Increased Relevance:
- Reduced Risk: By continuously validating ideas and assumptions with real users, teams reduce the risk of building unwanted or ineffective features.
🛠 Techniques supporting this practice
- User interviews
- Observational study
- Data analysis
- Survey